- Fix missing TailCall warning in TOp.IntegerForLoop (PR #18399)
- Fix classification of
nameof
innameof<'T>
,match … with nameof ident -> …
. (Issue #10026, PR #18300) - Fix Realsig+ generates nested closures with incorrect Generic (Issue #17797, PR #17877)
- Fix optimizer internal error for records with static fields (Issue #18165, PR #18280)
- Fix nullness warning with flexible types (Issue #18056, PR #18266)
- Allow first branches of match and if expressions to return nullable results (Issue #18015, PR #18322)
- Fix internal error when missing measure attribute in an unsolved measure typar. (Issue #7491, PR #18234==
- Set
Cancellable.token
from async computation (Issue #18235, PR #18238) - Fix missing nullness warning when static upcast dropped nullness (Issue #18232, PR #18261)
- Cancellable: only cancel on OCE with own token (PR #18277)
- Cancellable: set token in more places (PR #18283)
- Cancellable: fix leaking cancellation token (PR #18295)
- Fix NRE when accessing nullable fields of types within their equals/hash/compare methods (PR #18296)
- Fix nullness warning for overrides of generic code with nullable type instance (Issue #17988, PR #18337)
- Unsafe downcast from
obj
to genericT
no longer requiresnot null
constraint onT
(Issue #18275, PR #18343) - Fix "type inference problem too complicated" for SRTP with T:null and T:struct dummy constraint(Issue #18288, PR #18345)
- Fix for missing parse diagnostics in TransparentCompiler.ParseAndCheckProject (PR #18366)
- Miscellanous parentheses analyzer fixes. (PR #18350)
- Fix duplicate parse error reporting for GetBackgroundCheckResultsForFileInProject (Issue #18379 PR #18380)
- Fix MethodDefNotFound when compiling code invoking delegate with option parameter (Issue #5171, PR #18385)
- Fix #r nuget ..." downloads unneeded packages (Issue #18231, PR #18393)
- Reenable β-reduction and subsequent reoptimization of immediately-invoked F#-defined generic delegates. (PR #18401)
- Added missing type constraints in FCS. (PR #18241)
- The 'use' keyword can be used on IDisposable|null without nullness warnings (PR #18262)
- Add support for C#
Experimental
attribute. (PR #18253) - Nullness warnings are issued for signature<>implementation conformance (PR #18186)
- Symbols: Add FSharpAssembly.IsFSharp (PR #18290)
- Type parameter constraint
null
in generic code will now automatically implynot struct
(Issue #18320, PR #18323) - Add a switch to determine whether to generate a default implementation body for overridden method when completing. PR #18341
- Use a more accurate range for CE Combine methods. PR #18394
- Scoped Nowarn: added the #warnon compiler directive (Language suggestion #278, RFC FS-1146 PR, PR #18049)
- FSharpCheckFileResults.ProjectContext.ProjectOptions will not be available when using the experimental Transparent Compiler feature. (PR #18205)
- Update
Obsolete
attribute checking to account forDiagnosticId
andUrlFormat
properties. (PR #18224) - Remove
Cancellable.UsingToken
from tests (PR #18276) - Added nullability annotations to
.Using
builder method forasync
,task
and compiler-internal builders (PR #18292) - Warn when
unit
is passed to anobj
-typed argument (PR #18330) - Warning for "useless null handling" works with piped syntax constructs now (PR #18331)
- Make indent in generated overridden member code depend on the context, not fix to 4. (PR #18341)
- Adjust caller info attribute error message range (PR #18388)
- Struct unions with overlapping fields now generate mappings needed for reading via reflection (Issue #18121, PR #18274)