diff --git a/src/fsharp/FSharp.Core/prim-types.fsi b/src/fsharp/FSharp.Core/prim-types.fsi
index 398fbd0a0f..f90b080cd7 100644
--- a/src/fsharp/FSharp.Core/prim-types.fsi
+++ b/src/fsharp/FSharp.Core/prim-types.fsi
@@ -1328,97 +1328,78 @@ namespace Microsoft.FSharp.Core
/// A compiler intrinsic that implements dynamic invocations to the '-' operator.
[]
- []
val SubtractionDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations to the '/' operator.
[]
- []
val DivisionDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations to the unary '-' operator.
[]
- []
val UnaryNegationDynamic : value:'T -> 'U
/// A compiler intrinsic that implements dynamic invocations to the '%' operator.
[]
- []
val ModulusDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations to the checked '-' operator.
[]
- []
val CheckedSubtractionDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations to the checked unary '-' operator.
[]
- []
val CheckedUnaryNegationDynamic : value:'T -> 'U
/// A compiler intrinsic that implements dynamic invocations to the '<<<' operator.
[]
- []
val LeftShiftDynamic : value:'T1 -> shift:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations to the '>>>' operator.
[]
- []
val RightShiftDynamic : value:'T1 -> shift:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations to the '&&&' operator.
[]
- []
val BitwiseAndDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations to the '|||' operator.
[]
- []
val BitwiseOrDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations related to the '^^^' operator.
[]
- []
val ExclusiveOrDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations related to the '~~~' operator.
[]
- []
val LogicalNotDynamic : value:'T -> 'U
/// A compiler intrinsic that implements dynamic invocations related to conversion operators.
[]
- []
val ExplicitDynamic : value:'T -> 'U
/// A compiler intrinsic that implements dynamic invocations related to the '<' operator.
[]
- []
val LessThanDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations related to the '>' operator.
[]
- []
val GreaterThanDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations related to the '<=' operator.
[]
- []
val LessThanOrEqualDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations related to the '>=' operator.
[]
- []
val GreaterThanOrEqualDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations related to the '=' operator.
[]
- []
val EqualityDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations related to the '=' operator.
[]
- []
val InequalityDynamic : x:'T1 -> y:'T2 -> 'U
/// A compiler intrinsic that implements dynamic invocations for the DivideByInt primitive.
diff --git a/src/fsharp/FSharp.Core/quotations.fsi b/src/fsharp/FSharp.Core/quotations.fsi
index 37679515a5..01d8b1c4eb 100644
--- a/src/fsharp/FSharp.Core/quotations.fsi
+++ b/src/fsharp/FSharp.Core/quotations.fsi
@@ -130,7 +130,6 @@ type Expr =
/// The list of arguments to the method.
///
/// The resulting expression.
- []
static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr
/// Builds an expression that represents a call to an instance method associated with an object
@@ -142,7 +141,6 @@ type Expr =
/// The list of arguments to the method.
///
/// The resulting expression.
- []
static member CallWithWitnesses: obj:Expr * methodInfo:MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments:Expr list -> Expr
/// Builds an expression that represents the coercion of an expression to a type
@@ -607,7 +605,6 @@ module Patterns =
///
/// When successful, the pattern binds the object, method, witness-argument and argument sub-expressions of the input expression
[]
- []
val (|CallWithWitnesses|_|) : input:Expr -> (Expr option * MethodInfo * MethodInfo * Expr list * Expr list) option
/// An active pattern to recognize expressions that represent coercions from one type to another
diff --git a/src/fsharp/LanguageFeatures.fs b/src/fsharp/LanguageFeatures.fs
index 8c8330ea4d..1628e5b6af 100644
--- a/src/fsharp/LanguageFeatures.fs
+++ b/src/fsharp/LanguageFeatures.fs
@@ -64,14 +64,14 @@ type LanguageVersion (specifiedVersionAsString) =
LanguageFeature.AndBang, languageVersion50
LanguageFeature.NullableOptionalInterop, languageVersion50
LanguageFeature.DefaultInterfaceMemberConsumption, languageVersion50
+ LanguageFeature.OpenStaticClasses, languageVersion50
+ LanguageFeature.PackageManagement, languageVersion50
+ LanguageFeature.WitnessPassing, languageVersion50
+ LanguageFeature.InterfacesWithMultipleGenericInstantiation, languageVersion50
+ LanguageFeature.NameOf, languageVersion50
// F# preview
LanguageFeature.FromEndSlicing, previewVersion
- LanguageFeature.OpenStaticClasses, previewVersion
- LanguageFeature.PackageManagement, previewVersion
- LanguageFeature.WitnessPassing, previewVersion
- LanguageFeature.InterfacesWithMultipleGenericInstantiation, previewVersion
- LanguageFeature.NameOf, previewVersion
LanguageFeature.StringInterpolation, previewVersion
]
diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidNumericLiteralTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidNumericLiteralTests.fs
index 4862927ba5..e88cc641b3 100644
--- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidNumericLiteralTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/InvalidNumericLiteralTests.fs
@@ -60,8 +60,8 @@ module ``Numeric Literals`` =
[]
let ``1N is invalid numeric literal in FSI``() =
if Utils.runningOnMono then ()
- else
- CompilerAssert.RunScriptWithOptions [| "--langversion:preview"; "--test:ErrorRanges" |]
+ else
+ CompilerAssert.RunScriptWithOptions [| "--langversion:5.0"; "--test:ErrorRanges" |]
"""
let x = 1N
"""
diff --git a/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs
index 04e39bdb82..359c9d3389 100644
--- a/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs
+++ b/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs
@@ -36,6 +36,6 @@ let z : unit =
failwithf "did not expect expression for 'z': %A" e
"""
|> asExe
- |> withPreview
+ |> withOptions ["--langversion:5.0"]
|> compileAndRun
|> shouldSucceed
diff --git a/tests/fsharp/Compiler/Language/InterfaceTests.fs b/tests/fsharp/Compiler/Language/InterfaceTests.fs
index f3601ebe0a..aed2fb9de7 100644
--- a/tests/fsharp/Compiler/Language/InterfaceTests.fs
+++ b/tests/fsharp/Compiler/Language/InterfaceTests.fs
@@ -180,7 +180,7 @@ assertion (fun (x:float) -> x * 3.0) (fun v ->
``Many Instantiations of the same interface - Asserts``,
Fs, Library,
options = [|
- "--langversion:preview";
+ "--langversion:5.0";
#if !NETSTANDARD
|])
#else
@@ -203,7 +203,7 @@ assertion (fun (x:float) -> x * 3.0) (fun v ->
|]
``Many Instantiations of the same interface``
[|
- (FSharpErrorSeverity.Error, 3350, (24, 6, 24, 20), "Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.")
+ (FSharpErrorSeverity.Error, 3350, (24, 6, 24, 20), "Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.")
|]
[]
diff --git a/tests/fsharp/Compiler/Language/OpenStaticClasses.fs b/tests/fsharp/Compiler/Language/OpenStaticClasses.fs
index deff83a5c4..e0894ba4dc 100644
--- a/tests/fsharp/Compiler/Language/OpenStaticClasses.fs
+++ b/tests/fsharp/Compiler/Language/OpenStaticClasses.fs
@@ -52,7 +52,7 @@ module OpenSystemMathOnce =
[]
let ``OpenStaticClassesTests - OpenSystemMathOnce - langversion:preview`` () =
CompilerAssert.TypeCheckWithErrorsAndOptions
- [| "--langversion:preview" |]
+ [| "--langversion:5.0" |]
(baseModule + """
module OpenSystemMathOnce =
@@ -82,7 +82,7 @@ module OpenSystemMathTwice =
[]
let ``OpenStaticClassesTests - OpenSystemMathTwice - langversion:preview`` () =
CompilerAssert.TypeCheckWithErrorsAndOptions
- [| "--langversion:preview" |]
+ [| "--langversion:5.0" |]
(baseModule + """
module OpenSystemMathOnce =
@@ -109,7 +109,7 @@ module OpenMyMathOnce =
[]
let ``OpenStaticClassesTests - OpenMyMathOnce - langversion:preview`` () =
CompilerAssert.TypeCheckWithErrorsAndOptions
- [| "--langversion:preview" |]
+ [| "--langversion:5.0" |]
(baseModule + """
module OpenMyMathOnce =
@@ -135,7 +135,7 @@ module DontOpenAutoMath =
[]
let ``OpenStaticClassesTests - DontOpenAutoMath - langversion:preview`` () =
CompilerAssert.TypeCheckWithErrorsAndOptions
- [| "--langversion:preview" |]
+ [| "--langversion:5.0" |]
(baseModule + """
module DontOpenAutoMath =
@@ -163,7 +163,7 @@ module OpenAutoMath =
[]
let ``OpenStaticClassesTests - OpenAutoMath - langversion:preview`` () =
CompilerAssert.TypeCheckWithErrorsAndOptions
- [| "--langversion:preview" |]
+ [| "--langversion:5.0" |]
(baseModule + """
module OpenAutoMath =
open AutoOpenMyMath
@@ -176,7 +176,7 @@ module OpenAutoMath =
[]
let ``OpenStaticClassesTests - OpenAccessibleFields - langversion:preview`` () =
CompilerAssert.TypeCheckWithErrorsAndOptions
- [| "--langversion:preview" |]
+ [| "--langversion:5.0" |]
(baseModule + """
module OpenAFieldFromMath =
open System.Math
diff --git a/tests/fsharp/Compiler/Language/WitnessTests.fs b/tests/fsharp/Compiler/Language/WitnessTests.fs
index f5f94eb975..e920d7d40f 100644
--- a/tests/fsharp/Compiler/Language/WitnessTests.fs
+++ b/tests/fsharp/Compiler/Language/WitnessTests.fs
@@ -19,7 +19,7 @@ module WitnessTests =
""" (dir ++ "provider.fsx"))
|> asExe
|> ignoreWarnings
- |> withPreview
+ |> withOptions ["--langversion:5.0"]
|> compile
|> shouldSucceed
|> ignore
diff --git a/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/ComparisonTests.fs b/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/ComparisonTests.fs
index b6f471608e..4e5c5d2657 100644
--- a/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/ComparisonTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/ComparisonTests.fs
@@ -24,7 +24,7 @@ module ``Comparison Tests`` =
// Regression test for FSHARP1.0:5640
// This is a sanity test: more coverage in FSHARP suite...
- CompilerAssert.RunScriptWithOptions [| "--langversion:preview" |]
+ CompilerAssert.RunScriptWithOptions [| "--langversion:5.0" |]
"""
type 'a www = W of 'a
diff --git a/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/StringFormatTests.fs b/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/StringFormatTests.fs
index a912ab3556..7e5f01967a 100644
--- a/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/StringFormatTests.fs
+++ b/tests/fsharp/Compiler/Libraries/Core/LanguagePrimitives/StringFormatTests.fs
@@ -143,7 +143,7 @@ module ``String Format Tests`` =
let ``string constructor in FSI``() =
// Regression test for FSHARP1.0:5894
- CompilerAssert.RunScriptWithOptions [| "--langversion:preview" |]
+ CompilerAssert.RunScriptWithOptions [| "--langversion:5.0" |]
"""
let assertEqual a b =
if a <> b then failwithf "Expected '%s', but got '%s'" a b
diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs
index a7e6fdfa37..4e31c22464 100644
--- a/tests/fsharp/tests.fs
+++ b/tests/fsharp/tests.fs
@@ -875,7 +875,7 @@ module CoreTests =
[]
let ``printing-1 --langversion:5.0`` () =
- printing "--langversion:preview" "z.output.test.default.stdout.50.txt" "z.output.test.default.stdout.50.bsl" "z.output.test.default.stderr.txt" "z.output.test.default.stderr.bsl"
+ printing "--langversion:5.0" "z.output.test.default.stdout.50.txt" "z.output.test.default.stdout.50.bsl" "z.output.test.default.stderr.txt" "z.output.test.default.stderr.bsl"
[]
let ``printing-2 --langversion:4.7`` () =
@@ -883,7 +883,7 @@ module CoreTests =
[]
let ``printing-2 --langversion:5.0`` () =
- printing "--langversion:preview --use:preludePrintSize1000.fsx" "z.output.test.1000.stdout.50.txt" "z.output.test.1000.stdout.50.bsl" "z.output.test.1000.stderr.txt" "z.output.test.1000.stderr.bsl"
+ printing "--langversion:5.0 --use:preludePrintSize1000.fsx" "z.output.test.1000.stdout.50.txt" "z.output.test.1000.stdout.50.bsl" "z.output.test.1000.stderr.txt" "z.output.test.1000.stderr.bsl"
[]
let ``printing-3 --langversion:4.7`` () =
@@ -891,7 +891,7 @@ module CoreTests =
[]
let ``printing-3 --langversion:5.0`` () =
- printing "--langversion:preview --use:preludePrintSize200.fsx" "z.output.test.200.stdout.50.txt" "z.output.test.200.stdout.50.bsl" "z.output.test.200.stderr.txt" "z.output.test.200.stderr.bsl"
+ printing "--langversion:5.0 --use:preludePrintSize200.fsx" "z.output.test.200.stdout.50.txt" "z.output.test.200.stdout.50.bsl" "z.output.test.200.stderr.txt" "z.output.test.200.stderr.bsl"
[]
let ``printing-4 --langversion:4.7`` () =
@@ -899,7 +899,7 @@ module CoreTests =
[]
let ``printing-4 --langversion:5.0`` () =
- printing "--langversion:preview --use:preludeShowDeclarationValuesFalse.fsx" "z.output.test.off.stdout.50.txt" "z.output.test.off.stdout.50.bsl" "z.output.test.off.stderr.txt" "z.output.test.off.stderr.bsl"
+ printing "--langversion:5.0 --use:preludeShowDeclarationValuesFalse.fsx" "z.output.test.off.stdout.50.txt" "z.output.test.off.stdout.50.bsl" "z.output.test.off.stderr.txt" "z.output.test.off.stderr.bsl"
[]
let ``printing-5`` () =
@@ -997,7 +997,7 @@ module CoreTests =
csc cfg """/nologo /target:library /out:cslib.dll""" ["cslib.cs"]
- fsc cfg "%s --define:LANGVERSION_PREVIEW --langversion:preview -o:test.exe -r cslib.dll -g" cfg.fsc_flags ["test.fsx"]
+ fsc cfg "%s --define:LANGVERSION_PREVIEW --langversion:5.0 -o:test.exe -r cslib.dll -g" cfg.fsc_flags ["test.fsx"]
peverify cfg "test.exe"
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/NameOf/env.lst b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/NameOf/env.lst
index 2d918a0ca1..c9cae6382f 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/NameOf/env.lst
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/NameOf/env.lst
@@ -1,10 +1,10 @@
- SOURCE=E_NameOfIntConst.fs SCFLAGS="--langversion:preview" # E_NameOfIntConst.fs
- SOURCE=E_NameOfStringConst.fs SCFLAGS="--langversion:preview" # E_NameOfStringConst.fs
- SOURCE=E_NameOfAppliedFunction.fs SCFLAGS="--langversion:preview" # E_NameOfAppliedFunction.fs
- SOURCE=E_NameOfIntegerAppliedFunction.fs SCFLAGS="--langversion:preview" # E_NameOfIntegerAppliedFunction.fs
- SOURCE=E_NameOfPartiallyAppliedFunction.fs SCFLAGS="--langversion:preview" # E_NameOfPartiallyAppliedFunction.fs
- SOURCE=E_NameOfDictLookup.fs SCFLAGS="--langversion:preview" # E_NameOfDictLookup.fs
- SOURCE=E_NameOfParameterAppliedFunction.fs SCFLAGS="--langversion:preview" # E_NameOfParameterAppliedFunction.fs
- SOURCE=E_NameOfAsAFunction.fs SCFLAGS="--langversion:preview" # E_NameOfAsAFunction.fs
- SOURCE=E_NameOfWithPipe.fs SCFLAGS="--langversion:preview" # E_NameOfWithPipe.fs
- SOURCE=E_NameOfUnresolvableName.fs SCFLAGS="--langversion:preview" # E_NameOfUnresolvableName.fs
+ SOURCE=E_NameOfIntConst.fs SCFLAGS="--langversion:5.0" # E_NameOfIntConst.fs
+ SOURCE=E_NameOfStringConst.fs SCFLAGS="--langversion:5.0" # E_NameOfStringConst.fs
+ SOURCE=E_NameOfAppliedFunction.fs SCFLAGS="--langversion:5.0" # E_NameOfAppliedFunction.fs
+ SOURCE=E_NameOfIntegerAppliedFunction.fs SCFLAGS="--langversion:5.0" # E_NameOfIntegerAppliedFunction.fs
+ SOURCE=E_NameOfPartiallyAppliedFunction.fs SCFLAGS="--langversion:5.0" # E_NameOfPartiallyAppliedFunction.fs
+ SOURCE=E_NameOfDictLookup.fs SCFLAGS="--langversion:5.0" # E_NameOfDictLookup.fs
+ SOURCE=E_NameOfParameterAppliedFunction.fs SCFLAGS="--langversion:5.0" # E_NameOfParameterAppliedFunction.fs
+ SOURCE=E_NameOfAsAFunction.fs SCFLAGS="--langversion:5.0" # E_NameOfAsAFunction.fs
+ SOURCE=E_NameOfWithPipe.fs SCFLAGS="--langversion:5.0" # E_NameOfWithPipe.fs
+ SOURCE=E_NameOfUnresolvableName.fs SCFLAGS="--langversion:5.0" # E_NameOfUnresolvableName.fs
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/E_ObjExprWithSameInterface01.4.7.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/E_ObjExprWithSameInterface01.4.7.fs
index f579046fc7..6db2950642 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/E_ObjExprWithSameInterface01.4.7.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/E_ObjExprWithSameInterface01.4.7.fs
@@ -1,6 +1,6 @@
// #Regression #Conformance #DataExpressions #ObjectConstructors
// This was Dev10:854519 and Dev11:5525. The fix was to make this a compile error to avoid a runtime exception.
-//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.
+//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.
type IQueue<'a> =
abstract Addd: 'a -> IQueue<'a>
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/env.lst b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/env.lst
index 282455a255..97d50b142e 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/env.lst
+++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/env.lst
@@ -18,5 +18,5 @@
SOURCE=E_ObjExprWithOverride01.fs SCFLAGS="-r:Helper.dll --test:ErrorRanges" PRECMD="\$CSC_PIPE /t:library Helper.cs" # E_ObjExprWithOverride01.fs
SOURCE=InterfaceObjectExpression01.fs # InterfaceObjectExpression01.fs
SOURCE=E_ObjExprWithSameInterface01.4.7.fs SCFLAGS="--test:ErrorRanges --langversion:4.7" # E_ObjExprWithSameInterface01.4.7.fs
- SOURCE=E_ObjExprWithSameInterface01.5.0.fs SCFLAGS="--test:ErrorRanges --langversion:preview" # E_ObjExprWithSameInterface01.5.0.fs
+ SOURCE=E_ObjExprWithSameInterface01.5.0.fs SCFLAGS="--test:ErrorRanges --langversion:5.0" # E_ObjExprWithSameInterface01.5.0.fs
SOURCE=MultipleInterfacesInObjExpr.fs # MultipleInterfacesInObjExpr.fs
\ No newline at end of file
diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ClassConsumeMultipleInterfaceFromCS.4.7.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ClassConsumeMultipleInterfaceFromCS.4.7.fs
index 244042abc5..5c47e255fa 100644
--- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ClassConsumeMultipleInterfaceFromCS.4.7.fs
+++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ClassConsumeMultipleInterfaceFromCS.4.7.fs
@@ -1,5 +1,5 @@
// #Conformance #ObjectOrientedTypes #InterfacesAndImplementations #ReqNOMT
-// Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.
+// Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.
#light
let mutable res = true
diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ConsumeMultipleInterfaceFromCS.4.7.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ConsumeMultipleInterfaceFromCS.4.7.fs
index 8be65e7fcc..7f3c57e8b8 100644
--- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ConsumeMultipleInterfaceFromCS.4.7.fs
+++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ConsumeMultipleInterfaceFromCS.4.7.fs
@@ -1,7 +1,7 @@
// #Conformance #ObjectOrientedTypes #InterfacesAndImplementations #ReqNOMT
-// Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.
-// Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.
-// Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.
+// Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.
+// Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.
+// Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.
#light
let mutable res = true
diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ImplementGenIFaceTwice01_4.7.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ImplementGenIFaceTwice01_4.7.fs
index 1a9cf23b6c..4664b91168 100644
--- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ImplementGenIFaceTwice01_4.7.fs
+++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ImplementGenIFaceTwice01_4.7.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #ObjectOrientedTypes #InterfacesAndImplementations
// Verify error when trying to implement the same generic interface twice.
// Regression for FSB 3574, PE Verification failure when implementing multiple generic interfaces (one generic, one specifc)
-//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.
+//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.
type IA<'b> =
interface
diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ImplementGenIFaceTwice02_4.7.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ImplementGenIFaceTwice02_4.7.fs
index adbbffd0ea..b49cb87db3 100644
--- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ImplementGenIFaceTwice02_4.7.fs
+++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ImplementGenIFaceTwice02_4.7.fs
@@ -1,6 +1,6 @@
// #Regression #Conformance #ObjectOrientedTypes #InterfacesAndImplementations
// Verify error when trying to implement the same generic interface twice
-//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.
+//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.
type IFoo<'a> =
interface
diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst01.4.7.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst01.4.7.fs
index 3c8530813b..f3a3babb55 100644
--- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst01.4.7.fs
+++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst01.4.7.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #ObjectOrientedTypes #InterfacesAndImplementations
// Regression test for FSHARP1.0:5540
// Prior to F# 5.0 it was forbidden to implement an interface at multiple instantiations
-//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.
+//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.
type IA<'a> =
interface
diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst04.4.7.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst04.4.7.fs
index b559e89569..71eb461b57 100644
--- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst04.4.7.fs
+++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst04.4.7.fs
@@ -1,7 +1,7 @@
// #Regression #Conformance #ObjectOrientedTypes #InterfacesAndImplementations
// Regression test for FSHARP1.0:5540
// It is forbidden to implement an interface at multiple instantiations
-//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.
+//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.
type IA<'a, 'b> =
diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst07.4.7.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst07.4.7.fs
index 316919a029..9abd5c567c 100644
--- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst07.4.7.fs
+++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_MultipleInst07.4.7.fs
@@ -1,7 +1,7 @@
// #Conformance #ObjectOrientedTypes #InterfacesAndImplementations
// Aliased types should correctly unify, even in combination with a measure.
-//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 'preview' or greater.
+//Feature 'interfaces with multiple generic instantiation' is not available in F# 4.7. Please use language version 5.0 or greater.
type MyInt = int
[] type kg
diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/env.lst b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/env.lst
index 8b359f887c..81e9633778 100644
--- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/env.lst
+++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/env.lst
@@ -7,17 +7,17 @@
SOURCE=InterfaceMember_NameCollisions.fs SCFLAGS=--test:ErrorRanges # InterfaceMember_NameCollisions.fs
SOURCE=E_MultipleInst01.4.7.fs SCFLAGS="--test:ErrorRanges --langversion:4.7" # E_MultipleInst01.4.7.fs
- SOURCE=MultipleInst01.5.0.fs SCFLAGS="--test:ErrorRanges --langversion:preview" # MultipleInst01.5.0.fs
+ SOURCE=MultipleInst01.5.0.fs SCFLAGS="--test:ErrorRanges --langversion:5.0" # MultipleInst01.5.0.fs
SOURCE=MultipleInst02.fs SCFLAGS=--test:ErrorRanges # MultipleInst02.fs
SOURCE=MultipleInst03.fs SCFLAGS=--test:ErrorRanges # MultipleInst03.fs
SOURCE=E_MultipleInst04.4.7.fs SCFLAGS="--test:ErrorRanges --langversion:4.7" # E_MultipleInst04.4.7.fs
- SOURCE=MultipleInst04.5.0.fs SCFLAGS=--test:ErrorRanges --langversion:preview" # MultipleInst04.5.0.fs
+ SOURCE=MultipleInst04.5.0.fs SCFLAGS=--test:ErrorRanges --langversion:5.0" # MultipleInst04.5.0.fs
SOURCE=MultipleInst05.fs SCFLAGS=--test:ErrorRanges # MultipleInst05.fs
SOURCE=MultipleInst06.fs SCFLAGS="--test:ErrorRanges" # MultipleInst06.fs
SOURCE=E_MultipleInst07.4.7.fs SCFLAGS="--test:ErrorRanges --langversion:4.7 --nowarn:221" # E_MultipleInst07.4.7.fs
- SOURCE=E_MultipleInst07.5.0.fs SCFLAGS="--test:ErrorRanges --langversion:preview --nowarn:221" # E_MultipleInst07.5.0.fs
+ SOURCE=E_MultipleInst07.5.0.fs SCFLAGS="--test:ErrorRanges --langversion:5.0 --nowarn:221" # E_MultipleInst07.5.0.fs
- SOURCE=Inheritance_OverrideInterface.fs SCFLAGS="--test:ErrorRanges --langversion:preview" # Inheritance_OverrideInterface.fs
+ SOURCE=Inheritance_OverrideInterface.fs SCFLAGS="--test:ErrorRanges --langversion:5.0" # Inheritance_OverrideInterface.fs
SOURCE=InheritFromIComparable01.fs SCFLAGS=-a # InheritFromIComparable01.fs
SOURCE=E_InterfaceNotFullyImpl01.fs SCFLAGS="--test:ErrorRanges" # E_InterfaceNotFullyImpl01.fs
SOURCE=E_InterfaceNotFullyImpl02.fs SCFLAGS="--test:ErrorRanges" # E_InterfaceNotFullyImpl02.fs
@@ -34,20 +34,20 @@
SOURCE=ConsumeFromCS.fs POSTCMD="\$CSC_PIPE -r:ConsumeFromCS.dll CallFSharpInterface.cs && CallFSharpInterface.exe" SCFLAGS=-a # ConsumeFromCS.fs
NoMT SOURCE=CallCSharpInterface.fs PRECMD="\$CSC_PIPE /t:library ConsumeFromFS.cs" SCFLAGS="-r:ConsumeFromFS.dll" # CallCSharpInterface.fs
- SOURCE=E_MultipleInterfaceInheritance.fs SCFLAGS="--test:ErrorRanges --flaterrors" # E_MultipleInterfaceInheritance.fs
+ SOURCE=E_MultipleInterfaceInheritance.fs SCFLAGS="--test:ErrorRanges --flaterrors" # E_MultipleInterfaceInheritance.fs
NoMT SOURCE=E_ConsumeMultipleInterfaceFromCS.4.7.fs PRECMD="\$CSC_PIPE /t:library MultipleInterfaceInheritanceFromCS.cs" SCFLAGS="-r:MultipleInterfaceInheritanceFromCS.dll --test:ErrorRanges --langversion:4.7" # E_ConsumeMultipleInterfaceFromCS.4.7.fs
-NoMT SOURCE=ConsumeMultipleInterfaceFromCS.5.0.fs PRECMD="\$CSC_PIPE /t:library MultipleInterfaceInheritanceFromCS.cs" SCFLAGS="-r:MultipleInterfaceInheritanceFromCS.dll --langversion:preview" # ConsumeMultipleInterfaceFromCS.5.0.fs
+NoMT SOURCE=ConsumeMultipleInterfaceFromCS.5.0.fs PRECMD="\$CSC_PIPE /t:library MultipleInterfaceInheritanceFromCS.cs" SCFLAGS="-r:MultipleInterfaceInheritanceFromCS.dll --langversion:5.0" # ConsumeMultipleInterfaceFromCS.5.0.fs
-NoMT SOURCE=E_ClassConsumeMultipleInterfaceFromCS.4.7.fs PRECMD="\$CSC_PIPE /t:library MultipleInterfaceInheritanceFromCS.cs" SCFLAGS="-r:MultipleInterfaceInheritanceFromCS.dll --test:ErrorRanges --langversion:4.7" # E_ClassConsumeMultipleInterfaceFromCS.4.7.fs
-NoMT SOURCE=ClassConsumeMultipleInterfaceFromCS.5.0.fs PRECMD="\$CSC_PIPE /t:library MultipleInterfaceInheritanceFromCS.cs" SCFLAGS="-r:MultipleInterfaceInheritanceFromCS.dll --test:ErrorRanges --langversion:preview" # ClassConsumeMultipleInterfaceFromCS.5.0.fs
+NoMT SOURCE=E_ClassConsumeMultipleInterfaceFromCS.4.7.fs PRECMD="\$CSC_PIPE /t:library MultipleInterfaceInheritanceFromCS.cs" SCFLAGS="-r:MultipleInterfaceInheritanceFromCS.dll --test:ErrorRanges --langversion:4.7" # E_ClassConsumeMultipleInterfaceFromCS.4.7.fs
+NoMT SOURCE=ClassConsumeMultipleInterfaceFromCS.5.0.fs PRECMD="\$CSC_PIPE /t:library MultipleInterfaceInheritanceFromCS.cs" SCFLAGS="-r:MultipleInterfaceInheritanceFromCS.dll --test:ErrorRanges --langversion:5.0" # ClassConsumeMultipleInterfaceFromCS.5.0.fs
SOURCE="E_ImplementGenIFaceTwice01_4.7.fs" SCFLAGS="--test:ErrorRanges --langversion:4.7 --nowarn:221" # E_ImplementGenIFaceTwice01_4.7.fs
- SOURCE="E_ImplementGenIFaceTwice01_5.0.fs" SCFLAGS="--test:ErrorRanges --langversion:preview --nowarn:221" # E_ImplementGenIFaceTwice01_5.0.fs
+ SOURCE="E_ImplementGenIFaceTwice01_5.0.fs" SCFLAGS="--test:ErrorRanges --langversion:5.0 --nowarn:221" # E_ImplementGenIFaceTwice01_5.0.fs
SOURCE="E_ImplementGenIFaceTwice02_4.7.fs" SCFLAGS="--test:ErrorRanges --langversion:4.7 --nowarn:221" # E_ImplementGenIFaceTwice02_4.7.fs
- SOURCE="ImplementGenIFaceTwice02_5.0.fs" SCFLAGS="--test:ErrorRanges --langversion:preview --nowarn:221" # ImplementGenIFaceTwice02_5.0.fs
+ SOURCE="ImplementGenIFaceTwice02_5.0.fs" SCFLAGS="--test:ErrorRanges --langversion:5.0 --nowarn:221" # ImplementGenIFaceTwice02_5.0.fs
- SOURCE=EmptyInterface01.fs # EmptyInterface01.fs
+ SOURCE=EmptyInterface01.fs # EmptyInterface01.fs
SOURCE=InheritDotNetInterface.fs # InheritDotNetInterface.fs
SOURCE=E_AnonymousTypeInInterface01.fs SCFLAGS="--test:ErrorRanges" # E_AnonymousTypeInInterface01.fs
\ No newline at end of file
diff --git a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/env.lst b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/env.lst
index 0927b9895f..17899b7d4f 100644
--- a/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/env.lst
+++ b/tests/fsharpqa/Source/Conformance/UnitsOfMeasure/TypeChecker/env.lst
@@ -5,7 +5,7 @@
SOURCE=Generalization01.fs SCFLAGS=--warnaserror # Generalization01.fs
- SOURCE=E_GenInterfaceWithDifferentGenInstantiations.fs SCFLAGS="--test:ErrorRanges --langversion:preview" # E_GenInterfaceWithDifferentGenInstantiations.fs
+ SOURCE=E_GenInterfaceWithDifferentGenInstantiations.fs SCFLAGS="--test:ErrorRanges --langversion:5.0" # E_GenInterfaceWithDifferentGenInstantiations.fs
SOURCE=TypeAbbreviation_decimal_01.fs # TypeAbbreviation_decimal_01.fs
SOURCE=TypeAbbreviation_float32_01.fs # TypeAbbreviation_float32_01.fs