Skip to content

Latest commit

 

History

History
12 lines (9 loc) · 1.91 KB

File metadata and controls

12 lines (9 loc) · 1.91 KB

Added

  • Warn (FS3884) when a function or delegate value is used as an interpolated string argument, since it will be formatted via ToString rather than being applied. (PR #19289)
  • Added MethodOverloadsCache language feature (preview) that caches overload resolution results for repeated method calls, significantly improving compilation performance. (PR #19072)
  • Added ErrorOnMissingSignatureAttribute preview language feature: makes FS3888 (compiler-semantic attribute on the .fs but not on the .fsi) an error instead of a warning. (Issue #19560, PR #19880)
  • Support common types of NotNullIfNotNullAttribute usage. If a method parameter is marked with NotNullIfNotNullAttribute, the compiler will now honor this attribute and mark the return type as non-null. (PR #19977)
  • Added AccessProtectedBaseFieldFromClosure preview language feature: a derived member can now read a protected base-class field from an ordinary closure (lambda, delegate, async/seq/lazy, function, or list/array literal), which previously failed with FS1097 even though direct access compiles. Object expressions remain unsupported — bind the field to a local function or expose it through a member. (Issue #5302)
  • Added ImprovedImpliedArgumentNamesPartTwo language feature: when a function with no recoverable parameter names is coerced to a delegate (e.g. a partial application like System.Func<int, int>((+) 1)), the synthesized Invoke parameters take their names from the delegate's own Invoke signature instead of synthetic delegateArg0, delegateArg1, … names. (PR #20001)

Fixed

Changed