Skip to content

Flatten always-on LanguageFeature.NameOf flag - #20377

Open
T-Gro wants to merge 2 commits into
mainfrom
fix/issue-20153
Open

Flatten always-on LanguageFeature.NameOf flag#20377
T-Gro wants to merge 2 commits into
mainfrom
fix/issue-20153

Conversation

@T-Gro

@T-Gro T-Gro commented Aug 26, 2026

Copy link
Copy Markdown
Member

Fixes #20153

The NameOf language feature has been enabled unconditionally since F# 5.0, so its flag was dead weight. Removed the flag and collapsed every SupportsFeature LanguageFeature.NameOf guard to its enabled path.

@T-Gro
T-Gro requested a review from a team as a code owner August 26, 2026 17:09
@T-Gro T-Gro added the NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes label Aug 26, 2026
@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

⚠️ Release notes required, but author opted out

Warning

Author opted out of release notes, check is disabled for this pull request.
cc @dotnet/fsharp-team-msft

@github-actions github-actions Bot added the AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed label Aug 26, 2026
Copilot and others added 2 commits August 27, 2026 09:36
The nameof operator (LanguageFeature.NameOf) shipped in F# 5.0 and is enabled for every accepted --langversion (min 8.0), so its feature flag is dead configuration. Simplify all enforcement-site checks to their enabled behavior and delete the helpers/members that thereby became constant. Retarget the disableLanguageFeature tests to StringInterpolation. The union case itself is removed in a later sprint.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Delete the LanguageFeature.NameOf union case, its features-map entry,
and its GetFeatureString arm. Remove the featureNameOf FSComp string and
re-word the FS3881 optsUnrecognizedLanguageFeature example (which named
NameOf) to reference StringInterpolation/NullnessChecking. Regenerate all
xlf files via UpdateXlf. The nameof operator implementation is unchanged;
only the dead feature flag (F# 5.0, min langversion 8.0) is removed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@T-Gro T-Gro added NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes and removed NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes labels Aug 27, 2026
@T-Gro
T-Gro enabled auto-merge (squash) August 27, 2026 09:15
@T-Gro
T-Gro requested a review from abonie August 27, 2026 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

Remove always-on language feature flag: NameOf

1 participant