- Fix attributes not resolved from opened namespaces in
namespace rec/module recscopes. (Issue #7931, PR #19502) - Fix DU case names matching IWSAM member names no longer cause duplicate property entries. (Issue #14321, PR #19341)
- Fix DefaultAugmentation(false) duplicate entry in method table. (Issue #16565, PR #19341)
- Fix abstract event accessors now have SpecialName flag. (Issue #5834, PR #19341)
- Fix CLIEvent properties to be correctly recognized as events:
IsEventreturnstrueandXmlDocSigusesE:prefix instead ofP:. (Issue #10273, PR #18584) - Fix extra sequence point at the end of match expressions. (Issue #12052, PR #19278)
- Fix wrong sequence point range for
return/yield/return!/yield!inside computation expressions. (Issue #19248, PR #19278) - Fix extra out-of-order sequence point for
useintaskcomputation expressions. (Issue #19255, PR #19278) - Fix debug points failing to bind in body of
[ for x in xs -> body ]comprehensions. (Issue #13504, PR #19278) - Fix outref parameter compiled as byref. (Issue #13468, PR #19340)
- Fix static abstract interface members with byref params. (Issue #18135, PR #19340)
- Fix codegen to produce IL passing ILVerify: specialized stelem/ldelem for primitives, callvirt→call on value types, castclass at interface join points, filter→catch inside finally handlers, witness field alignment in state machine structs. (PR #19372)
- Fix object expressions in struct types no longer generate invalid IL with byref fields. (Issue #19068, PR #19339)
- Avoid duplicate parameter names in closure constructors. (Issue #17692, PR #19339)
- Improve let-rec codegen: reorder bindings to allocate lambda closures before non-lambda values that reference them. (PR #19339)
- Fix
YieldFromFinal/ReturnFromFinalbeing incorrectly called in non-tail positions (for,use,use!,try/withhandler). (Issue #19402, PR #19403) - Fixed how the source ranges of warn directives are reported (as trivia) in the parser output (by not reporting leading spaces). (Issue #19405, PR #19408)
- Fix UoM value type
ToString()returning garbage values when--checknulls+is enabled, caused by double address-taking in codegen. (Issue #19435, PR #19440)
- Added warning FS3884 when a function or delegate value is used as an interpolated string argument. (PR #19289)
- Add
#version;;directive to F# Interactive to display version and environment information. (Issue #13307, PR #19332)