dotnet / dotnet/fsharp

Include info about language version into compiled metadata

Open
#15,467 2 comments 0 reactions 0 assignees View on GitHub
Area-Compiler-CodeGen Feature Request
Dominant language
F#
Stars
4.3k
Forks
876
Avg merge
4d 11h
Merged PRs (30d)
131

Description

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".

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.