Remove always-on language feature flag: PackageManagement
- Dominant language
- F#
- Stars
- 4.3k
- Forks
- 876
- Avg merge
- 4d 11h
- Merged PRs (30d)
- 131
Description
`LanguageFeature.PackageManagement` has shipped since **F# 5.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 `PackageManagement` case in [`LanguageFeatures.fs`](https://github.com/dotnet/fsharp/blob/ea778bb414648883fca4219bf7a69286bf82dd6b/src/Compiler/Facilities/LanguageFeatures.fs) and [`LanguageFeatures.fsi`](https://github.com/dotnet/fsharp/blob/ea778bb414648883fca4219bf7a69286bf82dd6b/src/Compiler/Facilities/LanguageFeatures.fsi)
- Its entry in the `features` map and its `GetFeatureString` arm
- The `featurePackageManagement` string in [`FSComp.txt`](https://github.com/dotnet/fsharp/blob/ea778bb414648883fca4219bf7a69286bf82dd6b/src/Compiler/FSComp.txt)
- Every `SupportsFeature LanguageFeature.PackageManagement` / `checkLanguageFeatureAndRecover … PackageManagement` guard — keep only the enabled path and delete the legacy branch
- Adjust affected tests and baselines accordingly
Consequence: `--disableLanguageFeature:PackageManagement` is no longer a recognised feature name.
**Version mapping**
https://github.com/dotnet/fsharp/blob/ea778bb414648883fca4219bf7a69286bf82dd6b/src/Compiler/Facilities/LanguageFeatures.fs#L167
**Feature string**
https://github.com/dotnet/fsharp/blob/ea778bb414648883fca4219bf7a69286bf82dd6b/src/Compiler/FSComp.txt#L1574
Part of #20139
Contributor guide
Assessment
This issue has not been assessed yet.