Skip to content

Latest commit

 

History

History
47 lines (44 loc) · 6.3 KB

File metadata and controls

47 lines (44 loc) · 6.3 KB

Fixed

  • Fix missing TailCall warning in TOp.IntegerForLoop (PR #18399)
  • Fix classification of nameof in nameof<'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 generic T no longer requires not null constraint on T(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

  • 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 imply not 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)

Changed

  • FSharpCheckFileResults.ProjectContext.ProjectOptions will not be available when using the experimental Transparent Compiler feature. (PR #18205)
  • Update Obsolete attribute checking to account for DiagnosticId and UrlFormat properties. (PR #18224)
  • Remove Cancellable.UsingToken from tests (PR #18276)
  • Added nullability annotations to .Using builder method for async, task and compiler-internal builders (PR #18292)
  • Warn when unit is passed to an obj-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)

Breaking Changes

  • Struct unions with overlapping fields now generate mappings needed for reading via reflection (Issue #18121, PR #18274)