Skip to content

Remove the ArithmeticInLiterals language feature flag - #20430

Merged
T-Gro merged 2 commits into
mainfrom
fix/issue-20176
Sep 4, 2026
Merged

T-Gro merged 2 commits into
mainfrom
fix/issue-20176

Conversation

@T-Gro

@T-Gro T-Gro commented Sep 2, 2026

Copy link
Copy Markdown
Member

Fixes #20176

ArithmeticInLiterals has been on for every accepted --langversion since F# 8.0, so its flag could never be turned off. Removed the dead feature and collapsed the guarded literal/enum/attribute evaluation to its enabled path. --disableLanguageFeature:ArithmeticInLiterals is no longer a recognised feature name.

Part of #20139

Copilot and others added 2 commits September 2, 2026 14:07
Remove the always-true suppressLangFeatureCheck threading and checkFeature helper from EvalAttribArgExpr, and delete the now-unused SuppressLanguageFeatureCheck type.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The feature shipped in F# 8.0 and the minimum selectable --langversion is now
8.0, so the flag is permanently enabled dead configuration (#20176).
Delete the LanguageFeature DU case, its features-map entry and GetFeatureString
arm, the featureArithmeticInLiterals resource string, and regenerate the xlf
translation files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Sep 2, 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

@T-Gro T-Gro added the NO_RELEASE_NOTES Label for pull requests which signals, that user opted-out of providing release notes label Sep 2, 2026
@github-actions github-actions Bot added the AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed label Sep 2, 2026
@T-Gro
T-Gro enabled auto-merge (squash) September 3, 2026 12:58
@T-Gro
T-Gro requested a review from abonie September 3, 2026 12:58
@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 Sep 3, 2026
@github-project-automation github-project-automation Bot moved this from New to In Progress in F# Compiler and Tooling Sep 4, 2026
@T-Gro
T-Gro merged commit df0e609 into main Sep 4, 2026
60 of 62 checks passed
bartelink pushed a commit to bartelink/fsharp that referenced this pull request Oct 7, 2026
* Collapse ArithmeticInLiterals enforcement site

Remove the always-true suppressLangFeatureCheck threading and checkFeature helper from EvalAttribArgExpr, and delete the now-unused SuppressLanguageFeatureCheck type.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove the ArithmeticInLiterals language feature flag and its resources

The feature shipped in F# 8.0 and the minimum selectable --langversion is now
8.0, so the flag is permanently enabled dead configuration (dotnet#20176).
Delete the LanguageFeature DU case, its features-map entry and GetFeatureString
arm, the featureArithmeticInLiterals resource string, and regenerate the xlf
translation files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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

Archived in project

Development

Successfully merging this pull request may close these issues.

Remove always-on language feature flag: ArithmeticInLiterals

2 participants