Skip to content

Remove always-on language-feature flags (stable since ≤ F# 8.0) #20139

Description

@T-Gro

The minimum --langversion the compiler accepts is 8.0 (anything lower is a hard error). Every LanguageFeature mapped to ≤ 8.0 is therefore permanently enabled and its on/off flag is dead configuration. This tracks removing those flags and collapsing the guarded code to its enabled behaviour, one feature per child issue.

Scope: 59 features. Features mapped to ≥ 9.0 are real toggles and are out of scope.

Tier Count
F# 4.7 4
F# 5.0 11
F# 6.0 13
F# 7.0 8
F# 8.0 23
Total 59

Each child PR removes a single feature flag; --disableLanguageFeature:<name> for a removed feature becomes an unrecognised-feature error.

Children

F# 4.7

F# 5.0

F# 6.0

F# 7.0

F# 8.0

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status
New

Relationships

None yet

Development

No branches or pull requests

Issue actions