LanguageFeature.ExtendedFixedBindings has shipped since F# 8.0 and is enabled for every selectable language version (the minimum accepted --langversion is 8.0). Its feature flag can therefore never be turned off, so it is dead configuration. This issue removes the flag and collapses the guarded code to its enabled behaviour.
What to remove
- The
ExtendedFixedBindings case in LanguageFeatures.fs and LanguageFeatures.fsi
- Its entry in the
features map and its GetFeatureString arm
- The
featureExtendedFixedBindings string in FSComp.txt
- Every
SupportsFeature LanguageFeature.ExtendedFixedBindings / checkLanguageFeatureAndRecover … ExtendedFixedBindings guard — keep only the enabled path and delete the legacy branch
- Adjust affected tests and baselines accordingly
Consequence: --disableLanguageFeature:ExtendedFixedBindings is no longer a recognised feature name.
Version mapping
|
LanguageFeature.ExtendedFixedBindings, languageVersion80 |
Feature string
|
featureExtendedFixedBindings,"extended fixed bindings for byref and GetPinnableReference" |
Part of #20139
LanguageFeature.ExtendedFixedBindingshas shipped since F# 8.0 and is enabled for every selectable language version (the minimum accepted--langversionis 8.0). Its feature flag can therefore never be turned off, so it is dead configuration. This issue removes the flag and collapses the guarded code to its enabled behaviour.What to remove
ExtendedFixedBindingscase inLanguageFeatures.fsandLanguageFeatures.fsifeaturesmap and itsGetFeatureStringarmfeatureExtendedFixedBindingsstring inFSComp.txtSupportsFeature LanguageFeature.ExtendedFixedBindings/checkLanguageFeatureAndRecover … ExtendedFixedBindingsguard — keep only the enabled path and delete the legacy branchConsequence:
--disableLanguageFeature:ExtendedFixedBindingsis no longer a recognised feature name.Version mapping
fsharp/src/Compiler/Facilities/LanguageFeatures.fs
Line 220 in ea778bb
Feature string
fsharp/src/Compiler/FSComp.txt
Line 1611 in ea778bb
Part of #20139