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