Skip to content

Latest commit

 

History

History
33 lines (30 loc) · 5.97 KB

File metadata and controls

33 lines (30 loc) · 5.97 KB

Fixed

  • 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 warning 20 ("expression is implicitly ignored") pointing at the wrong range when the last expression in a sequential block (e.g. inside for, while loops) is non-unit. The squiggle now correctly highlights only the offending expression. (Issue #5735, PR #19504)
  • Fix missing "No implementation was given" error when F# class inherits from a C# class with abstract override members without providing an implementation. (Issue #7776, PR #19503)
  • Fix CLIEvent properties to be correctly recognized as events: IsEvent returns true and XmlDocSig uses E: prefix instead of P:. (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 use in task computation 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/ReturnFromFinal being incorrectly called in non-tail positions (for, use, use!, try/with handler). (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)
  • Fix completion inconsistently showing some obsolete members (fields and events) while hiding others (methods and properties). All obsolete members are now consistently hidden by default. (Issue #13512, PR #19506)
  • Fix TypeLoadException when creating delegate with voidptr parameter. (Issue #11132, PR #19338)
  • Suppress tail calls when localloc (NativePtr.stackalloc) is used. (Issue #13447, PR #19338)
  • Fix TypeLoadException in Release builds with inline constraints. (Issue #14492, PR #19338)
  • Fix nativeptr in interfaces leads to TypeLoadException. (Issue #14508, PR #19338)
  • Fix box instruction for literal upcasts. (Issue #18319, PR #19338)
  • Fix Decimal Literal causes InvalidProgramException in Debug builds. (Issue #18956, PR #19338)

Added

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