Skip to content

Remove always-on DefaultInterfaceMemberConsumption language feature flag - #20442

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

Remove always-on DefaultInterfaceMemberConsumption language feature flag#20442
T-Gro wants to merge 2 commits into
mainfrom
fix/issue-20152

Conversation

@T-Gro

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

Copy link
Copy Markdown
Member

Fixes #20152

LanguageFeature.DefaultInterfaceMemberConsumption has been enabled for every selectable --langversion since F# 5.0, so the flag was dead configuration. The consumption gates now collapse to their enabled path, and the target-runtime check for default interface implementations (FS3351) is decoupled from the language-feature enum so the runtime diagnostic still fires.

Delete the dead LanguageFeature.DefaultInterfaceMemberConsumption enum case,
its features-map entry and GetFeatureString arm. Collapse every language-version
gate to its always-on path. Decouple the target-runtime DIM check from the enum
via InfoReader.IsRuntimeSupportForDefaultImplementationsOfInterfaces and a
checkRuntimeSupportForDefaultInterfaceMembersAndRecover helper; the FSComp string
is retained as the display name for the runtime FS3351 diagnostic.

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

github-actions Bot commented Sep 3, 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 3, 2026
@github-actions github-actions Bot added the AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed label Sep 3, 2026
…enerate xlf

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@T-Gro
T-Gro requested a review from abonie September 4, 2026 09:26
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: DefaultInterfaceMemberConsumption

1 participant