Uh oh!
There was an error while loading. Please reload this page.
Set the default F# language version to 11.0 - #20219
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The default language version bump to 11.0 turns on DirectDelegateConstruction, ErrorOnMissingSignatureAttribute (FS3888 warning->error) and ExceptionFieldSerializationSupport by default. Pin the tests that capture the pre-11 (feature-off) behavior to --langversion:10.0 so they keep exercising it; the 11.0 behavior is already covered by the existing preview/explicit twins. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…able-fsharp-11-default
|
…lt bump DirectDelegateConstruction (on by default at 11.0) collapses the delegate-from-static-method closures these baselines expect. The 11.0 form is covered by EmittedIL/DirectDelegates. The EventHandler case is WinForms-gated so it only surfaces on Windows CI. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Two net472/Desktop-only tests were masked off-Windows and only broke on the Windows CI legs after the default language version moved to 11.0: - neg12 (typecheck/sigs): AccessProtectedBaseFieldFromClosure is now on by default, so the protected-member-from-closure cases compile and three FS0491 baseline errors vanish. Pinned to 10.0; 11.0 behavior is covered by dedicated conformance tests. - core/attributes (FSC_OPTIMIZED + FSI): ErrorOnMissingSignatureAttribute turns FS3888 (attribute present on impl but not signature) from warning into error. The test deliberately exercises this sig/impl attribute difference. Pinned to 10.0; 11.0 behavior is covered by Conformance/Signatures/SignatureEnforcedAttributes. Adds a V10 case to the test LangVersion DU (ScriptHelpers.fs) and the two exhaustive match sites (ScriptHelpers baseArgs, FsharpSuiteMigrated adjustVersion). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 031e1fed-5836-4262-b22e-b0ebcd96c31b
Uh oh!
There was an error while loading. Please reload this page.
| let verifyCompilation compilation = | ||
| compilation | ||
| |> coreOptions | ||
| |> withLangVersion10 // default baseline captures the pre-11 closure IL; DirectDelegateConstruction (11.0) is covered by the preview twin |
There was a problem hiding this comment.
This comment is likely not going to age well.
@T-Gro Should we try to not add these comments after all? I think they distract more than they help, especially because we're getting more of them.
There was a problem hiding this comment.
The comment as well as the test can be removed once the feature is stabilized.
Until then, its good to have anything proving that:
- both variants (feature on/off) are tested
- what tests can be removed (rather then rewritten) when feature stabilizes
I do agree comments are not the optimal tool, maybe named function call would be better?
TLDR:
I would love to keep anything around that tells the future maintainers "this test has to be ported" vs "this test can be removed".
Bumps the default language version (
--langversion:default/latest/latestmajor) from 10.0 to 11.0, so the features stabilized into F# 11.0 in #20199 are now on by default with a .NET 11 SDK.FromEndSlicingintentionally stays inpreview.A handful of EmittedIL/signature tests that capture the pre-11 behavior are pinned to
--langversion:10.0so their existing baselines stay valid; the 11.0 behavior of those features is already covered by the existing preview twins.