- Fix wrong range start of INTERP_STRING_END. (PR #16774, PR #16785)
- Fix missing warning for recursive calls in list comprehensions. (PR #16652)
- Code generated files with > 64K methods and generated symbols crash when loaded. Use infered sequence points for debugging. (Issue #16399, #PR 16514)
nameof Module
expressions and patterns are processed to link files in--test:GraphBasedChecking
. (PR #16550, PR #16743)- Graph Based Checking doesn't throw on invalid parsed input so it can be used for IDE scenarios (PR #16575, PR #16588, PR #16643)
- Various parenthesization API fixes. (PR #16578, PR #16666)
- Keep parens for problematic exprs (
if
,match
, etc.) in$"{(…):N0}"
,$"{(…),-3}"
, etc. (PR #16578) - Fix crash in DOTNET_SYSTEM_GLOBALIZATION_INVARIANT mode #PR 16471)
- Fix16572 - Fixed the preview feature enabling Is properties for union case did not work correctly with let .rec and .fsi files (PR #16657)
[<CliEvent>]
member should not produce property symbol. (Issue #16640, PR #16658)- Fix discriminated union initialization. (#PR 16661)
- Allow calling method with both Optional and ParamArray. (#PR 16688, suggestions #1120)
- Fix release inline optimization, which leads to MethodAccessException if used with `assembly:InternalsVisibleTo`` attribute. (Issue #16105, (PR #16737)
- Enforce AttributeTargets on let values and functions. (PR #16692)
- Enforce AttributeTargets on union case declarations. (PR #16764)
- Disallow using base to invoke an abstract base method. (Issue #13926, PR #16773)
- The stackguard depth for ILPdbWriter.unshadowScopes can be modified via the environment variable
FSHARP_ILPdb_UnshadowScopes_StackGuardDepth
(PR #16583) - Parser recovers on complex primary constructor patterns, better tree representation for primary constructor patterns. (PR #16425)
- Name resolution: keep type vars in subsequent checks (PR #16456)
- Higher-order-function-based API for working with the untyped abstract syntax tree. (PR #16462)
- Add switch to generate types and members with IL visibility that accurately represents their F# visibility. (PR #15484
- Allow returning bool instead of unit option for partial active patterns. (Language suggestion #1041, PR #16473)
- Symbols: Add GenericArguments to FSharpEntity (PR #16470)
- Autogenerated .Is* members for unions skipped for single-case unions. (PR 16571)
implicitCtorSynPats
inSynTypeDefnSimpleRepr.General
is nowSynPat option
instead ofSynSimplePats option
. (PR #16425)SyntaxVisitorBase<'T>.VisitSimplePats
now takesSynPat
instead ofSynSimplePat list
. (PR #16425)- Reduce allocations in compiler checking via
ValueOption
usage (PR #16323, PR #16567, PR #16822) - Reverted #16348
ThreadStatic
CancellationToken
changes to improve test stability and prevent potential unwanted cancellations. (PR #16536) - Refactored parenthesization API. ([PR #16461])(#16461))
- Optimize some interpolated strings by lowering to string concatenation. (PR #16556)
- Integral range optimizations. (PR #16650)