fsharp icon indicating copy to clipboard operation
fsharp copied to clipboard

Include info about language version into compiled metadata

Open T-Gro opened this issue 2 years ago • 1 comments

When an older compiler encounters a .dll built with a newer one, it can happen that newly added language constructs (not understood by the old compiler) are represented in binary-pickle-format in a way the old compiler cannot understand.

As of now, this throws a very generic message, not really giving a sensible action to the user. (the most often applicable one would be "Upgrade your tooling", but the message does not say that).

If each .dll would contain info about the language version used to build it, the error message could be more specific in what's needed in order to make it work.

We should also keep in mind that not every user is capable of updating to latest released versions immediately (e.g. in banking the approval chains take a long time), therefore saying "Tooling must support F#7 or higher" is easier to action then a generic "Update to latest".

T-Gro avatar Jun 21 '23 21:06 T-Gro

The language version info should come from enabled features that impact the pickled data format

abonie avatar Aug 26 '24 17:08 abonie