You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bottom line is that FParsec is not up-to-date with the more recent versions of FSharp.Core and a bug related to FSharpFunc lead to the latter raising MissingMethodException, even when the method is actually available. Using bindingRedirect does not solve the issue.
If your project uses FSharp.Core 4.3.4 or later you can run into this issue, however it doesn't always throw. It is difficult to create a minimal repro, but the resolution is simple: compile FParsec against a newer version of FSharp.Core and it works.
I propose that new binaries be created for the NuGet downloads and that the project be updated to use a new(er) version of FSharp.Core from NuGet, as this will solve this hard to trace error. It wouldn't be a bad thing to do since the last version is from 2017.
The actual error I see is the following, but the actual error one sees can be of a different generic instantiation:
----> System.MissingMethodException : Method not found: 'Microsoft.FSharp.Core.FSharpFunc`2<FParsec.CharStream`1<!!1>,FParsec.Reply`1<!!0>> FParsec.Primitives.op_DotGreaterGreater(Microsoft.FSharp.Core.FSharpFunc`2<FParsec.CharStream`1<!!1>,FParsec.Reply`1<!!0>>, Microsoft.FSharp.Core.FSharpFunc`2<FParsec.CharStream`1<!!1>,FParsec.Reply`1<!!2>>)'.
The text was updated successfully, but these errors were encountered:
I've pushed a release candidate package for version 1.1.0. Could you maybe try it out and see if you still run into this issue? (I'm open to increasing the version of the FSharp.Core dependency if the issue persists.)
This has been reported here on StackOverflow, and here for F#.
Bottom line is that FParsec is not up-to-date with the more recent versions of FSharp.Core and a bug related to
FSharpFunc
lead to the latter raisingMissingMethodException
, even when the method is actually available. UsingbindingRedirect
does not solve the issue.If your project uses FSharp.Core 4.3.4 or later you can run into this issue, however it doesn't always throw. It is difficult to create a minimal repro, but the resolution is simple: compile FParsec against a newer version of FSharp.Core and it works.
I propose that new binaries be created for the NuGet downloads and that the project be updated to use a new(er) version of FSharp.Core from NuGet, as this will solve this hard to trace error. It wouldn't be a bad thing to do since the last version is from 2017.
The actual error I see is the following, but the actual error one sees can be of a different generic instantiation:
The text was updated successfully, but these errors were encountered: