LanguageFeature.WarningWhenTailRecAttributeButNonTailRecUsage 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
WarningWhenTailRecAttributeButNonTailRecUsage case in LanguageFeatures.fs and LanguageFeatures.fsi
- Its entry in the
features map and its GetFeatureString arm
- The
featureChkNotTailRecursive string in FSComp.txt
- Every
SupportsFeature LanguageFeature.WarningWhenTailRecAttributeButNonTailRecUsage / checkLanguageFeatureAndRecover … WarningWhenTailRecAttributeButNonTailRecUsage guard — keep only the enabled path and delete the legacy branch
- Adjust affected tests and baselines accordingly
Consequence: --disableLanguageFeature:WarningWhenTailRecAttributeButNonTailRecUsage is no longer a recognised feature name.
Version mapping
|
LanguageFeature.WarningWhenTailRecAttributeButNonTailRecUsage, languageVersion80 |
Feature string
|
featureChkNotTailRecursive,"Raises warnings if a member or function has the 'TailCall' attribute, but is not being used in a tail recursive way." |
Part of #20139
LanguageFeature.WarningWhenTailRecAttributeButNonTailRecUsagehas 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
WarningWhenTailRecAttributeButNonTailRecUsagecase inLanguageFeatures.fsandLanguageFeatures.fsifeaturesmap and itsGetFeatureStringarmfeatureChkNotTailRecursivestring inFSComp.txtSupportsFeature LanguageFeature.WarningWhenTailRecAttributeButNonTailRecUsage/checkLanguageFeatureAndRecover … WarningWhenTailRecAttributeButNonTailRecUsageguard — keep only the enabled path and delete the legacy branchConsequence:
--disableLanguageFeature:WarningWhenTailRecAttributeButNonTailRecUsageis no longer a recognised feature name.Version mapping
fsharp/src/Compiler/Facilities/LanguageFeatures.fs
Line 216 in ea778bb
Feature string
fsharp/src/Compiler/FSComp.txt
Line 1609 in ea778bb
Part of #20139