Skip to content

Bump FCS to Rotate [<return: X>] attributes during binding normalization- #20356 - #3436

Merged
nojaf merged 3 commits into
fsprojects:mainfrom
nojaf:bump-fcs
Aug 27, 2026
Merged

Bump FCS to Rotate [<return: X>] attributes during binding normalization- #20356#3436
nojaf merged 3 commits into
fsprojects:mainfrom
nojaf:bump-fcs

Conversation

@nojaf

@nojaf nojaf commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

nojaf added 3 commits August 27, 2026 17:53
…e2', commit 4507f94a47b615329ba5ebd6afab5846ae3d898e

This also takes in 'Extension members solve SRTP constraints (continuation)',
commit 7727673ea13f0e09aa46abf6093da050cd16bc3a (dotnet/fsharp#19602), which
changed the name of a `SynComponentInfo` from a `LongIdent` to a `SynType option`
so that extension members can be declared on tuple types:

    type (int * int) with
        member this.Sum = fst this + snd this

    type struct (int * int) with
        member this.Sum = fst this + snd this

`TypeNameNode.Identifier` is now a `Type` rather than an `IdentListNode`, built
through `mkType`, so an ordinary name becomes `Type.LongIdent` and the tuple
forms become `Type.Paren(Type.Tuple ...)` and `Type.StructTuple`. The printer
uses `genType` for it, so the tuple prints as written and no layout decision
was added. A nested module keeps an `IdentListNode` for its name, through
`mkModuleName`, since a module name can only be an identifier. The parser only
leaves the name out while recovering from a parse error, which never reaches
the transformation, so that case is an invariant violation.

The RelaxWhitespace2 commit (dotnet/fsharp#20320) only removes a dead feature
flag from LexFilter and needed no change.
@nojaf
nojaf merged commit 5f882f7 into fsprojects:main Aug 27, 2026
6 checks passed
@nojaf
nojaf deleted the bump-fcs branch August 28, 2026 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant