Skip to content

Latest commit

 

History

History
60 lines (52 loc) · 7.45 KB

File metadata and controls

60 lines (52 loc) · 7.45 KB

Fixed

  • Fix wrong TailCall warning (Issue #17604, PR #17637)
  • Compiler hangs when compiling inline recursive invocation (Issue #17376, PR #17394)
  • Fix reporting IsFromComputationExpression only for CE builder type constructors and let bindings. (PR #17375)
  • Optimize simple mappings in comprehensions when the body of the mapping has let-bindings and/or sequential expressions before a single yield. (PR #17419)
  • C# protected property can be assigned in F# inherit constructor call. (Issue #13299, PR #17391)
  • MethodAccessException on equality comparison of a record with private fields. (Issue #17447, PR #17391)
  • Fix function implicit conversion. (Issue #7401, PR #17487)
  • Compiler fails to recognise namespace in FQN with enabled GraphBasedChecking. (Issue #17508, PR #17510)
  • Fix missing message for type error (FS0001). (Issue #17373, PR #17516)
  • Nullness export - make sure option<> and other UseNullAsTrueValue types are properly annotated as nullable for C# and reflection consumers PR #17528
  • MethodAccessException on equality comparison of a type private to module. (Issue #17541, PR #17548)
  • Fixed checking failure when global namespace is involved with enabled GraphBasedChecking (PR #17553)
  • Add missing byte chars notations, enforce limits in decimal notation in byte char & string (Issues #15867, #15868, #15869, PR #15898)
  • Parentheses analysis: keep extra parentheses around unit & tuples in method definitions. (PR #17618)
  • Fix IsUnionCaseTester throwing for non-methods/properties #17301
  • Fix xmlc doc tooltip display for nullable types #17741
  • Consider open type used when the type is an enum and any of the enum cases is used unqualified. (PR #17628)
  • Guard for possible StackOverflowException when typechecking non recursive modules and namespaces (PR #17654)
  • Nullable - fix for processing System.Nullable types with nesting (PR #17736)
  • Fixes for the optimization of simple mappings in array and list comprehensions. (Issue #17708, PR #17711)

Added

Changed

  • Change compiler default setting realsig+ when building assemblies (Issue #17384, PR #17378)
  • Change compiler default setting for compressedMetadata (Issue #17379, PR #17383)
  • Treat { new Foo() } as SynExpr.ObjExpr (PR #17388)
  • Optimize metadata reading for type members and custom attributes. (PR #17364)
  • Enforce AttributeTargets on unions. (PR #17389)
  • Applied nullable reference types to FSharp.Compiler.Service itself (PR #15310)
  • Ensure that isinteractive multi-emit backing fields are not public. (Issue #17439), (PR #17439)
  • Better error reporting for unions with duplicated fields. (PR #17521)
  • Better CE error reporting when using use! with and! (PR #17671)
  • Better error reporting for let bindings. (PR #17601)
  • Optimize ILTypeDef interface impls reading from metadata. (PR #17382)
  • Make ILTypeDef interface impls calculation lazy. (PR #17392)
  • Better error reporting for active patterns. (PR #17666)
  • Multiple fsi sessions use separate temporary directories (PR #17760)

Breaking Changes