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
The minimum
--langversionthe compiler accepts is 8.0 (anything lower is a hard error). EveryLanguageFeaturemapped 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.
Each child PR removes a single feature flag;
--disableLanguageFeature:<name>for a removed feature becomes an unrecognised-feature error.Children
F# 4.7
ImplicitYieldRelaxWhitespaceSingleUnderscorePatternWildCardInForLoopF# 5.0
AndBangDefaultInterfaceMemberConsumptionDotlessFloat32LiteralFixedIndexSlice3d4dInterfacesWithMultipleGenericInstantiationNameOfNullableOptionalInteropOpenTypeDeclarationPackageManagementStringInterpolationWitnessPassingF# 6.0
AdditionalTypeDirectedConversionsAttributesToRightOfModuleKeywordDelegateTypeNameResolutionFixExpandedMeasurablesIndexerNotationWithoutDotNonVariablePatternsToRightOfAsPatternsOverloadsForCustomOperationsPrintfBinaryFormatRefCellNotationInformationalsRelaxWhitespace2ResumableStateMachinesStructActivePatternUseBindingValueDiscardF# 7.0
BetterExceptionPrintingErrorOnDeprecatedRequireQualifiedAccessInitPropertiesSupportInterfacesWithAbstractStaticMembersLowercaseDUWhenRequireQualifiedAccessReallyLongListsRequiredPropertiesSupportSelfTypeConstraintsF# 8.0
AccessorFunctionShorthandArithmeticInLiteralsCSharpExtensionAttributeNotRequiredConstraintIntersectionOnFlexibleTypesDiagnosticForObjInferenceErrorForNonVirtualMembersOverridesErrorReportingOnStaticClassesEscapeDotnetFormattableStringsExtendedFixedBindingsExtendedStringInterpolationImprovedImpliedArgumentNamesMatchNotAllowedForUnionCaseWithNoDataNestedCopyAndUpdateNonInlineLiteralsAsPrintfFormatPreferStringGetPinnableReferenceStaticLetInRecordsDusEmptyTypesStaticMembersInInterfacesTryWithInSeqExpressionWarningWhenCopyAndUpdateRecordChangesAllFieldsWarningWhenInliningMethodImplNoInlineMarkedFunctionWarningWhenMultipleRecdTypeChoiceWarningWhenTailRecAttributeButNonTailRecUsageWhileBang