Skip to content

Commit f5f7f0f

Browse files
authored
Enable 4.7 by default (#7204)
* Enable 4.7 by default * Label format
1 parent 742449a commit f5f7f0f

File tree

8 files changed

+60
-55
lines changed

8 files changed

+60
-55
lines changed

src/fsharp/LanguageFeatures.fs

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,40 +19,42 @@ open System
1919
/// LanguageFeature enumeration
2020
[<RequireQualifiedAccess>]
2121
type LanguageFeature =
22-
| LanguageVersion46 = 0
23-
| LanguageVersion47 = 1
24-
| SingleUnderscorePattern = 2
25-
| WildCardInForLoop = 3
26-
| RelaxWhitespace = 4
27-
| NameOf = 5
28-
| ImplicitYield = 6
29-
| OpenStaticClasses = 7
22+
| PreviewVersion = 0
23+
| LanguageVersion46 = 1
24+
| LanguageVersion47 = 2
25+
| SingleUnderscorePattern = 3
26+
| WildCardInForLoop = 4
27+
| RelaxWhitespace = 5
28+
| NameOf = 6
29+
| ImplicitYield = 7
30+
| OpenStaticClasses = 8
31+
3032

3133
/// LanguageVersion management
3234
type LanguageVersion (specifiedVersion) =
3335

3436
// When we increment language versions here preview is higher than current RTM version
3537
static let languageVersion46 = 4.6m
3638
static let languageVersion47 = 4.7m
37-
38-
static let previewVersion = languageVersion47 // Language version when preview specified
39-
static let defaultVersion = languageVersion46 // Language version when default specified
39+
static let previewVersion = 9999m // Language version when preview specified
40+
static let defaultVersion = languageVersion47 // Language version when default specified
4041
static let latestVersion = defaultVersion // Language version when latest specified
4142
static let latestMajorVersion = languageVersion46 // Language version when latestmajor specified
4243

4344
static let validOptions = [| "preview"; "default"; "latest"; "latestmajor" |]
44-
static let languageVersions = set [| latestVersion |]
45+
static let languageVersions = set [| languageVersion46; languageVersion47 |]
4546

4647
static let features = dict [|
4748
// Add new LanguageVersions here ...
48-
LanguageFeature.LanguageVersion47, 4.7m
49-
LanguageFeature.LanguageVersion46, 4.6m
50-
LanguageFeature.SingleUnderscorePattern, previewVersion
51-
LanguageFeature.WildCardInForLoop, previewVersion
52-
LanguageFeature.RelaxWhitespace, previewVersion
53-
LanguageFeature.NameOf, previewVersion
54-
LanguageFeature.ImplicitYield, previewVersion
55-
LanguageFeature.OpenStaticClasses, previewVersion
49+
LanguageFeature.LanguageVersion46, languageVersion46
50+
LanguageFeature.LanguageVersion47, languageVersion47
51+
LanguageFeature.PreviewVersion, previewVersion
52+
LanguageFeature.SingleUnderscorePattern, languageVersion47
53+
LanguageFeature.WildCardInForLoop, languageVersion47
54+
LanguageFeature.RelaxWhitespace, languageVersion47
55+
LanguageFeature.NameOf, languageVersion47
56+
LanguageFeature.ImplicitYield, languageVersion47
57+
LanguageFeature.OpenStaticClasses, languageVersion47
5658
|]
5759

5860
let specified =
@@ -88,7 +90,6 @@ type LanguageVersion (specifiedVersion) =
8890
/// Get a list of valid versions for help text
8991
member __.ValidVersions = [|
9092
for v in languageVersions |> Seq.sort do
91-
let label = if v = defaultVersion || v = latestVersion then "(Default)" else ""
92-
yield sprintf "%M %s" v label
93+
let label = if v = defaultVersion then " (Default)" else ""
94+
yield sprintf "%M%s" v label
9395
|]
94-

src/fsharp/LanguageFeatures.fsi

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@ module internal FSharp.Compiler.Features
66
/// LanguageFeature enumeration
77
[<RequireQualifiedAccess>]
88
type LanguageFeature =
9-
| LanguageVersion46 = 0
10-
| LanguageVersion47 = 1
11-
| SingleUnderscorePattern = 2
12-
| WildCardInForLoop = 3
13-
| RelaxWhitespace = 4
14-
| NameOf = 5
15-
| ImplicitYield = 6
16-
| OpenStaticClasses = 7
9+
| PreviewVersion = 0
10+
| LanguageVersion46 = 1
11+
| LanguageVersion47 = 2
12+
| SingleUnderscorePattern = 3
13+
| WildCardInForLoop = 4
14+
| RelaxWhitespace = 5
15+
| NameOf = 6
16+
| ImplicitYield = 7
17+
| OpenStaticClasses = 8
18+
1719

1820
/// LanguageVersion management
1921
type LanguageVersion =

tests/fsharp/tests.fs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1824,25 +1824,25 @@ module VersionTests =
18241824
let ``member-selfidentifier-version4.6``() = singleTestBuildAndRunVersion "core/members/self-identifier/version46" FSC_BUILDONLY "4.6"
18251825

18261826
[<Test>]
1827-
let ``member-selfidentifier-version4.7``() = singleTestBuildAndRunVersion "core/members/self-identifier/version47" FSC_BUILDONLY "preview"
1827+
let ``member-selfidentifier-version4.7``() = singleTestBuildAndRun "core/members/self-identifier/version47" FSC_BUILDONLY
18281828

18291829
[<Test>]
18301830
let ``indent-version4.6``() = singleTestBuildAndRunVersion "core/indent/version46" FSC_BUILDONLY "4.6"
18311831

18321832
[<Test>]
1833-
let ``indent-version4.7``() = singleTestBuildAndRunVersion "core/indent/version47" FSC_BUILDONLY "preview"
1833+
let ``indent-version4.7``() = singleTestBuildAndRun "core/indent/version47" FSC_BUILDONLY
18341834

18351835
[<Test>]
18361836
let ``nameof-version4.6``() = singleTestBuildAndRunVersion "core/nameof/version46" FSC_BUILDONLY "4.6"
18371837

18381838
[<Test>]
1839-
let ``nameof-version4.7``() = singleTestBuildAndRunVersion "core/nameof/version47" FSC_BUILDONLY "preview"
1839+
let ``nameof-version4.7``() = singleTestBuildAndRun "core/nameof/version47" FSC_BUILDONLY
18401840

18411841
[<Test>]
1842-
let ``nameof-execute``() = singleTestBuildAndRunVersion "core/nameof/version47" FSC_BASIC "preview"
1842+
let ``nameof-execute``() = singleTestBuildAndRun "core/nameof/version47" FSC_BASIC
18431843

18441844
[<Test>]
1845-
let ``nameof-fsi``() = singleTestBuildAndRunVersion "core/nameof/version47" FSI_BASIC "preview"
1845+
let ``nameof-fsi``() = singleTestBuildAndRun "core/nameof/version47" FSI_BASIC
18461846

18471847
#if !FSHARP_SUITE_DRIVES_CORECLR_TESTS
18481848
module ToolsTests =

tests/fsharpqa/Source/CompilerOptions/fsc/langversion/langversionhelp.437.1033.bsl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ preview
33
default
44
latest
55
latestmajor
6-
4.6 (Default)
6+
4.6
7+
4.7 (Default)

tests/fsharpqa/Source/CompilerOptions/fsi/langversion/langversionhelp.437.1033.bsl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ preview
33
default
44
latest
55
latestmajor
6-
4.6 (Default)
6+
4.6
7+
4.7 (Default)
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
SOURCE=E_NameOfIntConst.fs SCFLAGS="--langversion:preview" # E_NameOfIntConst.fs
2-
SOURCE=E_NameOfStringConst.fs SCFLAGS="--langversion:preview" # E_NameOfStringConst.fs
3-
SOURCE=E_NameOfAppliedFunction.fs SCFLAGS="--langversion:preview" # E_NameOfAppliedFunction.fs
4-
SOURCE=E_NameOfIntegerAppliedFunction.fs SCFLAGS="--langversion:preview" # E_NameOfIntegerAppliedFunction.fs
5-
SOURCE=E_NameOfPartiallyAppliedFunction.fs SCFLAGS="--langversion:preview" # E_NameOfPartiallyAppliedFunction.fs
6-
SOURCE=E_NameOfDictLookup.fs SCFLAGS="--langversion:preview" # E_NameOfDictLookup.fs
7-
SOURCE=E_NameOfAdditionExpr.fs SCFLAGS="--langversion:preview" # E_NameOfAdditionExpr.fs
8-
SOURCE=E_NameOfParameterAppliedFunction.fs SCFLAGS="--langversion:preview" # E_NameOfParameterAppliedFunction.fs
9-
SOURCE=E_NameOfAsAFunction.fs SCFLAGS="--langversion:preview" # E_NameOfAsAFunction.fs
10-
SOURCE=E_NameOfWithPipe.fs SCFLAGS="--langversion:preview" # E_NameOfWithPipe.fs
11-
SOURCE=E_NameOfUnresolvableName.fs SCFLAGS="--langversion:preview" # E_NameOfUnresolvableName.fs
1+
SOURCE=E_NameOfIntConst.fs # E_NameOfIntConst.fs
2+
SOURCE=E_NameOfStringConst.fs # E_NameOfStringConst.fs
3+
SOURCE=E_NameOfAppliedFunction.fs # E_NameOfAppliedFunction.fs
4+
SOURCE=E_NameOfIntegerAppliedFunction.fs # E_NameOfIntegerAppliedFunction.fs
5+
SOURCE=E_NameOfPartiallyAppliedFunction.fs # E_NameOfPartiallyAppliedFunction.fs
6+
SOURCE=E_NameOfDictLookup.fs # E_NameOfDictLookup.fs
7+
SOURCE=E_NameOfAdditionExpr.fs # E_NameOfAdditionExpr.fs
8+
SOURCE=E_NameOfParameterAppliedFunction.fs # E_NameOfParameterAppliedFunction.fs
9+
SOURCE=E_NameOfAsAFunction.fs # E_NameOfAsAFunction.fs
10+
SOURCE=E_NameOfWithPipe.fs # E_NameOfWithPipe.fs
11+
SOURCE=E_NameOfUnresolvableName.fs # E_NameOfUnresolvableName.fs

tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/env.lst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
SOURCE=version46/W_IfThenElse01.fs SCFLAGS="--langversion:4.6 --test:ErrorRanges" # version46 W_IfThenElse01.fs
22
SOURCE=version46/W_IfThenElse02.fs SCFLAGS="--langversion:4.6 --test:ErrorRanges" # version46 W_IfThenElse02.fs
33
SOURCE=version46/W_IfThenElse03.fs SCFLAGS="--langversion:4.6 --test:ErrorRanges" # version46 W_IfThenElse03.fs
4-
SOURCE=version47/W_IfThenElse01.fs SCFLAGS="--langversion:preview --test:ErrorRanges" # version47 W_IfThenElse01.fs
5-
SOURCE=version47/W_IfThenElse02.fs SCFLAGS="--langversion:preview --test:ErrorRanges" # version47 W_IfThenElse02.fs
6-
SOURCE=version47/W_IfThenElse03.fs SCFLAGS="--langversion:preview --test:ErrorRanges" # version47 W_IfThenElse03.fs
4+
SOURCE=version47/W_IfThenElse01.fs SCFLAGS="--test:ErrorRanges" # W_IfThenElse01.fs
5+
SOURCE=version47/W_IfThenElse02.fs SCFLAGS="--test:ErrorRanges" # W_IfThenElse02.fs
6+
SOURCE=version47/W_IfThenElse03.fs SCFLAGS="--test:ErrorRanges" # W_IfThenElse03.fs
77

88
SOURCE=IfThenElse04.fs SCFLAGS="--test:ErrorRanges --warnaserror" # IfThenElse04.fs
99
SOURCE=IfThenElse05.fs SCFLAGS="--test:ErrorRanges --warnaserror" # IfThenElse05.fs

tests/fsharpqa/Source/Warnings/env.lst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,9 @@
8080
SOURCE=version46/WarnIfDiscardedInList.fs SCFLAGS="--langversion:4.6" #version46/WarnIfDiscardedInList
8181
SOURCE=version46/WarnIfDiscardedInList2.fs SCFLAGS="--langversion:4.6" #version46/WarnIfDiscardedInList2
8282
SOURCE=version46/WarnIfDiscardedInList3.fs SCFLAGS="--langversion:4.6" #version46/WarnIfDiscardedInList3
83-
SOURCE=version47/WarnIfDiscardedInList.fs SCFLAGS="--langversion:preview" #version47/WarnIfDiscardedInList
84-
SOURCE=version47/WarnIfDiscardedInList2.fs SCFLAGS="--langversion:preview" #version47/WarnIfDiscardedInList2
85-
SOURCE=version47/WarnIfDiscardedInList3.fs SCFLAGS="--langversion:preview" #version47/WarnIfDiscardedInList3
83+
SOURCE=version47/WarnIfDiscardedInList.fs #version47/WarnIfDiscardedInList
84+
SOURCE=version47/WarnIfDiscardedInList2.fs #version47/WarnIfDiscardedInList2
85+
SOURCE=version47/WarnIfDiscardedInList3.fs #version47/WarnIfDiscardedInList3
8686
SOURCE=WarnOnlyOnLastExpression.fs
8787
SOURCE=WarnIfPossiblePropertySetter.fs
8888
SOURCE=DoCannotHaveVisibilityDeclarations.fs

0 commit comments

Comments
 (0)