From 84188a4716cc5aaa27c3e45b0514d4f310386fda Mon Sep 17 00:00:00 2001 From: kerams Date: Mon, 8 Dec 2025 12:42:56 +0100 Subject: [PATCH 01/25] Remove ML compatibility --- src/Compiler/Checking/AttributeChecking.fs | 6 +- src/Compiler/Driver/CompilerConfig.fs | 34 +- src/Compiler/Driver/CompilerConfig.fsi | 17 - src/Compiler/Driver/CompilerDiagnostics.fs | 1 - src/Compiler/Driver/CompilerImports.fs | 1 - src/Compiler/Driver/CompilerOptions.fs | 46 +- src/Compiler/Driver/ParseAndCheckInputs.fs | 27 +- src/Compiler/Driver/fsc.fs | 15 +- src/Compiler/FSComp.txt | 15 - src/Compiler/Facilities/DiagnosticsLogger.fs | 6 - src/Compiler/Facilities/DiagnosticsLogger.fsi | 4 - src/Compiler/Facilities/LanguageFeatures.fs | 3 - src/Compiler/Facilities/LanguageFeatures.fsi | 1 - src/Compiler/Facilities/TextLayoutRender.fs | 2 - src/Compiler/Interactive/fsi.fs | 25 +- src/Compiler/Service/FSharpCheckerResults.fs | 36 +- src/Compiler/Service/FSharpCheckerResults.fsi | 2 - src/Compiler/Service/IncrementalBuild.fs | 1 - src/Compiler/Service/ServiceLexing.fs | 258 ++------- src/Compiler/Service/ServiceLexing.fsi | 9 - src/Compiler/Service/TransparentCompiler.fs | 1 - src/Compiler/SyntaxTree/LexFilter.fs | 19 +- src/Compiler/SyntaxTree/LexFilter.fsi | 7 +- src/Compiler/SyntaxTree/LexHelpers.fs | 42 +- src/Compiler/SyntaxTree/LexHelpers.fsi | 12 - src/Compiler/SyntaxTree/PrettyNaming.fs | 8 +- src/Compiler/TypedTree/TcGlobals.fs | 3 - src/Compiler/TypedTree/TcGlobals.fsi | 3 - src/Compiler/lex.fsl | 33 +- src/Compiler/pars.fsy | 81 +-- src/Compiler/xlf/FSComp.txt.cs.xlf | 75 --- src/Compiler/xlf/FSComp.txt.de.xlf | 75 --- src/Compiler/xlf/FSComp.txt.es.xlf | 75 --- src/Compiler/xlf/FSComp.txt.fr.xlf | 75 --- src/Compiler/xlf/FSComp.txt.it.xlf | 75 --- src/Compiler/xlf/FSComp.txt.ja.xlf | 75 --- src/Compiler/xlf/FSComp.txt.ko.xlf | 75 --- src/Compiler/xlf/FSComp.txt.pl.xlf | 75 --- src/Compiler/xlf/FSComp.txt.pt-BR.xlf | 75 --- src/Compiler/xlf/FSComp.txt.ru.xlf | 75 --- src/Compiler/xlf/FSComp.txt.tr.xlf | 75 --- src/Compiler/xlf/FSComp.txt.zh-Hans.xlf | 75 --- src/Compiler/xlf/FSComp.txt.zh-Hant.xlf | 75 --- src/FSharp.Core/FSharp.Core.fsproj | 1 - src/FSharp.Core/prim-types.fs | 5 +- src/FSharp.Core/prim-types.fsi | 4 - .../fsc/checked/UncheckedDefaultOf01.fs | 2 +- .../CompilerOptions/fsc/checked/unrecogarg.fs | 2 +- .../fsc/codepage/ReferenceBoth.fs | 2 +- .../CompilerOptions/fsc/codepage/Zero.fs | 2 +- .../fsc/codepage/libCodepage.fs | 2 +- .../fsc/misc/compiler_help_output.bsl | 1 - .../CompilerOptions/fsc/times/error_01.fs | 2 +- .../CompilerOptions/fsc/times/error_02.fs | 2 +- .../CompilerOptions/fsc/times/error_03.fs | 2 +- .../CompilerOptions/fsc/times/times01.fs | 2 +- .../Basic/E_privateThingsInaccessible02.fs | 2 +- .../Basic/E_privateThingsInaccessible04.fs | 2 +- .../Basic/InternalMethodsWorkCorrectly.fs | 2 +- .../Basic/LessOrMoreAccessibleCode01.fs | 2 +- .../E_accessibilityOnInterface.fs | 2 +- .../E_accessibilityOnInterface02.fs | 2 +- .../E_accessibilityOnInterface03.fs | 2 +- .../E_accessibilityOnInterface05.fs | 2 +- .../E_accessibilityOnRecords.fs | 2 +- ...orderingOfAccessibilityKeyword_member01.fs | 2 +- ...orderingOfAccessibilityKeyword_module01.fs | 2 +- ...E_orderingOfAccessibilityKeyword_type01.fs | 2 +- .../AttributeTargetsIsCtor01.fs | 2 +- .../AttributeUsage/E_WithBitwiseOr01.fsx | 2 +- .../AttributeUsage/WithBitwiseOr02a.fsx | 2 +- .../AttributeUsage/WithBitwiseOr02b.fsx | 2 +- .../CustomAttributes/Basic/ArrayParam.fs | 2 +- .../Basic/AttribWithEnumFlags01.fs | 2 +- .../Basic/E_AttributeApplication01.fs | 2 +- .../Basic/E_AttributeTargetSpecifications.fs | 2 +- .../Basic/FreeTypeVariable01.fs | 2 +- .../CustomAttributes/Basic/Function01.fs | 2 +- .../CustomAttributes/Basic/FunctionArg01.fs | 2 +- .../Basic/ParamArrayAttrUsage.fs | 2 +- .../CustomAttributes/Basic/ReturnType01.fs | 2 +- .../CustomAttributes/Basic/ReturnType02.fs | 2 +- .../CustomAttributes/Basic/ReturnType03.fs | 2 +- .../CustomAttributes/Basic/SanityCheck01.fs | 2 +- .../Basic/TypeofTypedefofInAttribute.fs | 2 +- .../Basic/TypesAsAttrArgs01.fs | 2 +- .../EntryPoint/E_InvalidSignature02.fs | 2 +- .../E_oninvalidlanguageelement001.fs | 2 +- .../EntryPoint/E_twoentrypoints001.fs | 2 +- ...ointInLastModuleInsideMultipleNamespace.fs | 2 +- .../W_NoEntryPointModuleInNamespace.fs | 2 +- .../W_NoEntryPointMultipleModules.fs | 2 +- .../W_NoEntryPointTypeInNamespace.fs | 2 +- .../EntryPoint/behavior001.fs | 2 +- .../EntryPoint/entrypointandFSI.fs | 2 +- .../entrypointfunctionnotmain001.fs | 2 +- .../EntryPoint/inamodule001.fs | 2 +- .../EntryPoint/noarguments001.fs | 2 +- .../EntryPoint/oneargument001.fs | 2 +- .../Events/Basic/EventsOnInterface01.fs | 2 +- .../Events/Basic/Regression01.fs | 2 +- .../Events/Basic/SanityCheck02.fs | 2 +- .../E_BeginWithUppercase01.fsx | 2 +- .../E_BeginWithUppercase02.fsx | 2 +- .../E_BeginWithUppercase03.fsx | 2 +- .../E_BeginWithUppercase04.fsx | 2 +- .../E_ExnAsDiscriminatedUnion01.fsx | 2 +- .../E_IllegalCharacters01.fsx | 2 +- .../E_IllegalCharacters02.fsx | 2 +- .../E_IllegalCharacters03.fsx | 2 +- .../E_IllegalCharacters04.fsx | 2 +- .../E_IllegalCharacters05.fsx | 2 +- .../E_IllegalCharacters06.fsx | 2 +- .../E_MustStartWithCap01.fs | 2 +- .../ImportCSharpException01.fsx | 2 +- .../LegalExceptionNames.fsx | 2 +- .../LowercaseIdentifier01.fsx | 2 +- .../PatternMatch_SampleCodeFromSpec01.fsx | 2 +- .../new_while_01.fs | 2 +- .../ImportDeclarations/E_OpenUnknownNS.fs | 2 +- .../ImportDeclarations/OpenNestedModule01.fs | 2 +- .../ImportDeclarations/openDU.fs | 2 +- .../ImportDeclarations/openSystem01.fs | 2 +- .../ConcreteUnitOnInterface01.fs | 2 +- .../GenericMethodsOnInterface01.fs | 2 +- .../GenericMethodsOnInterface02.fs | 2 +- .../ActivePatternBindings/SanityCheck.fs | 2 +- .../parameterizedActivePattern.fs | 2 +- .../LetBindings/Basic/AsPat01.fs | 2 +- .../LetBindings/Basic/AsPat02.fs | 2 +- .../LetBindings/Basic/E_AttributesOnLet01.fs | 2 +- .../Basic/E_ErrorsForInlineValue.fs | 2 +- .../Basic/E_GenericTypeAnnotations01.fs | 2 +- .../LetBindings/Basic/Literals01.fs | 2 +- .../LetBindings/Basic/SanityCheck.fs | 2 +- .../Basic/W_DoBindingsNotUnit01.fs | 2 +- .../Basic/W_DoBindingsNotUnit02.fsx | 2 +- .../LetBindings/Basic/nestedLetBindings.fs | 2 +- .../ExplicitTypeParameters/SanityCheck.fs | 2 +- .../TypeFunctions/E_typeof_measure_01.fs | 2 +- .../TypeFunctions/E_typeof_undefined_01.fs | 2 +- .../LetBindings/TypeFunctions/SizeOf01.fs | 2 +- .../TypeFunctions/typeofAsArgument.fs | 2 +- .../TypeFunctions/typeofBasic001.fs | 2 +- .../TypeFunctions/typeof_anonymous_01.fs | 2 +- .../TypeFunctions/typeof_class_01.fs | 2 +- .../TypeFunctions/typeof_interface_01.fs | 2 +- .../TypeFunctions/typeof_struct_01.fs | 2 +- .../MemberDefinitions/BasicMembers.fs | 2 +- .../ImplementingDispatchSlots/SanityCheck.fs | 2 +- .../AbstractProperties01.fs | 2 +- .../E_DeclarePropertyTwice01.fs | 2 +- .../E_IndexerNotSpecified01.fs | 2 +- .../E_OutscopeThisPtr01.fs | 2 +- .../GetterSetterDiff01.fs | 2 +- .../MethodsAndProperties/Indexer01.fs | 2 +- .../MethodsAndProperties/Properties01.fs | 2 +- .../MethodsAndProperties/Properties03.fs | 2 +- .../MethodsAndProperties/Properties04.fs | 2 +- .../MethodsAndProperties/Properties05.fs | 2 +- .../RecursiveLetValues.fs | 2 +- .../StaticGenericField01.fs | 2 +- .../genericGenericClass.fs | 2 +- .../MethodsAndProperties/instMembers-DU.fs | 2 +- .../instMembers-Records.fs | 2 +- .../MethodsAndProperties/instMembers-class.fs | 2 +- .../MethodsAndProperties/multiParamIndexer.fs | 2 +- .../MethodsAndProperties/staticMembers-DU.fs | 2 +- .../staticMembers-Records.fs | 2 +- .../staticMembers-class.fs | 2 +- .../tupesAndFuncsAsArgs.fs | 2 +- .../tupledValueProperties01.fs | 2 +- .../tupledValueProperties02.fsx | 2 +- .../typeMethodsCurrable.fs | 2 +- .../NamedArguments/E_NonNamedAfterNamed.fs | 2 +- .../NamedArguments/PropSetAfterConstrn01.fs | 2 +- .../PropSetAfterConstrn01NamedExt.fs | 2 +- .../PropSetAfterConstrn01NamedExtInherit.fs | 2 +- .../PropSetAfterConstrn01NamedExtOpt.fs | 2 +- .../NamedArguments/PropSetAfterConstrn02.fs | 2 +- .../PropSetAfterConstrn02NamedExt.fs | 2 +- .../NamedArguments/SanityCheck.fs | 2 +- .../NamedArguments/genericNamedParams.fs | 2 +- .../NamedArguments/mixNamedNonNamed.fs | 2 +- .../NamedArguments/refLibsHaveNamedParams.fs | 2 +- .../OptionalArguments/SanityCheck.fs | 2 +- .../OptionalArguments/SanityCheck02.fs | 2 +- .../OptionalArguments/optionalOfOptOptA.fs | 2 +- .../MethodOverloadUnambiguous.fs | 2 +- ...WarningWhenDoingDispatchSlotInference01.fs | 2 +- .../NoWarningWhenOverloadingInSubClass01.fs | 2 +- .../OperatorOverloading02.fs | 2 +- .../OverloadingMembers/TieBreakerRule02.fs | 2 +- .../OverloadingMembers/TooGeneric.fs | 2 +- .../ModuleAbbreviations/E_NameConflict01.fs | 2 +- .../ModuleAbbreviations/SanityCheck.fs | 2 +- .../ModuleAbbreviations/SanityCheck02.fs | 2 +- .../ModuleAbbreviations/useInsideModuleDef.fs | 2 +- .../useInsideNamespaceDef.fs | 2 +- .../useInsideNamespaceDefExternal.fs | 2 +- .../useInsideNamespaceDefExternal_DLL.fs | 2 +- .../ModuleDefinitions/AutoOpen01.fs | 2 +- .../ModuleDefinitions/AutoOpen02.fs | 2 +- .../ModuleDefinitions/AutoOpen03.fs | 2 +- .../ModuleDefinitions/DefineModule01.fs | 2 +- .../E_ModuleWithExpression02.fs | 2 +- .../E_ModuleWithSameNameInNamespace02b.fsx | 2 +- .../E_ObsoleteAttribOnModules01.fs | 2 +- .../ModuleDefinitions/FullyQualify01.fs | 2 +- .../ModuleDefinitions/LightSyntax01.fsx | 2 +- .../ModuleAbbreviationWithModule01.fs | 2 +- .../ModuleDefinitions/ModuleDefinitions.fs | 25 - .../ModuleDefinitions/ModuleSuffix02.fsx | 2 +- .../ModuleDefinitions/ModuleSuffix03.fsx | 2 +- .../ModuleDefinitions/ModuleSuffix03Lib.fsx | 2 +- .../ModuleDefinitions/ModuleSuffix04.fsx | 2 +- .../ModuleWithExpression01.fs | 2 +- .../ModuleWithExpression02.fs | 2 +- .../Production_ExceptionDefinition.fsx | 2 +- .../Production_ImportDeclaration.fsx | 2 +- .../Production_LetBindings_Binding.fsx | 2 +- .../Production_LetBindings_SideEff.fsx | 2 +- .../Production_ModuleAbbreviation.fsx | 2 +- .../Production_ModuleDefinition.fsx | 2 +- .../Production_OCamlCompat.fsx | 34 -- .../Production_TypeDefinitions.fsx | 2 +- .../W_Production_OCamlCompat.fsx | 41 -- .../E_NullInvalidForFSTypes01.fs | 2 +- .../Constraints_SampleFromSpec01.fsx | 2 +- .../E_AbbreviatedTypeAlreadyUsed01.fsx | 2 +- .../E_AbbreviatedTypeDoesNotExist01.fsx | 2 +- .../E_Constraints_SampleFromSpec02.fsx | 2 +- .../E_IncorrectRightSide_Keyword.fsx | 2 +- .../E_IncorrectRightSide_Quotation.fsx | 2 +- .../E_InfiniteAbbreviation02.fs | 2 +- .../TypeAbbreviations/E_Recursive01.fsx | 2 +- .../TypeAbbreviations/E_Recursive02.fsx | 2 +- .../TypeAbbreviations/E_Recursive03.fsx | 2 +- .../TypeAbbreviations/Identity01.fsx | 2 +- .../TypeNestedInModules01.fsx | 2 +- .../BindingExpressions/AmbigLetBinding.fs | 2 +- .../W_TypeInferforGenericType.fs | 2 +- .../W_PatternMatchingCounterExample01.fs | 2 +- .../W_PatternMatchingCounterExample02.fs | 2 +- .../rigidtypeannotation01.fs | 2 +- .../staticcoercion01.fs | 2 +- .../staticcoercion01b.fs | 2 +- .../Basic/Comparison01.fs | 2 +- .../Basic/CustomEquality01.fs | 2 +- .../Basic/E_CustomEqualityEquals01.fs | 2 +- .../Basic/E_CustomEqualityGetHashCode01.fs | 2 +- .../Basic/Equality01.fs | 2 +- .../Basic/Generated_Record.fsx | 2 +- .../Basic/Hashing01.fs | 2 +- .../Basic/NeverGenerated_Class.fsx | 2 +- .../Basic/NeverGenerated_Delegate.fsx | 2 +- .../Basic/NeverGenerated_Interface.fsx | 2 +- .../E_ByrefAsGenericArgument01.fs | 2 +- .../E_SetFieldToByref01.fs | 2 +- .../ByrefSafetyAnalysis/UseByrefInLambda01.fs | 2 +- .../InfiniteRecursiveExplicitConstructor.fs | 2 +- .../RecursiveTypeDeclarations01.fs | 2 +- .../RecursiveValueDeclarations01.fs | 2 +- .../OffsideExceptions/InfixTokenPlusOne.fs | 2 +- .../OffsideExceptions/RelaxWhitespace2.fs | 2 +- .../PatternMatching/And/E_IdentBoundTwice.fs | 2 +- .../PatternMatching/And/andPattern01.fs | 2 +- .../PatternMatching/And/andPattern02.fs | 2 +- .../PatternMatching/And/andPattern03.fs | 2 +- .../PatternMatching/Array/TrailingSemi01.fs | 2 +- .../PatternMatching/Array/arrayMatch01.fs | 2 +- .../PatternMatching/Array/arrayMatch02.fs | 2 +- .../PatternMatching/Array/arrayMatch03.fs | 2 +- .../PatternMatching/As/asPattern01.fs | 2 +- .../PatternMatching/As/asPattern02.fs | 2 +- .../ConsList/OutsideMatch01.fs | 2 +- .../PatternMatching/ConsList/consPattern01.fs | 2 +- .../PatternMatching/Decimal/literal01.fs | 2 +- .../DynamicTypeTest/ArrayTypeTest01.fs | 2 +- .../DynamicTypeTest/E_DynamTyTestVarType01.fs | 2 +- .../E_DynamicTestPrimType01.fs | 2 +- .../DynamicTypeTest/Regression02.fs | 2 +- .../DynamicTypeTest/TwoAtOnce01.fs | 2 +- .../DynamicTypeTest/W_RedundantPattern01.fs | 2 +- .../W_TypeTestWillAlwaysHold01.fs | 2 +- .../DynamicTypeTest/dynTestSealedType01.fs | 2 +- .../DynamicTypeTest/dynamicTypeTest01.fs | 2 +- .../DynamicTypeTest/dynamicTypeTest02.fs | 2 +- .../DynamicTypeTest/dynamicTypeTest04.fs | 2 +- .../DynamicTypeTest/genericType01.fs | 2 +- .../PatternMatching/Expression/patterns01.fs | 2 +- .../PatternMatching/Expression/patterns02.fs | 2 +- .../Expression/whenGuards01.fs | 2 +- .../Expression/whenGuards02.fs | 2 +- .../Expression/whenGuardss01.fs | 2 +- .../Expression/whenGuardss02.fs | 2 +- .../Named/ActivePatternOutsideMatch02.fs | 2 +- .../Named/AsHighOrderFunc01.fs | 2 +- .../Named/E_ParameterRestrictions01.fs | 2 +- .../Named/MultiActivePatterns01.fs | 2 +- .../PatternMatching/Named/NamedLiteral01.fs | 2 +- .../PatternMatching/Named/NamedLiteral02.fs | 2 +- .../Named/PatternMatchRegressions01.fs | 2 +- .../Named/RecursiveActivePats.fs | 2 +- .../PatternMatching/Named/activePatterns01.fs | 2 +- .../PatternMatching/Named/activePatterns02.fs | 2 +- .../PatternMatching/Named/activePatterns03.fs | 2 +- .../PatternMatching/Named/activePatterns05.fs | 2 +- .../PatternMatching/Named/activePatterns06.fs | 2 +- .../PatternMatching/Named/activePatterns07.fs | 2 +- .../PatternMatching/Named/activePatterns08.fs | 2 +- .../PatternMatching/Named/activePatterns09.fs | 2 +- .../PatternMatching/Named/activePatterns10.fs | 2 +- .../PatternMatching/Named/discUnion01.fs | 2 +- .../PatternMatching/Named/discUnion02.fs | 2 +- .../Null/E_notNullCompatible01.fs | 2 +- .../PatternMatching/Null/matchNull01.fs | 2 +- .../Record/E_RecordFieldNotDefined01.fs | 2 +- .../Record/recordPatterns01.fs | 2 +- .../Record/recordPatterns02.fs | 2 +- .../Record/structRecordPatterns01.fs | 2 +- .../Record/structRecordPatterns02.fs | 2 +- .../PatternMatching/Simple/CodeGenReg01.fs | 2 +- .../PatternMatching/Simple/E_SyntaxError01.fs | 2 +- .../Simple/E_ValueCapture01.fs | 2 +- .../Simple/E_constPattern01.fs | 2 +- .../Simple/MatchFailureExn01.fs | 2 +- .../PatternMatching/Simple/ValueCapture01.fs | 2 +- .../PatternMatching/Simple/ValueCapture02.fs | 2 +- .../PatternMatching/Simple/W_Incomplete01.fs | 2 +- .../Simple/simplePatterns01.fs | 2 +- .../Simple/simplePatterns02.fs | 2 +- .../Simple/simplePatterns03.fs | 2 +- .../Simple/simplePatterns04.fs | 2 +- .../Simple/simplePatterns05.fs | 2 +- .../Simple/simplePatterns06.fs | 2 +- .../Simple/simplePatterns07.fs | 2 +- .../Simple/simplePatterns08.fs | 2 +- .../Simple/simplePatterns09.fs | 2 +- .../Simple/simplePatterns10.fs | 2 +- .../Simple/simplePatterns11.fs | 2 +- .../Simple/simplePatterns12.fs | 2 +- .../Simple/simplePatterns13.fs | 2 +- .../Simple/simplePatterns14.fs | 2 +- .../Simple/simplePatterns15.fs | 2 +- .../Simple/simplePatterns16.fs | 2 +- .../Simple/simplePatterns17.fs | 2 +- .../Simple/simplePatterns18.fs | 2 +- .../Simple/simplePatterns19.fs | 2 +- .../Simple/simplePatterns20.fs | 2 +- .../SimpleConstant/DiffAssembly.fs | 2 +- .../SimpleConstant/E_NoRangeConst01.fs | 2 +- .../SimpleConstant/E_type_bigint.fs | 2 +- .../SimpleConstant/E_type_bignum40.fs | 2 +- .../SimpleConstant/FullyQualify01.fs | 2 +- .../SimpleConstant/MatchLiteral01.fs | 2 +- .../SimpleConstant/MatchNaN.fs | 2 +- .../SimpleConstant/matchConst01.fs | 2 +- .../SimpleConstant/matchConst02.fs | 2 +- .../SimpleConstant/matchConst03.fs | 2 +- .../SimpleConstant/matchConst04.fs | 2 +- .../SimpleConstant/type_bigint.fs | 2 +- .../SimpleConstant/type_bool.fs | 2 +- .../SimpleConstant/type_byte.fs | 2 +- .../SimpleConstant/type_byteArr.fs | 2 +- .../SimpleConstant/type_char.fs | 2 +- .../SimpleConstant/type_double.fs | 2 +- .../SimpleConstant/type_float32.fs | 2 +- .../SimpleConstant/type_int.fs | 2 +- .../SimpleConstant/type_int16.fs | 2 +- .../SimpleConstant/type_int64.fs | 2 +- .../SimpleConstant/type_nativenint.fs | 2 +- .../SimpleConstant/type_sbyte.fs | 2 +- .../SimpleConstant/type_string.fs | 2 +- .../SimpleConstant/type_uint16.fs | 2 +- .../SimpleConstant/type_uint32.fs | 2 +- .../SimpleConstant/type_uint64.fs | 2 +- .../SimpleConstant/type_unativenint.fs | 2 +- .../SimpleConstant/type_unit.fs | 2 +- .../PatternMatching/Tuple/SimpleTuples01.fs | 2 +- .../Tuple/W_RedundantPattern01.fs | 2 +- .../Tuple/W_RedundantPattern02.fs | 2 +- .../PatternMatching/Tuple/tuples01.fs | 2 +- .../Union/E_CapturesDiffVal01.fs | 2 +- .../Union/E_NotAllCaptureSameVal01.fs | 2 +- .../PatternMatching/Union/unionPattern01.fs | 2 +- .../PatternMatching/Union/unionPattern02.fs | 2 +- .../PatternMatching/Union/unionPattern03.fs | 2 +- .../PatternMatching/Union/unionPattern04.fs | 2 +- .../Wildcard/wildCardPatterns01.fs | 2 +- .../AssemblyConfiguration_001.fs | 2 +- .../AssemblyFileVersion_001.fs | 2 +- .../AssemblyInformationalVersion_001.fs | 2 +- .../RecordTypes/DispatchSlot_Equals01.fsx | 2 +- .../RecordTypes/DispatchSlot_GetHashCode.fsx | 2 +- .../RecordTypes/E_Interface_IComparable.fsx | 2 +- .../Types/RecordTypes/E_MutableFields01.fsx | 2 +- .../Types/RecordTypes/E_RecordsNotNull01.fs | 2 +- .../Types/RecordTypes/E_RecordsNotNull02.fs | 2 +- .../Types/RecordTypes/E_Scoping01.fsx | 2 +- .../Types/RecordTypes/E_UnitType01.fsx | 2 +- .../Types/RecordTypes/FullyQualify01.fs | 2 +- .../Types/RecordTypes/ImplicitEquals01.fs | 2 +- .../Types/RecordTypes/Interface01.fsx | 2 +- .../Types/RecordTypes/Interface_Empty.fsx | 2 +- .../RecordTypes/Interface_IComparable.fsx | 2 +- .../Types/RecordTypes/LongIdentifiers01.fsx | 2 +- .../Types/RecordTypes/Member01.fsx | 2 +- .../Types/RecordTypes/MutableFields01.fsx | 2 +- .../MutableFields_SampleFromSpec02.fsx | 2 +- .../Types/RecordTypes/RecordCloning01.fs | 2 +- .../Types/RecordTypes/RecordCloning02.fs | 2 +- .../Types/RecordTypes/RecordCloning03.fs | 2 +- .../Types/RecordTypes/SampleFromSpec01.fsx | 2 +- .../Types/RecordTypes/SampleFromSpec03.fsx | 2 +- .../Types/RecordTypes/Scoping03.fsx | 2 +- .../Types/RecordTypes/Scoping04.fsx | 2 +- .../RecordTypes/StructRecordCloning01.fs | 2 +- .../RecordTypes/StructRecordCloning02.fs | 2 +- .../RecordTypes/StructRecordCloning03.fs | 2 +- .../Conformance/Types/RecordTypes/Syntax01.fs | 2 +- .../Types/RecordTypes/TypeInference01.fs | 2 +- .../Types/RecordTypes/TypeInference02.fs | 2 +- .../Types/RecordTypes/UnitType01.fsx | 2 +- .../TypeWithNullLiteral_NetRef.fsx | 2 +- .../UnionTypes/DispatchSlot_Equals01.fsx | 2 +- .../UnionTypes/DispatchSlot_GetHashCode.fsx | 2 +- .../UnionTypes/E_BeginWithUppercase01.fsx | 2 +- .../UnionTypes/E_BeginWithUppercase02.fsx | 2 +- .../UnionTypes/E_BeginWithUppercase03.fsx | 2 +- .../UnionTypes/E_BeginWithUppercase04.fsx | 2 +- .../E_BeginWithUppercaseNoPipe01.fsx | 2 +- .../UnionTypes/E_DuplicateUnionCase01.fsx | 2 +- .../UnionTypes/E_Interface_IComparable.fsx | 2 +- .../Types/UnionTypes/E_LowercaseDT.fs | 2 +- .../Types/UnionTypes/E_Member_Duplicate01.fsx | 2 +- .../Types/UnionTypes/E_SampleFromSpec01d.fsx | 2 +- .../Types/UnionTypes/E_SampleFromSpec01d2.fsx | 2 +- .../E_ScopeAndDataConstrAndPattern01.fsx | 2 +- .../Types/UnionTypes/E_UnionsNotNull01.fs | 2 +- .../Types/UnionTypes/ImplicitEquals001.fs | 2 +- .../Types/UnionTypes/Interface01.fsx | 2 +- .../UnionTypes/Interface_IComparable.fsx | 2 +- .../Conformance/Types/UnionTypes/Member01.fsx | 2 +- .../Types/UnionTypes/Parenthesis01.fsx | 2 +- .../Types/UnionTypes/Recursive01.fsx | 2 +- .../Types/UnionTypes/SampleFromSpec01.fsx | 2 +- .../Types/UnionTypes/SampleFromSpec01b.fsx | 17 - .../Types/UnionTypes/SampleFromSpec01d.fsx | 2 +- .../ScopeAndDataConstrAndPattern01.fsx | 2 +- .../UnionTypes/UnionCaseProduction01.fsx | 2 +- .../UnionTypes/UnionCasesProduction01.fsx | 2 +- .../Types/UnionTypes/UnionTypes.fs | 10 - .../Types/UnionTypes/UnionsNotNull02.fs | 2 +- .../Types/UnionTypes/W_SampleFromSpec01c.fsx | 2 +- .../UnionTypes/W_UnionCaseProduction01.fsx | 2 +- .../UnitsOfMeasure/Basic/Calculus.fsx | 2 +- .../UnitsOfMeasure/Basic/DynamicTypeTest.fsx | 2 +- .../UnitsOfMeasure/Basic/E_MassForce.fsx | 2 +- .../Conformance/UnitsOfMeasure/Basic/Mars.fsx | 2 +- .../UnitsOfMeasure/Basic/MassForce.fsx | 2 +- .../UnitsOfMeasure/Basic/Misc01.fsx | 2 +- .../UnitsOfMeasure/Basic/Misc02.fsx | 2 +- .../UnitsOfMeasure/Basic/Misc04.fsx | 2 +- .../UnitsOfMeasure/Basic/OnDecimals01.fsx | 2 +- .../Basic/Quotation04_hidden.fsx | 2 +- .../Conformance/UnitsOfMeasure/Basic/SI.fsx | 2 +- .../UnitsOfMeasure/Basic/Stats.fsx | 2 +- .../UnitsOfMeasure/Bounds/infinity_01.fsx | 2 +- .../UnitsOfMeasure/Bounds/nan_01.fsx | 2 +- .../E_CantBeUsedAsPrefixArgToAType01.fsx | 2 +- .../E_CantBeUsedAsPrefixArgToAType02.fsx | 2 +- .../E_CantBeUsedAsPrefixArgToAType03.fsx | 2 +- .../E_CantBeUsedAsPrefixArgToAType04.fsx | 2 +- .../E_ExpectedTypeNotUnitOfMeasure01.fsx | 2 +- .../E_ExplicitUnitOfMeasureParameters01.fsx | 2 +- .../E_ExplicitUnitOfMeasureParameters02.fsx | 2 +- .../E_ExplicitUnitOfMeasureParameters03.fsx | 2 +- .../E_ExplicitUnitOfMeasureParameters04.fsx | 2 +- .../E_ParsingRationalExponents.fsx | 2 +- .../E_UnexpectedTypeParameter01.fsx | 2 +- .../Diagnostics/E_ZeroDenominator.fsx | 2 +- .../UnitsOfMeasure/Parenthesis/E_Error02.fsx | 2 +- .../UnitsOfMeasure/Parenthesis/E_Error03.fsx | 2 +- .../UnitsOfMeasure/Parenthesis/E_Error04.fsx | 2 +- .../UnitsOfMeasure/Parenthesis/E_Error05.fsx | 2 +- .../UnitsOfMeasure/Parenthesis/E_Error06.fsx | 2 +- .../Parenthesis/W_ImplicitProduct01.fsx | 2 +- .../UnitsOfMeasure/Parsing/E_Nesting01.fsx | 2 +- .../Parsing/GreaterBarRBrack01.fsx | 2 +- .../UnitsOfMeasure/Parsing/PowerSynonym.fsx | 2 +- .../UnitsOfMeasure/Parsing/QuotientAssoc.fsx | 2 +- .../UnitsOfMeasure/Parsing/Reciprocal01.fsx | 2 +- .../TypeAbbreviation_decimal_01.fsx | 2 +- .../TypeAbbreviation_float32_01.fsx | 2 +- .../TypeChecker/TypeAbbreviation_float_01.fsx | 2 +- .../TypeChecker/TypeConstraint02.fsx | 2 +- .../TypeChecker/W_LessGeneric02.fsx | 2 +- .../WithOOP/E_NoConstructorOnMeasure01.fsx | 2 +- .../UnitsOfMeasure/WithOOP/GenericUOM01.fsx | 2 +- .../UnitsOfMeasure/WithOOP/InInterface01.fsx | 2 +- .../UnitsOfMeasure/WithOOP/Polymorphism02.fsx | 2 +- .../WithOOP/StaticsOnMeasure01.fsx | 2 +- .../ConstraintSolver/PrimitiveConstraints.fs | 2 - .../InequalityComparison01.fs | 2 +- .../InequalityComparison02.fs | 2 +- .../InequalityComparison03.fs | 2 +- .../InequalityComparison04.fs | 2 +- .../InequalityComparison05.fs | 2 +- .../Misc/ArgumentNamesInClosures01.fs | 2 +- .../EmittedIL/Misc/Decimal01.fs | 2 +- .../EmittedIL/Misc/ModuleWithExpression01.fs | 2 +- .../EmittedIL/Misc/Seq_for_all01.fs | 2 +- .../EmittedIL/Structure/AttributesOnLet01.fs | 2 +- .../EmittedIL/Structure/AttributesOnLet02.fs | 2 +- .../EmittedIL/Structure/ClassArity01.fs | 2 +- .../EmittedIL/Structure/CodeGenHelper.fs | 2 +- .../EmittedIL/Structure/Delegates01.fs | 2 +- .../EmittedIL/Structure/Events01.fs | 2 +- .../EmittedIL/Structure/Events02.fs | 2 +- .../EmittedIL/Structure/FunctionArity01.fs | 2 +- .../Structure/ObjectExpressions01.fs | 2 +- .../Structure/UnionTypeWithSignature01.fs | 2 +- .../Structure/UnionTypeWithSignature01.fsi | 2 +- .../Structure/UnionTypeWithSignature02.fsi | 2 +- .../EmittedIL/Structure/UnitsOfMeasure01.fs | 2 +- .../EmittedIL/Structure/UnitsOfMeasure02.fs | 2 +- .../EmittedIL/Structure/UnitsOfMeasure03.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction01.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction02.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction03.fs | 2 +- .../TestFunctions/TestFunction03b.fs | 2 +- .../TestFunctions/TestFunction03c.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction04.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction05.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction06.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction07.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction08.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction09.fs | 2 +- .../TestFunctions/TestFunction09b.fs | 2 +- .../TestFunctions/TestFunction09b1.fs | 2 +- .../TestFunctions/TestFunction09b2.fs | 2 +- .../TestFunctions/TestFunction09b3.fs | 2 +- .../TestFunctions/TestFunction09b4.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction10.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction11.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction12.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction13.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction14.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction15.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction16.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction17.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction18.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction19.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction20.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction21.fs | 2 +- .../EmittedIL/TestFunctions/TestFunction22.fs | 2 +- .../TestFunctions/TestFunction22b.fs | 2 +- .../TestFunctions/TestFunction22c.fs | 2 +- .../TestFunctions/TestFunction22d.fs | 2 +- .../TestFunctions/TestFunction22e.fs | 2 +- .../TestFunctions/TestFunction22f.fs | 2 +- .../TestFunctions/TestFunction22g.fs | 2 +- .../TestFunctions/TestFunction22h.fs | 2 +- .../EmittedIL/Tuples/Tuple01.fs | 2 +- .../EmittedIL/Tuples/Tuple02.fs | 2 +- .../EmittedIL/Tuples/Tuple03.fs | 2 +- .../EmittedIL/Tuples/Tuple04.fs | 2 +- .../EmittedIL/Tuples/Tuple05.fs | 2 +- .../EmittedIL/Tuples/Tuple06.fs | 2 +- .../EmittedIL/Tuples/Tuple07.fs | 2 +- .../EmittedIL/Tuples/Tuple08.fs | 2 +- .../EmittedIL/Tuples/TupleMonster.fs | 2 +- .../FSharp.Compiler.ComponentTests.fsproj | 1 - .../Globalization/Arabic.fs | 2 +- .../Globalization/Hindi.fs | 2 +- .../Globalization/Mongolian.fs | 2 +- .../Globalization/RightToLeft.fs | 2 +- .../Globalization/Surrogates.fs | 2 +- .../Globalization/Tamil.fs | 2 +- .../Globalization/Tibetan.fs | 2 +- .../Globalization/TurkishI.fs | 2 +- .../Globalization/Uighur.fs | 2 +- .../Globalization/Yi.fs | 2 +- .../Globalization/gb18030.fs | 2 +- .../Globalization/utf16.fs | 2 +- .../Globalization/utf8.fs | 2 +- .../Miscellaneous/FsharpSuiteMigrated.fs | 1 - .../Miscellaneous/MigratedCoreTests.fs | 18 - .../OCamlCompat/E_IndentOff01.fs | 4 - .../OCamlCompat/E_IndentOff06.fsx | 4 - .../OCamlCompat/E_mlExtension01.ml | 3 - .../OCamlCompat/Hat01.fs | 5 - .../OCamlCompat/IndentOff02.fs | 5 - .../OCamlCompat/IndentOff04.fsx | 4 - .../OCamlCompat/MultiArgumentGenericType.fs | 17 - .../OCamlCompat/NoParensInLet01.fs | 21 - .../OCamlCompat/OCamlCompat.fs | 183 ------ .../OCamlCompat/OCamlStyleArrayIndexing.fs | 13 - .../OCamlCompat/W-NoParensInLet01.fs | 11 - .../OCamlCompat/W_Hat01.fs | 7 - .../OCamlCompat/W_IndentOff03.fs | 5 - .../OCamlCompat/W_IndentOff05.fsx | 4 - .../OCamlCompat/W_MultiArgumentGenericType.fs | 24 - .../OCamlCompat/W_mlExtension03.ml | 3 - .../OCamlCompat/mlExtension02.ml | 3 - .../access.fsx | 2 +- .../measures.fsx | 2 +- .../E_enumNegativeLiterals008.fs | 2 +- .../E_enumNegativeLiterals009.fs | 2 +- .../enumNegativeLiterals001.fs | 2 +- .../Shift/Generics/RightShift001.fs | 2 +- .../Shift/Generics/RightShift002.fs | 2 +- .../GreaterThanClosedCurly01.fs | 2 +- .../GreaterThanClosedCurly02.fs | 2 +- .../GreaterThanClosedCurly03.fs | 2 +- .../GreaterThanClosedCurly04.fs | 2 +- .../GreaterThanClosedCurly05.fs | 2 +- .../GreaterThanClosedParenthesis01.fs | 2 +- .../GreaterThanClosedSquare01.fs | 2 +- .../GreaterThanClosedSquare02.fs | 2 +- .../E_GreaterThanColon002.fs | 2 +- .../SymbolicOperators/GreaterThanColon001.fs | 2 +- .../Printing/BindingsWithValues01.fsx | 2 +- .../Printing/CustomExceptions01.fs | 2 +- .../Printing/CustomExceptions02.fsx | 2 +- .../UnitsOfMeasureIdentifiersRoundTrip01.fsx | 2 +- .../UnitsOfMeasureIdentifiersRoundTrip02.fs | 2 +- .../UnitsOfMeasureIdentifiersRoundTrip02.fsx | 2 +- .../Printing/WidthForAFormatter.fs | 2 +- .../General/W_Keyword_tailcall01.fs | 2 +- .../expected-help-output.bsl | 1 - tests/FSharp.Test.Utilities/Compiler.fs | 3 - tests/FSharp.Test.Utilities/ScriptHelpers.fs | 3 +- tests/fsharp/perf/graph/test.ml | 542 ------------------ tests/fsharp/perf/nbody/test.ml | 148 ----- tests/service/data/SyntaxTree/Type/Type 10.fs | 1 - 637 files changed, 654 insertions(+), 3329 deletions(-) delete mode 100644 tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_OCamlCompat.fsx delete mode 100644 tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/W_Production_OCamlCompat.fsx delete mode 100644 tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01b.fsx delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_IndentOff01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_IndentOff06.fsx delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_mlExtension01.ml delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/Hat01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/IndentOff02.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/IndentOff04.fsx delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/MultiArgumentGenericType.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/NoParensInLet01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlStyleArrayIndexing.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/W-NoParensInLet01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_Hat01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_IndentOff03.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_IndentOff05.fsx delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_MultiArgumentGenericType.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_mlExtension03.ml delete mode 100644 tests/FSharp.Compiler.ComponentTests/OCamlCompat/mlExtension02.ml delete mode 100644 tests/fsharp/perf/graph/test.ml delete mode 100644 tests/fsharp/perf/nbody/test.ml diff --git a/src/Compiler/Checking/AttributeChecking.fs b/src/Compiler/Checking/AttributeChecking.fs index 3ec71958851..9388bc238a8 100755 --- a/src/Compiler/Checking/AttributeChecking.fs +++ b/src/Compiler/Checking/AttributeChecking.fs @@ -458,11 +458,7 @@ let CheckILAttributesForUnseen (g: TcGlobals) cattrs _m = let CheckFSharpAttributesForHidden g attribs = not (isNil attribs) && (match TryFindFSharpAttribute g g.attrib_CompilerMessageAttribute attribs with - | Some(Attrib(_, _, [AttribStringArg _; AttribInt32Arg messageNumber], - ExtractAttribNamedArg "IsHidden" (AttribBoolArg v), _, _, _)) -> - // Message number 62 is for "ML Compatibility". Items labelled with this are visible in intellisense - // when mlCompatibility is set. - v && not (messageNumber = 62 && g.mlCompatibility) + | Some(Attrib(_, _, _, ExtractAttribNamedArg "IsHidden" (AttribBoolArg v), _, _, _)) -> v | _ -> false) || (match TryFindFSharpAttribute g g.attrib_ComponentModelEditorBrowsableAttribute attribs with diff --git a/src/Compiler/Driver/CompilerConfig.fs b/src/Compiler/Driver/CompilerConfig.fs index 5bd5c5266ce..53fdce6d9dc 100644 --- a/src/Compiler/Driver/CompilerConfig.fs +++ b/src/Compiler/Driver/CompilerConfig.fs @@ -37,17 +37,12 @@ let (++) x s = x @ [ s ] // Some Globals //-------------------------------------------------------------------------- -let FSharpSigFileSuffixes = [ ".mli"; ".fsi" ] +let FSharpSigFileSuffixes = [ ".fsi" ] -let FSharpMLCompatFileSuffixes = [ ".mli"; ".ml" ] - -let FSharpImplFileSuffixes = [ ".ml"; ".fs"; ".fsscript"; ".fsx" ] +let FSharpImplFileSuffixes = [ ".fs"; ".fsscript"; ".fsx" ] let FSharpScriptFileSuffixes = [ ".fsscript"; ".fsx" ] -let FSharpIndentationAwareSyntaxFileSuffixes = - [ ".fs"; ".fsscript"; ".fsx"; ".fsi" ] - let FSharpExperimentalFeaturesEnabledAutomatically = String.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable("FSHARP_EXPERIMENTAL_FEATURES")) |> not @@ -467,7 +462,6 @@ type TcConfigBuilder = mutable implicitlyReferenceDotNetAssemblies: bool mutable resolutionEnvironment: LegacyResolutionEnvironment mutable implicitlyResolveAssemblies: bool - mutable indentationAwareSyntax: bool option mutable conditionalDefines: string list mutable loadedSources: (range * string * string) list mutable compilerToolPaths: string list @@ -482,7 +476,6 @@ type TcConfigBuilder = mutable clearResultsCache: bool mutable embedResources: string list mutable diagnosticsOptions: FSharpDiagnosticOptions - mutable mlCompatibility: bool mutable checkNullness: bool mutable checkOverflow: bool mutable showReferenceResolutions: bool @@ -701,7 +694,6 @@ type TcConfigBuilder = // These are all default values, many can be overridden using the command line switch { primaryAssembly = PrimaryAssembly.Mscorlib - indentationAwareSyntax = None noFeedback = false stackReserveSize = None conditionalDefines = [] @@ -725,7 +717,6 @@ type TcConfigBuilder = clearResultsCache = false subsystemVersion = 4, 0 // per spec for 357994 useHighEntropyVA = false - mlCompatibility = false checkNullness = false checkOverflow = false showReferenceResolutions = false @@ -960,10 +951,6 @@ type TcConfigBuilder = match GetWarningNumber(m, WarningDescription.String s, tcConfigB.langVersion, WarningNumberSource.CommandLineOption) with | None -> () | Some n -> - // nowarn:62 turns on mlCompatibility, e.g. shows ML compat items in intellisense menus - if n = 62 then - tcConfigB.mlCompatibility <- true - tcConfigB.diagnosticsOptions <- { tcConfigB.diagnosticsOptions with WarnOff = ListSet.insert (=) n tcConfigB.diagnosticsOptions.WarnOff @@ -975,10 +962,6 @@ type TcConfigBuilder = match GetWarningNumber(m, WarningDescription.String s, tcConfigB.langVersion, WarningNumberSource.CommandLineOption) with | None -> () | Some n -> - // warnon 62 turns on mlCompatibility, e.g. shows ML compat items in intellisense menus - if n = 62 then - tcConfigB.mlCompatibility <- false - tcConfigB.diagnosticsOptions <- { tcConfigB.diagnosticsOptions with WarnOn = ListSet.insert (=) n tcConfigB.diagnosticsOptions.WarnOn @@ -1284,7 +1267,6 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) = member _.implicitlyReferenceDotNetAssemblies = data.implicitlyReferenceDotNetAssemblies member _.implicitlyResolveAssemblies = data.implicitlyResolveAssemblies member _.resolutionEnvironment = data.resolutionEnvironment - member _.indentationAwareSyntax = data.indentationAwareSyntax member _.conditionalDefines = data.conditionalDefines member _.loadedSources = data.loadedSources member _.compilerToolPaths = data.compilerToolPaths @@ -1298,7 +1280,6 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) = member _.clearResultsCache = data.clearResultsCache member _.embedResources = data.embedResources member _.diagnosticsOptions = data.diagnosticsOptions - member _.mlCompatibility = data.mlCompatibility member _.checkNullness = data.checkNullness member _.checkOverflow = data.checkOverflow member _.showReferenceResolutions = data.showReferenceResolutions @@ -1429,17 +1410,6 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) = // This call can fail if no CLR is found (this is the path to mscorlib) member _.GetTargetFrameworkDirectories() = targetFrameworkDirectories - member tcConfig.ComputeIndentationAwareSyntaxInitialStatus fileName = - use _unwindBuildPhase = UseBuildPhase BuildPhase.Parameter - - let indentationAwareSyntaxOnByDefault = - List.exists (FileSystemUtils.checkSuffix fileName) FSharpIndentationAwareSyntaxFileSuffixes - - if indentationAwareSyntaxOnByDefault then - (tcConfig.indentationAwareSyntax <> Some false) - else - (tcConfig.indentationAwareSyntax = Some true) - member tcConfig.GetAvailableLoadedSources() = use _unwindBuildPhase = UseBuildPhase BuildPhase.Parameter diff --git a/src/Compiler/Driver/CompilerConfig.fsi b/src/Compiler/Driver/CompilerConfig.fsi index 646b4477be3..de7fea398ee 100644 --- a/src/Compiler/Driver/CompilerConfig.fsi +++ b/src/Compiler/Driver/CompilerConfig.fsi @@ -256,9 +256,6 @@ type TcConfigBuilder = mutable implicitlyResolveAssemblies: bool - /// Set if the user has explicitly turned indentation-aware syntax on/off - mutable indentationAwareSyntax: bool option - mutable conditionalDefines: string list /// Sources added into the build with #load @@ -288,8 +285,6 @@ type TcConfigBuilder = mutable diagnosticsOptions: FSharpDiagnosticOptions - mutable mlCompatibility: bool - mutable checkNullness: bool mutable checkOverflow: bool @@ -607,9 +602,6 @@ type TcConfig = member implicitlyResolveAssemblies: bool - /// Set if the user has explicitly turned indentation-aware syntax on/off - member indentationAwareSyntax: bool option - member conditionalDefines: string list member subsystemVersion: int * int @@ -630,8 +622,6 @@ type TcConfig = member diagnosticsOptions: FSharpDiagnosticOptions - member mlCompatibility: bool - member checkNullness: bool member checkOverflow: bool @@ -822,8 +812,6 @@ type TcConfig = member strictIndentation: bool option - member ComputeIndentationAwareSyntaxInitialStatus: string -> bool - member GetTargetFrameworkDirectories: unit -> string list /// Get the loaded sources that exist and issue a warning for the ones that don't @@ -953,10 +941,5 @@ val FSharpImplFileSuffixes: string list /// Script file suffixes val FSharpScriptFileSuffixes: string list -/// File suffixes where #light is the default -val FSharpIndentationAwareSyntaxFileSuffixes: string list - -val FSharpMLCompatFileSuffixes: string list - /// Indicates whether experimental features should be enabled automatically val FSharpExperimentalFeaturesEnabledAutomatically: bool diff --git a/src/Compiler/Driver/CompilerDiagnostics.fs b/src/Compiler/Driver/CompilerDiagnostics.fs index 71b0ba0eb2c..d2e22cc601c 100644 --- a/src/Compiler/Driver/CompilerDiagnostics.fs +++ b/src/Compiler/Driver/CompilerDiagnostics.fs @@ -1279,7 +1279,6 @@ type Exception with | Parser.TOKEN_HIGH_PRECEDENCE_BRACK_APP -> SR.GetString("Parser.TOKEN.HIGH.PRECEDENCE.BRACK.APP") | Parser.TOKEN_BEGIN -> SR.GetString("Parser.TOKEN.BEGIN") | Parser.TOKEN_END -> SR.GetString("Parser.TOKEN.END") - | Parser.TOKEN_HASH_LIGHT | Parser.TOKEN_HASH_LINE | Parser.TOKEN_HASH_IF | Parser.TOKEN_HASH_ELSE diff --git a/src/Compiler/Driver/CompilerImports.fs b/src/Compiler/Driver/CompilerImports.fs index cb60295b4fe..4b25b38633b 100644 --- a/src/Compiler/Driver/CompilerImports.fs +++ b/src/Compiler/Driver/CompilerImports.fs @@ -2593,7 +2593,6 @@ and [] TcImports ilGlobals, fslibCcu, tcConfig.implicitIncludeDir, - tcConfig.mlCompatibility, tcConfig.isInteractive, tcConfig.checkNullness, tcConfig.useReflectionFreeCodeGen, diff --git a/src/Compiler/Driver/CompilerOptions.fs b/src/Compiler/Driver/CompilerOptions.fs index a62dad75eac..1772eee66ec 100644 --- a/src/Compiler/Driver/CompilerOptions.fs +++ b/src/Compiler/Driver/CompilerOptions.fs @@ -1129,17 +1129,6 @@ let codeGenerationFlags isFsi (tcConfigB: TcConfigBuilder) = let defineSymbol tcConfigB s = tcConfigB.conditionalDefines <- s :: tcConfigB.conditionalDefines -let mlCompatibilityFlag (tcConfigB: TcConfigBuilder) = - CompilerOption( - "mlcompatibility", - tagNone, - OptionUnit(fun () -> - tcConfigB.mlCompatibility <- true - tcConfigB.TurnWarningOff(rangeCmdArgs, "62")), - None, - Some(FSComp.SR.optsMlcompatibility ()) - ) - let GetLanguageVersions () = seq { FSComp.SR.optsSupportedLangVersions () @@ -1192,8 +1181,6 @@ let languageFlags tcConfigB = CompilerOption("define", tagString, OptionString(defineSymbol tcConfigB), None, Some(FSComp.SR.optsDefine ())) - mlCompatibilityFlag tcConfigB - CompilerOption( "strict-indentation", tagNone, @@ -1905,39 +1892,10 @@ let gnuStyleErrorsFlag tcConfigB = None ) -let deprecatedFlagsBoth tcConfigB = - [ - CompilerOption( - "light", - tagNone, - OptionUnit(fun () -> tcConfigB.indentationAwareSyntax <- Some true), - Some(DeprecatedCommandLineOptionNoDescription("--light", rangeCmdArgs)), - None - ) - - CompilerOption( - "indentation-syntax", - tagNone, - OptionUnit(fun () -> tcConfigB.indentationAwareSyntax <- Some true), - Some(DeprecatedCommandLineOptionNoDescription("--indentation-syntax", rangeCmdArgs)), - None - ) - - CompilerOption( - "no-indentation-syntax", - tagNone, - OptionUnit(fun () -> tcConfigB.indentationAwareSyntax <- Some false), - Some(DeprecatedCommandLineOptionNoDescription("--no-indentation-syntax", rangeCmdArgs)), - None - ) - ] - -let deprecatedFlagsFsi tcConfigB = - [ noFrameworkFlag false tcConfigB; yield! deprecatedFlagsBoth tcConfigB ] +let deprecatedFlagsFsi tcConfigB = [ noFrameworkFlag false tcConfigB ] let deprecatedFlagsFsc tcConfigB = - deprecatedFlagsBoth tcConfigB - @ [ + [ cliRootFlag tcConfigB CompilerOption( "jit-optimize", diff --git a/src/Compiler/Driver/ParseAndCheckInputs.fs b/src/Compiler/Driver/ParseAndCheckInputs.fs index 769b31dd13b..6c53e11ab14 100644 --- a/src/Compiler/Driver/ParseAndCheckInputs.fs +++ b/src/Compiler/Driver/ParseAndCheckInputs.fs @@ -24,7 +24,6 @@ open FSharp.Compiler.CompilerDiagnostics open FSharp.Compiler.CompilerImports open FSharp.Compiler.Diagnostics open FSharp.Compiler.DiagnosticsLogger -open FSharp.Compiler.Features open FSharp.Compiler.IO open FSharp.Compiler.LexerStore open FSharp.Compiler.Lexhelp @@ -55,9 +54,6 @@ let CanonicalizeFilename fileName = let IsScript fileName = FSharpScriptFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) -let IsMLCompatFile fileName = - FSharpMLCompatFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) - // Give a unique name to the different kinds of inputs. Used to correlate signature and implementation files // QualFileNameOfModuleName - files with a single module declaration or an anonymous module let QualFileNameOfModuleName m fileName modname = @@ -123,7 +119,7 @@ let ComputeAnonModuleName check defaultNamespace fileName (m: range) = pathToSynLid anonymousModuleNameRange (splitNamespace combined) let FileRequiresModuleOrNamespaceDecl isLast isExe fileName = - not (isLast && isExe) && not (IsScript fileName || IsMLCompatFile fileName) + not (isLast && isExe) && not (IsScript fileName) let PostParseModuleImpl (_i, defaultNamespace, isLastCompiland, fileName, impl) = match impl with @@ -461,12 +457,6 @@ let ParseInput else lexer - if FSharpMLCompatFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) then - if lexbuf.SupportsFeature LanguageFeature.MLCompatRevisions then - errorR (Error(FSComp.SR.buildInvalidSourceFileExtensionML fileName, rangeStartup)) - else - mlCompatWarning (FSComp.SR.buildCompilingExtensionIsForML ()) rangeStartup - // Call the appropriate parser - for signature files or implementation files if FSharpImplFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) then let impl = implementationFile lexer lexbuf @@ -474,10 +464,8 @@ let ParseInput elif FSharpSigFileSuffixes |> List.exists (FileSystemUtils.checkSuffix fileName) then let intfs = signatureFile lexer lexbuf PostParseModuleSpecs(defaultNamespace, fileName, isLastCompiland, intfs, lexbuf, diagnosticOptions, Set identStore) - else if lexbuf.SupportsFeature LanguageFeature.MLCompatRevisions then - error (Error(FSComp.SR.buildInvalidSourceFileExtensionUpdated fileName, rangeStartup)) else - error (Error(FSComp.SR.buildInvalidSourceFileExtension fileName, rangeStartup)) + error (Error(FSComp.SR.buildInvalidSourceFileExtensionUpdated fileName, rangeStartup)) finally // OK, now commit the errors, since the ScopedPragmas will (hopefully) have been scraped let filteringDiagnosticsLogger = @@ -569,15 +557,10 @@ let ParseOneInputLexbuf (tcConfig: TcConfig, lexResourceManager, lexbuf, fileNam // Don't report whitespace from lexer let skipWhitespaceTokens = true - // Set up the initial status for indentation-aware processing - let indentationSyntaxStatus = - IndentationAwareSyntaxStatus(tcConfig.ComputeIndentationAwareSyntaxInitialStatus fileName, true) - // Set up the initial lexer arguments let lexargs = mkLexargs ( tcConfig.conditionalDefines, - indentationSyntaxStatus, lexResourceManager, [], diagnosticsLogger, @@ -595,7 +578,6 @@ let ParseOneInputLexbuf (tcConfig: TcConfig, lexResourceManager, lexbuf, fileNam | TokenizeOption.Only -> LexFilter .LexFilter( - indentationSyntaxStatus, tcConfig.compilingFSharpCore, Lexer.token lexargs skipWhitespaceTokens, lexbuf, @@ -606,7 +588,6 @@ let ParseOneInputLexbuf (tcConfig: TcConfig, lexResourceManager, lexbuf, fileNam | _ -> LexFilter .LexFilter( - indentationSyntaxStatus, tcConfig.compilingFSharpCore, Lexer.token lexargs skipWhitespaceTokens, lexbuf, @@ -656,7 +637,9 @@ let checkInputFile (tcConfig: TcConfig) fileName = if not (FileSystem.FileExistsShim fileName) then error (Error(FSComp.SR.buildCouldNotFindSourceFile fileName, rangeStartup)) else - error (Error(FSComp.SR.buildInvalidSourceFileExtension (SanitizeFileName fileName tcConfig.implicitIncludeDir), rangeStartup)) + error ( + Error(FSComp.SR.buildInvalidSourceFileExtensionUpdated (SanitizeFileName fileName tcConfig.implicitIncludeDir), rangeStartup) + ) let parseInputStreamAux (tcConfig: TcConfig, lexResourceManager, fileName, isLastCompiland, diagnosticsLogger, retryLocked, stream: Stream) diff --git a/src/Compiler/Driver/fsc.fs b/src/Compiler/Driver/fsc.fs index 198b74601c4..8215c594fe1 100644 --- a/src/Compiler/Driver/fsc.fs +++ b/src/Compiler/Driver/fsc.fs @@ -318,11 +318,7 @@ module InterfaceFileWriter = Printf.fprintf os "%s\n\n" text let writeHeader filePath os = - if - filePath <> "" - && not (List.exists (FileSystemUtils.checkSuffix filePath) FSharpIndentationAwareSyntaxFileSuffixes) - then - fprintfn os "#light" + if filePath <> "" then fprintfn os "" let writeAllToSameFile declaredImpls = @@ -341,16 +337,9 @@ module InterfaceFileWriter = if tcConfig.printSignatureFile <> "" then os.Dispose() - let extensionForFile (filePath: string) = - if (List.exists (FileSystemUtils.checkSuffix filePath) FSharpMLCompatFileSuffixes) then - ".mli" - else - ".fsi" - let writeToSeparateFiles (declaredImpls: CheckedImplFile list) = for CheckedImplFile(qualifiedNameOfFile = name) as impl in declaredImpls do - let fileName = - !!Path.ChangeExtension(name.Range.FileName, extensionForFile name.Range.FileName) + let fileName = !!Path.ChangeExtension(name.Range.FileName, ".fsi") printfn "writing impl file to %s" fileName use os = FileSystem.OpenFileForWriteShim(fileName, FileMode.Create).GetWriter() diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index 512e9b4dca7..4e7af3b07b5 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -59,9 +59,7 @@ tupleRequiredInAbstractMethod,"\nA tuple type is required for one or more argume 223,buildMultipleToplevelModules,"This file contains multiple declarations of the form 'module SomeNamespace.SomeModule'. Only one declaration of this form is permitted in a file. Change your file to use an initial namespace declaration and/or use 'module ModuleName = ...' to define your modules." 224,buildOptionRequiresParameter,"Option requires parameter: %s" 225,buildCouldNotFindSourceFile,"Source file '%s' could not be found" -226,buildInvalidSourceFileExtension,"The file extension of '%s' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli." 226,buildInvalidSourceFileExtensionUpdated,"The file extension of '%s' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript" -226,buildInvalidSourceFileExtensionML,"The file extension of '%s' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'." 227,buildCouldNotResolveAssembly,"Could not resolve assembly '%s'" 229,buildErrorOpeningBinaryFile,"Error opening binary file '%s': %s" 231,buildDifferentVersionMustRecompile,"The F#-compiled DLL '%s' needs to be recompiled to be used with this version of F#" @@ -895,7 +893,6 @@ optsNowarn,"Disable specific warning messages" optsWarnOn,"Enable specific warnings that may be off by default" optsChecked,"Generate overflow checks (%s by default)" optsDefine,"Define conditional compilation symbols (Short form: -d)" -optsMlcompatibility,"Ignore ML compatibility warnings" optsNologo,"Suppress compiler copyright message" optsHelp,"Display this usage message (Short form: -?)" optsVersion,"Display compiler version banner and exit" @@ -1096,21 +1093,10 @@ parsNonAtomicType,"The use of the type syntax 'int C' and 'C ' is not perm 1202,typrelCannotResolveAmbiguityInUnmanaged,"Could not resolve the ambiguity in the use of a generic construct with an 'unmanaged' constraint at or near this position" #1203 - used for error in FSharp.Core CompilerMessage message #1204 - used for error in FSharp.Core CompilerMessage message -mlCompatMessage,"This construct is for ML compatibility. %s. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'." -mlCompatError,"This construct is deprecated. %s. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'." -mlCompatKeyword,"In previous versions of F# '%s' was a reserved keyword but the use of this keyword is now deprecated" -mlCompatLightOffNoLongerSupported,"The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported" -mlCompatSigColonNoLongerSupported,"The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead" -mlCompatSigEndNoLongerSupported,"The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead" -mlCompatMultiPrefixTyparsNoLongerSupported,"The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported" -mlCompatStructEndNoLongerSupported,"The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead" 1206,ilFieldDoesNotHaveValidOffsetForStructureLayout,"The type '%s' has been marked as having an Explicit layout, but the field '%s' has not been marked with the 'FieldOffset' attribute" 1207,tcInterfacesShouldUseInheritNotInterface,"Interfaces inherited by other interfaces should be declared using 'inherit ...' instead of 'interface ...'" 1208,parsInvalidPrefixOperator,"Invalid prefix operator" 1208,parsInvalidPrefixOperatorDefinition,"Invalid operator definition. Prefix operator definitions must use a valid prefix operator name." -buildCompilingExtensionIsForML,"The file extensions '.ml' and '.mli' are for ML compatibility" -lexIndentOffForML,"Consider using a file with extension '.ml' or '.mli' instead" -lexIfOCaml,"IF-FSHARP/IF-CAML regions are no longer supported" 1209,activePatternIdentIsNotFunctionTyped,"Active pattern '%s' is not a function" 1210,activePatternChoiceHasFreeTypars,"Active pattern '%s' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x'" 1211,ilFieldHasOffsetForSequentialLayout,"The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit)" @@ -1264,7 +1250,6 @@ featureRefCellNotationInformationals,"informational messages related to referenc featureDiscardUseValue,"discard pattern in use binding" featureNonVariablePatternsToRightOfAsPatterns,"non-variable patterns to the right of 'as' patterns" featureAttributesToRightOfModuleKeyword,"attributes to the right of the 'module' keyword" -featureMLCompatRevisions,"ML compatibility revisions" featureBetterExceptionPrinting,"automatic generation of 'Message' property for 'exception' declarations" featureDelegateTypeNameResolutionFix,"fix to resolution of delegate type names, see https://github.com/dotnet/fsharp/issues/10228" 3090,tcIfThenElseMayNotBeUsedWithinQueries,"An if/then/else expression may not be used within queries. Consider using either an if/then expression, or use a sequence expression instead." diff --git a/src/Compiler/Facilities/DiagnosticsLogger.fs b/src/Compiler/Facilities/DiagnosticsLogger.fs index 58d24ddaaa7..bd4aa960a65 100644 --- a/src/Compiler/Facilities/DiagnosticsLogger.fs +++ b/src/Compiler/Facilities/DiagnosticsLogger.fs @@ -610,12 +610,6 @@ let libraryOnlyWarning m = warning (LibraryUseOnly m) let deprecatedOperator m = deprecatedWithError (FSComp.SR.elDeprecatedOperator ()) m -let mlCompatWarning s m = - warning (UserCompilerMessage(FSComp.SR.mlCompatMessage s, 62, m)) - -let mlCompatError s m = - errorR (UserCompilerMessage(FSComp.SR.mlCompatError s, 62, m)) - [] let suppressErrorReporting f = let diagnosticsLogger = DiagnosticsThreadStatics.DiagnosticsLogger diff --git a/src/Compiler/Facilities/DiagnosticsLogger.fsi b/src/Compiler/Facilities/DiagnosticsLogger.fsi index 7a083efae7e..3cbc16b1e4f 100644 --- a/src/Compiler/Facilities/DiagnosticsLogger.fsi +++ b/src/Compiler/Facilities/DiagnosticsLogger.fsi @@ -333,10 +333,6 @@ val libraryOnlyWarning: m: range -> unit val deprecatedOperator: m: range -> unit -val mlCompatWarning: s: string -> m: range -> unit - -val mlCompatError: s: string -> m: range -> unit - val suppressErrorReporting: f: (unit -> 'T) -> 'T val conditionallySuppressErrorReporting: cond: bool -> f: (unit -> 'T) -> 'T diff --git a/src/Compiler/Facilities/LanguageFeatures.fs b/src/Compiler/Facilities/LanguageFeatures.fs index 4b032db713f..6797aa3e858 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fs +++ b/src/Compiler/Facilities/LanguageFeatures.fs @@ -47,7 +47,6 @@ type LanguageFeature = | UnionIsPropertiesVisible | NonVariablePatternsToRightOfAsPatterns | AttributesToRightOfModuleKeyword - | MLCompatRevisions | BetterExceptionPrinting | DelegateTypeNameResolutionFix | ReallyLongLists @@ -176,7 +175,6 @@ type LanguageVersion(versionText) = LanguageFeature.DelegateTypeNameResolutionFix, languageVersion60 // F# 7.0 - LanguageFeature.MLCompatRevisions, languageVersion70 LanguageFeature.BetterExceptionPrinting, languageVersion70 LanguageFeature.ReallyLongLists, languageVersion70 LanguageFeature.ErrorOnDeprecatedRequireQualifiedAccess, languageVersion70 @@ -349,7 +347,6 @@ type LanguageVersion(versionText) = | LanguageFeature.UnionIsPropertiesVisible -> FSComp.SR.featureUnionIsPropertiesVisible () | LanguageFeature.NonVariablePatternsToRightOfAsPatterns -> FSComp.SR.featureNonVariablePatternsToRightOfAsPatterns () | LanguageFeature.AttributesToRightOfModuleKeyword -> FSComp.SR.featureAttributesToRightOfModuleKeyword () - | LanguageFeature.MLCompatRevisions -> FSComp.SR.featureMLCompatRevisions () | LanguageFeature.BetterExceptionPrinting -> FSComp.SR.featureBetterExceptionPrinting () | LanguageFeature.DelegateTypeNameResolutionFix -> FSComp.SR.featureDelegateTypeNameResolutionFix () | LanguageFeature.ReallyLongLists -> FSComp.SR.featureReallyLongList () diff --git a/src/Compiler/Facilities/LanguageFeatures.fsi b/src/Compiler/Facilities/LanguageFeatures.fsi index 1217b83baf6..dc99e3042b8 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fsi +++ b/src/Compiler/Facilities/LanguageFeatures.fsi @@ -37,7 +37,6 @@ type LanguageFeature = | UnionIsPropertiesVisible | NonVariablePatternsToRightOfAsPatterns | AttributesToRightOfModuleKeyword - | MLCompatRevisions | BetterExceptionPrinting | DelegateTypeNameResolutionFix | ReallyLongLists diff --git a/src/Compiler/Facilities/TextLayoutRender.fs b/src/Compiler/Facilities/TextLayoutRender.fs index 735d44b82ad..7babb76ca29 100644 --- a/src/Compiler/Facilities/TextLayoutRender.fs +++ b/src/Compiler/Facilities/TextLayoutRender.fs @@ -8,8 +8,6 @@ open FSharp.Compiler.Text open FSharp.Compiler.Text.Layout open FSharp.Core.Printf -#nowarn "62" // This construct is for ML compatibility. - type NavigableTaggedText(taggedText: TaggedText, range: range) = inherit TaggedText(taggedText.Tag, taggedText.Text) member val Range = range diff --git a/src/Compiler/Interactive/fsi.fs b/src/Compiler/Interactive/fsi.fs index ca96324426a..5f0973558b9 100644 --- a/src/Compiler/Interactive/fsi.fs +++ b/src/Compiler/Interactive/fsi.fs @@ -3497,13 +3497,6 @@ type FsiStdinLexerProvider lexResourceManager: LexResourceManager ) = - // #light is the default for FSI - let indentationSyntaxStatus = - let initialIndentationAwareSyntaxStatus = - (tcConfigB.indentationAwareSyntax <> Some false) - - IndentationAwareSyntaxStatus(initialIndentationAwareSyntaxStatus, warn = false) - let LexbufFromLineReader (fsiStdinSyphon: FsiStdinSyphon) (readF: unit -> string MaybeNull) = UnicodeLexing.FunctionAsLexbuf( true, @@ -3564,24 +3557,10 @@ type FsiStdinLexerProvider let applyLineDirectives = true let lexargs = - mkLexargs ( - tcConfigB.conditionalDefines, - indentationSyntaxStatus, - lexResourceManager, - [], - diagnosticsLogger, - PathMap.empty, - applyLineDirectives - ) + mkLexargs (tcConfigB.conditionalDefines, lexResourceManager, [], diagnosticsLogger, PathMap.empty, applyLineDirectives) let tokenizer = - LexFilter.LexFilter( - indentationSyntaxStatus, - tcConfigB.compilingFSharpCore, - Lexer.token lexargs skip, - lexbuf, - tcConfigB.tokenize = TokenizeOption.Debug - ) + LexFilter.LexFilter(tcConfigB.compilingFSharpCore, Lexer.token lexargs skip, lexbuf, tcConfigB.tokenize = TokenizeOption.Debug) tokenizer diff --git a/src/Compiler/Service/FSharpCheckerResults.fs b/src/Compiler/Service/FSharpCheckerResults.fs index 584591c059c..9a54ee0c932 100644 --- a/src/Compiler/Service/FSharpCheckerResults.fs +++ b/src/Compiler/Service/FSharpCheckerResults.fs @@ -2809,7 +2809,6 @@ type FSharpParsingOptions = DiagnosticOptions: FSharpDiagnosticOptions LangVersionText: string IsInteractive: bool - IndentationAwareSyntax: bool option StrictIndentation: bool option CompilingFSharpCore: bool IsExe: bool @@ -2827,7 +2826,6 @@ type FSharpParsingOptions = DiagnosticOptions = FSharpDiagnosticOptions.Default LangVersionText = LanguageVersion.Default.VersionText IsInteractive = false - IndentationAwareSyntax = None StrictIndentation = None CompilingFSharpCore = false IsExe = false @@ -2841,7 +2839,6 @@ type FSharpParsingOptions = DiagnosticOptions = tcConfig.diagnosticsOptions LangVersionText = tcConfig.langVersion.VersionText IsInteractive = isInteractive - IndentationAwareSyntax = tcConfig.indentationAwareSyntax StrictIndentation = tcConfig.strictIndentation CompilingFSharpCore = tcConfig.compilingFSharpCore IsExe = tcConfig.target.IsExe @@ -2855,7 +2852,6 @@ type FSharpParsingOptions = DiagnosticOptions = tcConfigB.diagnosticsOptions LangVersionText = tcConfigB.langVersion.VersionText IsInteractive = isInteractive - IndentationAwareSyntax = tcConfigB.indentationAwareSyntax StrictIndentation = tcConfigB.strictIndentation CompilingFSharpCore = tcConfigB.compilingFSharpCore IsExe = tcConfigB.target.IsExe @@ -2947,21 +2943,7 @@ module internal ParseAndCheckFile = ) |] - let getLightSyntaxStatus fileName options = - let indentationAwareSyntaxOnByDefault = - List.exists (FileSystemUtils.checkSuffix fileName) FSharpIndentationAwareSyntaxFileSuffixes - - let indentationSyntaxStatus = - if indentationAwareSyntaxOnByDefault then - (options.IndentationAwareSyntax <> Some false) - else - (options.IndentationAwareSyntax = Some true) - - IndentationAwareSyntaxStatus(indentationSyntaxStatus, true) - - let createLexerFunction fileName options lexbuf (errHandler: DiagnosticsHandler) (ct: CancellationToken) = - let indentationSyntaxStatus = getLightSyntaxStatus fileName options - + let createLexerFunction options lexbuf (errHandler: DiagnosticsHandler) (ct: CancellationToken) = // If we're editing a script then we define INTERACTIVE otherwise COMPILED. // Since this parsing for intellisense we always define EDITING. let conditionalDefines = @@ -2974,18 +2956,10 @@ module internal ParseAndCheckFile = // When analyzing files using ParseOneFile, i.e. for the use of editing clients, we do not apply line directives. // TODO(pathmap): expose PathMap on the service API, and thread it through here let lexargs = - mkLexargs ( - conditionalDefines, - indentationSyntaxStatus, - lexResourceManager, - [], - errHandler.DiagnosticsLogger, - PathMap.empty, - options.ApplyLineDirectives - ) + mkLexargs (conditionalDefines, lexResourceManager, [], errHandler.DiagnosticsLogger, PathMap.empty, options.ApplyLineDirectives) let tokenizer = - LexFilter.LexFilter(indentationSyntaxStatus, options.CompilingFSharpCore, Lexer.token lexargs true, lexbuf, false) + LexFilter.LexFilter(options.CompilingFSharpCore, Lexer.token lexargs true, lexbuf, false) if ct.CanBeCanceled then (fun _ -> @@ -3019,7 +2993,7 @@ module internal ParseAndCheckFile = let errHandler = DiagnosticsHandler(false, fileName, options.DiagnosticOptions, suggestNamesForErrors, false) - let lexfun = createLexerFunction fileName options lexbuf errHandler ct + let lexfun = createLexerFunction options lexbuf errHandler ct let parenTokensBalance t1 t2 = match t1, t2 with @@ -3130,7 +3104,7 @@ module internal ParseAndCheckFile = let parseResult = usingLexbufForParsing (createLexbuf options.LangVersionText options.StrictIndentation sourceText, fileName) (fun lexbuf -> - let lexfun = createLexerFunction fileName options lexbuf errHandler ct + let lexfun = createLexerFunction options lexbuf errHandler ct let isLastCompiland = fileName.Equals(options.LastFileName, StringComparison.CurrentCultureIgnoreCase) diff --git a/src/Compiler/Service/FSharpCheckerResults.fsi b/src/Compiler/Service/FSharpCheckerResults.fsi index 28deec6804a..a7897123624 100644 --- a/src/Compiler/Service/FSharpCheckerResults.fsi +++ b/src/Compiler/Service/FSharpCheckerResults.fsi @@ -224,8 +224,6 @@ type public FSharpParsingOptions = IsInteractive: bool - IndentationAwareSyntax: bool option - StrictIndentation: bool option CompilingFSharpCore: bool diff --git a/src/Compiler/Service/IncrementalBuild.fs b/src/Compiler/Service/IncrementalBuild.fs index 6db19653f9a..5d8ddadc5b5 100644 --- a/src/Compiler/Service/IncrementalBuild.fs +++ b/src/Compiler/Service/IncrementalBuild.fs @@ -563,7 +563,6 @@ type FrameworkImportsCache(size) = tcGlobals.ilg, tcGlobals.fslibCcu, tcGlobals.directoryToResolveRelativePaths, - tcGlobals.mlCompatibility, tcGlobals.isInteractive, tcGlobals.checkNullness, tcGlobals.useReflectionFreeCodeGen, diff --git a/src/Compiler/Service/ServiceLexing.fs b/src/Compiler/Service/ServiceLexing.fs index 006f6670208..b6c1b21836b 100644 --- a/src/Compiler/Service/ServiceLexing.fs +++ b/src/Compiler/Service/ServiceLexing.fs @@ -200,9 +200,7 @@ module internal TokenClassifications = // (this isn't entirely correct, but it'll work for now - see bug 3727) (FSharpTokenColorKind.Number, FSharpTokenCharKind.Operator, FSharpTokenTriggerClass.None) - | INFIX_STAR_DIV_MOD_OP("mod" | "land" | "lor" | "lxor") - | INFIX_STAR_STAR_OP("lsl" | "lsr" | "asr") -> - (FSharpTokenColorKind.Keyword, FSharpTokenCharKind.Keyword, FSharpTokenTriggerClass.None) + | INFIX_STAR_DIV_MOD_OP("mod") -> (FSharpTokenColorKind.Keyword, FSharpTokenCharKind.Keyword, FSharpTokenTriggerClass.None) | LPAREN_STAR_RPAREN | DOLLAR @@ -404,7 +402,6 @@ module internal TokenClassifications = | END -> (FSharpTokenColorKind.Keyword, FSharpTokenCharKind.Keyword, FSharpTokenTriggerClass.None) - | HASH_LIGHT _ | HASH_LINE _ | WARN_DIRECTIVE _ | HASH_IF _ @@ -484,7 +481,6 @@ module internal LexerStateEncoding = let computeNextLexState token (prevLexcont: LexerContinuation) = match token with | HASH_LINE cont - | HASH_LIGHT cont | HASH_IF(_, _, cont) | HASH_ELSE(_, _, cont) | HASH_ENDIF(_, _, cont) @@ -509,7 +505,6 @@ module internal LexerStateEncoding = let lexstateNumBits = 4 let ncommentsNumBits = 4 - let hardwhiteNumBits = 1 let ifdefstackCountNumBits = 8 let ifdefstackNumBits = 24 // 0 means if, 1 means else let stringKindBits = 3 @@ -520,7 +515,6 @@ module internal LexerStateEncoding = assert (lexstateNumBits + ncommentsNumBits - + hardwhiteNumBits + ifdefstackCountNumBits + ifdefstackNumBits + stringKindBits @@ -530,23 +524,16 @@ module internal LexerStateEncoding = let lexstateStart = 0 let ncommentsStart = lexstateNumBits - let hardwhitePosStart = lexstateNumBits + ncommentsNumBits - let ifdefstackCountStart = lexstateNumBits + ncommentsNumBits + hardwhiteNumBits + let ifdefstackCountStart = lexstateNumBits + ncommentsNumBits - let ifdefstackStart = - lexstateNumBits + ncommentsNumBits + hardwhiteNumBits + ifdefstackCountNumBits + let ifdefstackStart = lexstateNumBits + ncommentsNumBits + ifdefstackCountNumBits let stringKindStart = - lexstateNumBits - + ncommentsNumBits - + hardwhiteNumBits - + ifdefstackCountNumBits - + ifdefstackNumBits + lexstateNumBits + ncommentsNumBits + ifdefstackCountNumBits + ifdefstackNumBits let nestingStart = lexstateNumBits + ncommentsNumBits - + hardwhiteNumBits + ifdefstackCountNumBits + ifdefstackNumBits + stringKindBits @@ -554,7 +541,6 @@ module internal LexerStateEncoding = let delimLenStart = lexstateNumBits + ncommentsNumBits - + hardwhiteNumBits + ifdefstackCountNumBits + ifdefstackNumBits + stringKindBits @@ -562,7 +548,6 @@ module internal LexerStateEncoding = let lexstateMask = Bits.mask64 lexstateStart lexstateNumBits let ncommentsMask = Bits.mask64 ncommentsStart ncommentsNumBits - let hardwhitePosMask = Bits.mask64 hardwhitePosStart hardwhiteNumBits let ifdefstackCountMask = Bits.mask64 ifdefstackCountStart ifdefstackCountNumBits let ifdefstackMask = Bits.mask64 ifdefstackStart ifdefstackNumBits let stringKindMask = Bits.mask64 stringKindStart stringKindBits @@ -596,16 +581,8 @@ module internal LexerStateEncoding = LexerStringStyle.SingleQuote let encodeLexCont - ( - colorState: FSharpTokenizerColorState, - numComments, - b: pos, - ifdefStack, - light, - stringKind: LexerStringKind, - stringNest, - delimLen: int - ) = + (colorState: FSharpTokenizerColorState, numComments, b: pos, ifdefStack, stringKind: LexerStringKind, stringNest, delimLen: int) + = let mutable ifdefStackCount = 0 let mutable ifdefStackBits = 0 @@ -644,7 +621,6 @@ module internal LexerStateEncoding = let bits = lexStateOfColorState colorState ||| ((numComments <<< ncommentsStart) &&& ncommentsMask) - ||| ((int64 (bitOfBool light) <<< hardwhitePosStart) &&& hardwhitePosMask) ||| ((int64 ifdefStackCount <<< ifdefstackCountStart) &&& ifdefstackCountMask) ||| ((int64 ifdefStackBits <<< ifdefstackStart) &&& ifdefstackMask) ||| ((int64 stringKindValue <<< stringKindStart) &&& stringKindMask) @@ -685,8 +661,6 @@ module internal LexerStateEncoding = IsInterpolatedFirst = ((stringKindValue &&& 0b001) = 0b001) } - let hardwhite = boolOfBit ((bits &&& hardwhitePosMask) >>> hardwhitePosStart) - let nestingValue = int32 ((bits &&& nestingMask) >>> nestingStart) let stringNest: LexerInterpolatedStringNesting = @@ -709,56 +683,20 @@ module internal LexerStateEncoding = let delimLen = int32 ((bits &&& delimLenMask) >>> delimLenStart) - (colorState, ncomments, pos, ifDefs, hardwhite, stringKind, stringNest, delimLen) + (colorState, ncomments, pos, ifDefs, stringKind, stringNest, delimLen) - let encodeLexInt indentationSyntaxStatus (lexcont: LexerContinuation) = + let encodeLexInt (lexcont: LexerContinuation) = match lexcont with | LexCont.Token(ifdefs, stringNest) -> - encodeLexCont ( - FSharpTokenizerColorState.Token, - 0L, - pos0, - ifdefs, - indentationSyntaxStatus, - LexerStringKind.String, - stringNest, - 0 - ) + encodeLexCont (FSharpTokenizerColorState.Token, 0L, pos0, ifdefs, LexerStringKind.String, stringNest, 0) | LexCont.IfDefSkip(ifdefs, stringNest, n, m) -> - encodeLexCont ( - FSharpTokenizerColorState.IfDefSkip, - int64 n, - m.Start, - ifdefs, - indentationSyntaxStatus, - LexerStringKind.String, - stringNest, - 0 - ) + encodeLexCont (FSharpTokenizerColorState.IfDefSkip, int64 n, m.Start, ifdefs, LexerStringKind.String, stringNest, 0) | LexCont.EndLine(ifdefs, stringNest, econt) -> match econt with | LexerEndlineContinuation.IfdefSkip(n, m) -> - encodeLexCont ( - FSharpTokenizerColorState.EndLineThenSkip, - int64 n, - m.Start, - ifdefs, - indentationSyntaxStatus, - LexerStringKind.String, - stringNest, - 0 - ) + encodeLexCont (FSharpTokenizerColorState.EndLineThenSkip, int64 n, m.Start, ifdefs, LexerStringKind.String, stringNest, 0) | LexerEndlineContinuation.Token -> - encodeLexCont ( - FSharpTokenizerColorState.EndLineThenToken, - 0L, - pos0, - ifdefs, - indentationSyntaxStatus, - LexerStringKind.String, - stringNest, - 0 - ) + encodeLexCont (FSharpTokenizerColorState.EndLineThenToken, 0L, pos0, ifdefs, LexerStringKind.String, stringNest, 0) | LexCont.String(ifdefs, stringNest, style, kind, delimLen, m) -> let state = match style with @@ -767,29 +705,11 @@ module internal LexerStateEncoding = | LexerStringStyle.TripleQuote -> FSharpTokenizerColorState.TripleQuoteString | LexerStringStyle.ExtendedInterpolated -> FSharpTokenizerColorState.ExtendedInterpolatedString - encodeLexCont (state, 0L, m.Start, ifdefs, indentationSyntaxStatus, kind, stringNest, delimLen) + encodeLexCont (state, 0L, m.Start, ifdefs, kind, stringNest, delimLen) | LexCont.Comment(ifdefs, stringNest, n, m) -> - encodeLexCont ( - FSharpTokenizerColorState.Comment, - int64 n, - m.Start, - ifdefs, - indentationSyntaxStatus, - LexerStringKind.String, - stringNest, - 0 - ) + encodeLexCont (FSharpTokenizerColorState.Comment, int64 n, m.Start, ifdefs, LexerStringKind.String, stringNest, 0) | LexCont.SingleLineComment(ifdefs, stringNest, n, m) -> - encodeLexCont ( - FSharpTokenizerColorState.SingleLineComment, - int64 n, - m.Start, - ifdefs, - indentationSyntaxStatus, - LexerStringKind.String, - stringNest, - 0 - ) + encodeLexCont (FSharpTokenizerColorState.SingleLineComment, int64 n, m.Start, ifdefs, LexerStringKind.String, stringNest, 0) | LexCont.StringInComment(ifdefs, stringNest, style, n, m) -> let state = match style with @@ -798,50 +718,37 @@ module internal LexerStateEncoding = | LexerStringStyle.TripleQuote | LexerStringStyle.ExtendedInterpolated -> FSharpTokenizerColorState.TripleQuoteStringInComment - encodeLexCont (state, int64 n, m.Start, ifdefs, indentationSyntaxStatus, LexerStringKind.String, stringNest, 0) + encodeLexCont (state, int64 n, m.Start, ifdefs, LexerStringKind.String, stringNest, 0) | LexCont.MLOnly(ifdefs, stringNest, m) -> - encodeLexCont ( - FSharpTokenizerColorState.CamlOnly, - 0L, - m.Start, - ifdefs, - indentationSyntaxStatus, - LexerStringKind.String, - stringNest, - 0 - ) + encodeLexCont (FSharpTokenizerColorState.CamlOnly, 0L, m.Start, ifdefs, LexerStringKind.String, stringNest, 0) let decodeLexInt (state: FSharpTokenizerLexState) = - let tag, n1, p1, ifdefs, lightSyntaxStatusInitial, stringKind, stringNest, delimLen = - decodeLexCont state - - let lexcont = - match tag with - | FSharpTokenizerColorState.Token -> LexCont.Token(ifdefs, stringNest) - | FSharpTokenizerColorState.IfDefSkip -> LexCont.IfDefSkip(ifdefs, stringNest, n1, mkRange "file" p1 p1) - | FSharpTokenizerColorState.String -> - LexCont.String(ifdefs, stringNest, LexerStringStyle.SingleQuote, stringKind, delimLen, mkRange "file" p1 p1) - | FSharpTokenizerColorState.Comment -> LexCont.Comment(ifdefs, stringNest, n1, mkRange "file" p1 p1) - | FSharpTokenizerColorState.SingleLineComment -> LexCont.SingleLineComment(ifdefs, stringNest, n1, mkRange "file" p1 p1) - | FSharpTokenizerColorState.StringInComment -> - LexCont.StringInComment(ifdefs, stringNest, LexerStringStyle.SingleQuote, n1, mkRange "file" p1 p1) - | FSharpTokenizerColorState.VerbatimStringInComment -> - LexCont.StringInComment(ifdefs, stringNest, LexerStringStyle.Verbatim, n1, mkRange "file" p1 p1) - | FSharpTokenizerColorState.TripleQuoteStringInComment -> - LexCont.StringInComment(ifdefs, stringNest, LexerStringStyle.TripleQuote, n1, mkRange "file" p1 p1) - | FSharpTokenizerColorState.CamlOnly -> LexCont.MLOnly(ifdefs, stringNest, mkRange "file" p1 p1) - | FSharpTokenizerColorState.VerbatimString -> - LexCont.String(ifdefs, stringNest, LexerStringStyle.Verbatim, stringKind, delimLen, mkRange "file" p1 p1) - | FSharpTokenizerColorState.TripleQuoteString -> - LexCont.String(ifdefs, stringNest, LexerStringStyle.TripleQuote, stringKind, delimLen, mkRange "file" p1 p1) - | FSharpTokenizerColorState.ExtendedInterpolatedString -> - LexCont.String(ifdefs, stringNest, LexerStringStyle.ExtendedInterpolated, stringKind, delimLen, mkRange "file" p1 p1) - | FSharpTokenizerColorState.EndLineThenSkip -> - LexCont.EndLine(ifdefs, stringNest, LexerEndlineContinuation.IfdefSkip(n1, mkRange "file" p1 p1)) - | FSharpTokenizerColorState.EndLineThenToken -> LexCont.EndLine(ifdefs, stringNest, LexerEndlineContinuation.Token) - | _ -> LexCont.Token([], stringNest) - - lightSyntaxStatusInitial, lexcont + let tag, n1, p1, ifdefs, stringKind, stringNest, delimLen = decodeLexCont state + + match tag with + | FSharpTokenizerColorState.Token -> LexCont.Token(ifdefs, stringNest) + | FSharpTokenizerColorState.IfDefSkip -> LexCont.IfDefSkip(ifdefs, stringNest, n1, mkRange "file" p1 p1) + | FSharpTokenizerColorState.String -> + LexCont.String(ifdefs, stringNest, LexerStringStyle.SingleQuote, stringKind, delimLen, mkRange "file" p1 p1) + | FSharpTokenizerColorState.Comment -> LexCont.Comment(ifdefs, stringNest, n1, mkRange "file" p1 p1) + | FSharpTokenizerColorState.SingleLineComment -> LexCont.SingleLineComment(ifdefs, stringNest, n1, mkRange "file" p1 p1) + | FSharpTokenizerColorState.StringInComment -> + LexCont.StringInComment(ifdefs, stringNest, LexerStringStyle.SingleQuote, n1, mkRange "file" p1 p1) + | FSharpTokenizerColorState.VerbatimStringInComment -> + LexCont.StringInComment(ifdefs, stringNest, LexerStringStyle.Verbatim, n1, mkRange "file" p1 p1) + | FSharpTokenizerColorState.TripleQuoteStringInComment -> + LexCont.StringInComment(ifdefs, stringNest, LexerStringStyle.TripleQuote, n1, mkRange "file" p1 p1) + | FSharpTokenizerColorState.CamlOnly -> LexCont.MLOnly(ifdefs, stringNest, mkRange "file" p1 p1) + | FSharpTokenizerColorState.VerbatimString -> + LexCont.String(ifdefs, stringNest, LexerStringStyle.Verbatim, stringKind, delimLen, mkRange "file" p1 p1) + | FSharpTokenizerColorState.TripleQuoteString -> + LexCont.String(ifdefs, stringNest, LexerStringStyle.TripleQuote, stringKind, delimLen, mkRange "file" p1 p1) + | FSharpTokenizerColorState.ExtendedInterpolatedString -> + LexCont.String(ifdefs, stringNest, LexerStringStyle.ExtendedInterpolated, stringKind, delimLen, mkRange "file" p1 p1) + | FSharpTokenizerColorState.EndLineThenSkip -> + LexCont.EndLine(ifdefs, stringNest, LexerEndlineContinuation.IfdefSkip(n1, mkRange "file" p1 p1)) + | FSharpTokenizerColorState.EndLineThenToken -> LexCont.EndLine(ifdefs, stringNest, LexerEndlineContinuation.Token) + | _ -> LexCont.Token([], stringNest) //---------------------------------------------------------------------------- // Colorization @@ -961,11 +868,7 @@ type FSharpLineTokenizer(lexbuf: UnicodeLexing.Lexbuf, maxLength: int option, fi // Call the given continuation, reusing the same 'lexargs' each time but adjust // its mutable entries to set up the right state - let callLexCont lexcont indentationSyntaxStatus skip = - - // Set up the arguments to lexing - lexargs.indentationSyntaxStatus <- indentationSyntaxStatus - + let callLexCont lexcont skip = match lexcont with | LexCont.EndLine(ifdefs, stringNest, cont) -> lexargs.ifdefStack <- ifdefs @@ -1034,7 +937,7 @@ type FSharpLineTokenizer(lexbuf: UnicodeLexing.Lexbuf, maxLength: int option, fi let rightc = rightc - 1 struct (leftc, rightc) - let getTokenWithPosition lexcont indentationSyntaxStatus = + let getTokenWithPosition lexcont = // Column of token // Get the token & position - either from a stack or from the lexer try @@ -1042,7 +945,7 @@ type FSharpLineTokenizer(lexbuf: UnicodeLexing.Lexbuf, maxLength: int option, fi true, tokenStack.Pop() else // Choose which lexer entry point to call and call it - let token = callLexCont lexcont indentationSyntaxStatus skip + let token = callLexCont lexcont skip let struct (leftc, rightc) = columnsOfCurrentToken () // Splits tokens like ">." into multiple tokens - this duplicates behavior from the 'lexfilter' @@ -1110,14 +1013,10 @@ type FSharpLineTokenizer(lexbuf: UnicodeLexing.Lexbuf, maxLength: int option, fi use _ = UseBuildPhase BuildPhase.Parse use _ = UseDiagnosticsLogger DiscardErrorsLogger - let indentationSyntaxStatus, lexcont = LexerStateEncoding.decodeLexInt lexState - - let indentationSyntaxStatus = - IndentationAwareSyntaxStatus(indentationSyntaxStatus, false) + let lexcont = LexerStateEncoding.decodeLexInt lexState // Grab a token - let isCached, (token, leftc, rightc) = - getTokenWithPosition lexcont indentationSyntaxStatus + let isCached, (token, leftc, rightc) = getTokenWithPosition lexcont // Check for end-of-string and failure let tokenDataOption, lexcontFinal, tokenTag = @@ -1160,16 +1059,14 @@ type FSharpLineTokenizer(lexbuf: UnicodeLexing.Lexbuf, maxLength: int option, fi // Check for patterns like #-IDENT and see if they look like meta commands for .fsx files. If they do then merge them into a single token. let tokenDataOption, lexintFinal = - let lexintFinal = - LexerStateEncoding.encodeLexInt indentationSyntaxStatus.Status lexcontFinal + let lexintFinal = LexerStateEncoding.encodeLexInt lexcontFinal match tokenDataOption, singleLineTokenState, tokenTagToTokenId tokenTag with | Some tokenData, SingleLineTokenState.BeforeHash, TOKEN_HASH -> // Don't allow further matches. singleLineTokenState <- SingleLineTokenState.NoFurtherMatchPossible // Peek at the next token - let isCached, (nextToken, _, rightc) = - getTokenWithPosition lexcont indentationSyntaxStatus + let isCached, (nextToken, _, rightc) = getTokenWithPosition lexcont match nextToken with | IDENT possibleMetaCommand -> @@ -1208,8 +1105,7 @@ type FSharpLineTokenizer(lexbuf: UnicodeLexing.Lexbuf, maxLength: int option, fi FSharpTokenTriggerClass = FSharpTokenTriggerClass.None } - let lexintFinal = - LexerStateEncoding.encodeLexInt indentationSyntaxStatus.Status lexcontFinal + let lexintFinal = LexerStateEncoding.encodeLexInt lexcontFinal Some tokenData, lexintFinal | _ -> tokenDataOption, lexintFinal @@ -1246,18 +1142,9 @@ type FSharpSourceTokenizer let lexResourceManager = LexResourceManager() let applyLineDirectives = false - let indentationSyntaxStatus = IndentationAwareSyntaxStatus(true, false) let lexargs = - mkLexargs ( - conditionalDefines, - indentationSyntaxStatus, - lexResourceManager, - [], - DiscardErrorsLogger, - PathMap.empty, - applyLineDirectives - ) + mkLexargs (conditionalDefines, lexResourceManager, [], DiscardErrorsLogger, PathMap.empty, applyLineDirectives) member _.CreateLineTokenizer(lineText: string) = let lexbuf = @@ -1291,7 +1178,6 @@ module FSharpKeywords = [] type FSharpLexerFlags = | Default = 0x11011 - | LightSyntaxOn = 0x00001 | Compiling = 0x00010 | CompilingFSharpCore = 0x00110 | SkipTrivia = 0x01000 @@ -1307,7 +1193,6 @@ type FSharpTokenKind = | CommentTrivia | WhitespaceTrivia | HashLine - | HashLight | InactiveCode | LineCommentTrivia | StringText @@ -1485,13 +1370,6 @@ type FSharpTokenKind = | KeywordString | String | ByteArray - | Asr - | InfixAsr - | InfixLand - | InfixLor - | InfixLsl - | InfixLsr - | InfixLxor | InfixMod [] @@ -1506,13 +1384,6 @@ type FSharpToken = member this.Kind = match this.tok with - | ASR -> FSharpTokenKind.Asr - | INFIX_STAR_STAR_OP "asr" -> FSharpTokenKind.Asr - | INFIX_STAR_DIV_MOD_OP "land" -> FSharpTokenKind.InfixLand - | INFIX_STAR_DIV_MOD_OP "lor" -> FSharpTokenKind.InfixLor - | INFIX_STAR_STAR_OP "lsl" -> FSharpTokenKind.InfixLsl - | INFIX_STAR_STAR_OP "lsr" -> FSharpTokenKind.InfixLsr - | INFIX_STAR_DIV_MOD_OP "lxor" -> FSharpTokenKind.InfixLxor | INFIX_STAR_DIV_MOD_OP "mod" -> FSharpTokenKind.InfixMod | HASH_IF _ -> FSharpTokenKind.HashIf | HASH_ELSE _ -> FSharpTokenKind.HashElse @@ -1521,7 +1392,6 @@ type FSharpToken = | COMMENT _ -> FSharpTokenKind.CommentTrivia | WHITESPACE _ -> FSharpTokenKind.WhitespaceTrivia | HASH_LINE _ -> FSharpTokenKind.HashLine - | HASH_LIGHT _ -> FSharpTokenKind.HashLight | INACTIVECODE _ -> FSharpTokenKind.InactiveCode | LINE_COMMENT _ -> FSharpTokenKind.LineCommentTrivia | STRING_TEXT _ -> FSharpTokenKind.StringText @@ -1785,13 +1655,6 @@ type FSharpToken = | FSharpTokenKind.OffsideWith // * Reserved - from OCAML * - | FSharpTokenKind.Asr - | FSharpTokenKind.InfixAsr - | FSharpTokenKind.InfixLand - | FSharpTokenKind.InfixLor - | FSharpTokenKind.InfixLsl - | FSharpTokenKind.InfixLsr - | FSharpTokenKind.InfixLxor | FSharpTokenKind.InfixMod | FSharpTokenKind.Sig @@ -1874,9 +1737,6 @@ module FSharpLexerImpl = let canSkipTrivia = (flags &&& FSharpLexerFlags.SkipTrivia) = FSharpLexerFlags.SkipTrivia - let isLightSyntaxOn = - (flags &&& FSharpLexerFlags.LightSyntaxOn) = FSharpLexerFlags.LightSyntaxOn - let isCompiling = (flags &&& FSharpLexerFlags.Compiling) = FSharpLexerFlags.Compiling @@ -1889,26 +1749,16 @@ module FSharpLexerImpl = let lexbuf = UnicodeLexing.SourceTextAsLexbuf(reportLibraryOnlyFeatures, langVersion, strictIndentation, text) - let indentationSyntaxStatus = IndentationAwareSyntaxStatus(isLightSyntaxOn, true) let applyLineDirectives = isCompiling let lexargs = - mkLexargs ( - conditionalDefines, - indentationSyntaxStatus, - LexResourceManager(0), - [], - diagnosticsLogger, - pathMap, - applyLineDirectives - ) + mkLexargs (conditionalDefines, LexResourceManager(0), [], diagnosticsLogger, pathMap, applyLineDirectives) let getNextToken = let lexer = Lexer.token lexargs canSkipTrivia if canUseLexFilter then - let lexFilter = - LexFilter.LexFilter(lexargs.indentationSyntaxStatus, isCompilingFSharpCore, lexer, lexbuf, false) + let lexFilter = LexFilter.LexFilter(isCompilingFSharpCore, lexer, lexbuf, false) (fun _ -> lexFilter.GetToken()) else diff --git a/src/Compiler/Service/ServiceLexing.fsi b/src/Compiler/Service/ServiceLexing.fsi index 7f2cc207ec0..1129be724ef 100755 --- a/src/Compiler/Service/ServiceLexing.fsi +++ b/src/Compiler/Service/ServiceLexing.fsi @@ -358,7 +358,6 @@ module FSharpKeywords = [] type public FSharpLexerFlags = | Default = 0x11011 - | LightSyntaxOn = 0x00001 | Compiling = 0x00010 | CompilingFSharpCore = 0x00110 | SkipTrivia = 0x01000 @@ -374,7 +373,6 @@ type public FSharpTokenKind = | CommentTrivia | WhitespaceTrivia | HashLine - | HashLight | InactiveCode | LineCommentTrivia | StringText @@ -552,13 +550,6 @@ type public FSharpTokenKind = | KeywordString | String | ByteArray - | Asr - | InfixAsr - | InfixLand - | InfixLor - | InfixLsl - | InfixLsr - | InfixLxor | InfixMod [] diff --git a/src/Compiler/Service/TransparentCompiler.fs b/src/Compiler/Service/TransparentCompiler.fs index fc049da736a..17c6a81549a 100644 --- a/src/Compiler/Service/TransparentCompiler.fs +++ b/src/Compiler/Service/TransparentCompiler.fs @@ -2146,7 +2146,6 @@ type internal TransparentCompiler yield options.ApplyLineDirectives yield options.DiagnosticOptions.GlobalWarnAsError yield options.IsInteractive - yield! (Option.toList options.IndentationAwareSyntax) yield! (Option.toList options.StrictIndentation) yield options.CompilingFSharpCore yield options.IsExe diff --git a/src/Compiler/SyntaxTree/LexFilter.fs b/src/Compiler/SyntaxTree/LexFilter.fs index d0cf07119ff..97828110567 100644 --- a/src/Compiler/SyntaxTree/LexFilter.fs +++ b/src/Compiler/SyntaxTree/LexFilter.fs @@ -588,7 +588,6 @@ type PositionWithColumn = // build a LexFilter //--------------------------------------------------------------------------*) type LexFilterImpl ( - indentationSyntaxStatus: IndentationAwareSyntaxStatus, compilingFSharpCore, lexer: Lexbuf -> token, lexbuf: Lexbuf, @@ -2776,16 +2775,6 @@ type LexFilterImpl ( let ctxtToken = if pushed then tokenTup else fallbackToken delayToken(pool.UseLocation(ctxtToken, OBLOCKBEGIN)) - let rec swTokenFetch() = - let tokenTup = popNextTokenTup() - let tokenReplaced = rulesForBothSoftWhiteAndHardWhite tokenTup - if tokenReplaced then swTokenFetch() - else - let lexbufState = tokenTup.LexbufState - let tok = tokenTup.Token - pool.Return tokenTup - returnToken lexbufState tok - //---------------------------------------------------------------------------- // Part VI. Publish the new lexer function. //-------------------------------------------------------------------------- @@ -2797,16 +2786,14 @@ type LexFilterImpl ( let _firstTokenTup = peekInitial() () - if indentationSyntaxStatus.Status - then hwTokenFetch true - else swTokenFetch() + hwTokenFetch true // LexFilterImpl does the majority of the work for offsides rules and other magic. // LexFilter just wraps it with light post-processing that introduces a few more 'coming soon' symbols, to // make it easier for the parser to 'look ahead' and safely shift tokens in a number of recovery scenarios. -type LexFilter (indentationSyntaxStatus: IndentationAwareSyntaxStatus, compilingFSharpCore, lexer, lexbuf: Lexbuf, debug) = +type LexFilter (compilingFSharpCore, lexer, lexbuf: Lexbuf, debug) = let debug = debug || forceDebug - let inner = LexFilterImpl(indentationSyntaxStatus, compilingFSharpCore, lexer, lexbuf, debug) + let inner = LexFilterImpl(compilingFSharpCore, lexer, lexbuf, debug) // We don't interact with lexbuf state at all, any inserted tokens have same state/location as the real one read, so // we don't have to do any of the wrapped lexbuf magic that you see in LexFilterImpl. diff --git a/src/Compiler/SyntaxTree/LexFilter.fsi b/src/Compiler/SyntaxTree/LexFilter.fsi index 7d39b8325df..0195125466a 100644 --- a/src/Compiler/SyntaxTree/LexFilter.fsi +++ b/src/Compiler/SyntaxTree/LexFilter.fsi @@ -5,7 +5,6 @@ module internal FSharp.Compiler.LexFilter open Internal.Utilities.Text.Lexing -open FSharp.Compiler.Lexhelp open FSharp.Compiler.Parser /// Match the close of '>' of a set of type parameters. @@ -19,11 +18,7 @@ type LexFilter = /// Create a lex filter new: - indentationSyntaxStatus: IndentationAwareSyntaxStatus * - compilingFSharpCore: bool * - lexer: (LexBuffer -> token) * - lexbuf: LexBuffer * - debug: bool -> + compilingFSharpCore: bool * lexer: (LexBuffer -> token) * lexbuf: LexBuffer * debug: bool -> LexFilter /// The LexBuffer associated with the filter diff --git a/src/Compiler/SyntaxTree/LexHelpers.fs b/src/Compiler/SyntaxTree/LexHelpers.fs index 9e390178c18..cd7f5ae62ae 100644 --- a/src/Compiler/SyntaxTree/LexHelpers.fs +++ b/src/Compiler/SyntaxTree/LexHelpers.fs @@ -20,22 +20,6 @@ open FSharp.Compiler.Text open FSharp.Compiler.Text.Range open FSharp.Compiler.UnicodeLexing -/// Lexer args: status of #light processing. Mutated when a #light -/// directive is processed. This alters the behaviour of the lexfilter. -[] -type IndentationAwareSyntaxStatus(initial: bool, warn: bool) = - let mutable status = None - - member x.Status - with get () = - match status with - | None -> initial - | Some v -> v - and set v = status <- Some(v) - - member x.ExplicitlySet = status.IsSome - member x.WarnOnMultipleTokens = warn - /// Manage lexer resources (string interning) [] type LexResourceManager(?capacity: int) = @@ -59,7 +43,6 @@ type LexArgs = applyLineDirectives: bool pathMap: PathMap mutable ifdefStack: LexerIfdefStack - mutable indentationSyntaxStatus: IndentationAwareSyntaxStatus mutable stringNest: LexerInterpolatedStringNesting mutable interpolationDelimiterLength: int } @@ -71,13 +54,10 @@ type LongUnicodeLexResult = | SingleChar of uint16 | Invalid -let mkLexargs - (conditionalDefines, indentationSyntaxStatus, resourceManager, ifdefStack, diagnosticsLogger, pathMap: PathMap, applyLineDirectives) - = +let mkLexargs (conditionalDefines, resourceManager, ifdefStack, diagnosticsLogger, pathMap: PathMap, applyLineDirectives) = { conditionalDefines = conditionalDefines ifdefStack = ifdefStack - indentationSyntaxStatus = indentationSyntaxStatus resourceManager = resourceManager diagnosticsLogger = diagnosticsLogger applyLineDirectives = applyLineDirectives @@ -323,7 +303,6 @@ module Keywords = ALWAYS, "and", AND ALWAYS, "as", AS ALWAYS, "assert", ASSERT - ALWAYS, "asr", INFIX_STAR_STAR_OP "asr" ALWAYS, "base", BASE ALWAYS, "begin", BEGIN ALWAYS, "class", CLASS @@ -352,13 +331,8 @@ module Keywords = FSHARP, "inline", INLINE FSHARP, "interface", INTERFACE FSHARP, "internal", INTERNAL - ALWAYS, "land", INFIX_STAR_DIV_MOD_OP "land" ALWAYS, "lazy", LAZY ALWAYS, "let", LET(false) - ALWAYS, "lor", INFIX_STAR_DIV_MOD_OP "lor" - ALWAYS, "lsl", INFIX_STAR_STAR_OP "lsl" - ALWAYS, "lsr", INFIX_STAR_STAR_OP "lsr" - ALWAYS, "lxor", INFIX_STAR_DIV_MOD_OP "lxor" ALWAYS, "match", MATCH FSHARP, "member", MEMBER ALWAYS, "mod", INFIX_STAR_DIV_MOD_OP "mod" @@ -453,19 +427,7 @@ module Keywords = | RESERVED -> warning (ReservedKeyword(FSComp.SR.lexhlpIdentifierReserved s, lexbuf.LexemeRange)) IdentifierToken args lexbuf s - | _ -> - match s with - | "land" - | "lor" - | "lxor" - | "lsl" - | "lsr" - | "asr" -> - if lexbuf.SupportsFeature LanguageFeature.MLCompatRevisions then - mlCompatWarning (FSComp.SR.mlCompatKeyword s) lexbuf.LexemeRange - | _ -> () - - v + | _ -> v | _ -> match s with | "__SOURCE_DIRECTORY__" diff --git a/src/Compiler/SyntaxTree/LexHelpers.fsi b/src/Compiler/SyntaxTree/LexHelpers.fsi index 2fe067d244a..2adc11d5b13 100644 --- a/src/Compiler/SyntaxTree/LexHelpers.fsi +++ b/src/Compiler/SyntaxTree/LexHelpers.fsi @@ -13,16 +13,6 @@ open FSharp.Compiler.UnicodeLexing open FSharp.Compiler.Parser open FSharp.Compiler.Text -/// Lexer args: status of #light processing. Mutated when a #light -/// directive is processed. This alters the behaviour of the lexfilter. -[] -type IndentationAwareSyntaxStatus = - new: initial: bool * warn: bool -> IndentationAwareSyntaxStatus - member ExplicitlySet: bool - member Status: bool - member Status: bool with set - member WarnOnMultipleTokens: bool - [] type LexResourceManager = new: ?capacity: int -> LexResourceManager @@ -35,7 +25,6 @@ type LexArgs = applyLineDirectives: bool pathMap: PathMap mutable ifdefStack: LexerIfdefStack - mutable indentationSyntaxStatus: IndentationAwareSyntaxStatus mutable stringNest: LexerInterpolatedStringNesting mutable interpolationDelimiterLength: int } @@ -48,7 +37,6 @@ val resetLexbufPos: string -> Lexbuf -> unit val mkLexargs: conditionalDefines: string list * - indentationSyntaxStatus: IndentationAwareSyntaxStatus * resourceManager: LexResourceManager * ifdefStack: LexerIfdefStack * diagnosticsLogger: DiagnosticsLogger * diff --git a/src/Compiler/SyntaxTree/PrettyNaming.fs b/src/Compiler/SyntaxTree/PrettyNaming.fs index 815c5d65903..a2d7db4f165 100755 --- a/src/Compiler/SyntaxTree/PrettyNaming.fs +++ b/src/Compiler/SyntaxTree/PrettyNaming.fs @@ -269,13 +269,7 @@ let IsUnencodedOpName (name: string) = let IsUnencodedLegacyOpName (name: string) = match name with - | "or" - | "land" - | "lor" - | "lsl" - | "lsr" - | "asr" - | "lxor" -> true + | "or" -> true | _ -> false let IsIdentifierName (name: string) = diff --git a/src/Compiler/TypedTree/TcGlobals.fs b/src/Compiler/TypedTree/TcGlobals.fs index d00e6009231..e205193951c 100644 --- a/src/Compiler/TypedTree/TcGlobals.fs +++ b/src/Compiler/TypedTree/TcGlobals.fs @@ -187,7 +187,6 @@ type TcGlobals( ilg: ILGlobals, fslibCcu: CcuThunk, directoryToResolveRelativePaths, - mlCompatibility: bool, isInteractive: bool, checkNullness: bool, useReflectionFreeCodeGen: bool, @@ -1140,8 +1139,6 @@ type TcGlobals( member _.useReflectionFreeCodeGen = useReflectionFreeCodeGen - member _.mlCompatibility = mlCompatibility - member _.emitDebugInfoInQuotations = emitDebugInfoInQuotations member _.pathMap = pathMap diff --git a/src/Compiler/TypedTree/TcGlobals.fsi b/src/Compiler/TypedTree/TcGlobals.fsi index 27cbdb17748..cb05786cde9 100644 --- a/src/Compiler/TypedTree/TcGlobals.fsi +++ b/src/Compiler/TypedTree/TcGlobals.fsi @@ -142,7 +142,6 @@ type internal TcGlobals = ilg: FSharp.Compiler.AbstractIL.IL.ILGlobals * fslibCcu: TypedTree.CcuThunk * directoryToResolveRelativePaths: string * - mlCompatibility: bool * isInteractive: bool * checkNullness: bool * useReflectionFreeCodeGen: bool * @@ -882,8 +881,6 @@ type internal TcGlobals = member mk_IStructuralEquatable_ty: TypedTree.TType - member mlCompatibility: bool - member nameof_vref: TypedTree.ValRef member nativeint_checked_info: IntrinsicValRef diff --git a/src/Compiler/lex.fsl b/src/Compiler/lex.fsl index 1f905bc049a..63f3948e9eb 100644 --- a/src/Compiler/lex.fsl +++ b/src/Compiler/lex.fsl @@ -584,20 +584,10 @@ rule token (args: LexArgs) (skip: bool) = parse UINT8 (byte(x)) | _ -> fail args lexbuf (FSComp.SR.lexInvalidAsciiByteLiteral()) (UINT8(byte 0)) } - | "(*IF-FSHARP" - { if lexbuf.SupportsFeature LanguageFeature.MLCompatRevisions then - mlCompatWarning (FSComp.SR.lexIndentOffForML()) lexbuf.LexemeRange - if not skip then COMMENT (LexCont.Token (args.ifdefStack, args.stringNest)) - else token args skip lexbuf } - | "(*F#" { if not skip then COMMENT (LexCont.Token (args.ifdefStack, args.stringNest)) else token args skip lexbuf } - | "ENDIF-FSHARP*)" - { if not skip then COMMENT (LexCont.Token (args.ifdefStack, args.stringNest)) - else token args skip lexbuf } - | "F#*)" { if not skip then COMMENT (LexCont.Token (args.ifdefStack, args.stringNest)) else token args skip lexbuf } @@ -726,7 +716,7 @@ rule token (args: LexArgs) (skip: bool) = parse else WHITESPACE (LexCont.Token(args.ifdefStack, args.stringNest)) } | offwhite+ - { if args.indentationSyntaxStatus.Status then errorR(Error(FSComp.SR.lexTabsNotAllowed(), lexbuf.LexemeRange)) + { errorR(Error(FSComp.SR.lexTabsNotAllowed(), lexbuf.LexemeRange)) if not skip then WHITESPACE (LexCont.Token(args.ifdefStack, args.stringNest)) else token args skip lexbuf } @@ -1014,26 +1004,6 @@ rule token (args: LexArgs) (skip: bool) = parse let tok = shouldStartFile args lexbuf m (0,FSComp.SR.lexHashBangMustBeFirstInFile()) tok if not skip then tok else singleLineComment (None,1,m,m,args) skip lexbuf } - | "#light" anywhite* - | ("#indent" | "#light") anywhite+ "\"on\"" - { if args.indentationSyntaxStatus.ExplicitlySet && args.indentationSyntaxStatus.WarnOnMultipleTokens then - let s = lexeme lexbuf - warning(Error((0, sprintf "%s should only be set once in an F# source file." s), lexbuf.LexemeRange)) - // TODO: where should this go? (abelb) - //warning(Error((0,"#light should only occur as the first non-comment text in an F# source file."), lexbuf.LexemeRange)) - args.indentationSyntaxStatus.Status <- true - if not skip then HASH_LIGHT (LexCont.Token(args.ifdefStack, args.stringNest)) - else token args skip lexbuf } - - | ("#indent" | "#light") anywhite+ "\"off\"" - { args.indentationSyntaxStatus.Status <- false - if lexbuf.SupportsFeature LanguageFeature.MLCompatRevisions then - mlCompatError (FSComp.SR.mlCompatLightOffNoLongerSupported()) lexbuf.LexemeRange - else - mlCompatWarning (FSComp.SR.lexIndentOffForML()) lexbuf.LexemeRange - if not skip then HASH_LIGHT (LexCont.Token (args.ifdefStack, args.stringNest)) - else token args skip lexbuf } - | anywhite* "#if" anywhite+ anystring { let m = lexbuf.LexemeRange shouldStartLine args lexbuf m (FSComp.SR.lexHashIfMustBeFirst()) @@ -1080,7 +1050,6 @@ rule token (args: LexArgs) (skip: bool) = parse | anywhite* "#if" ident_char+ | anywhite* "#else" ident_char+ | anywhite* "#endif" ident_char+ - | anywhite* "#light" ident_char+ { let n = (lexeme lexbuf).IndexOf('#') lexbuf.StartPos <- lexbuf.StartPos.ShiftColumnBy(n) HASH_IDENT(lexemeTrimLeft lexbuf (n+1)) } diff --git a/src/Compiler/pars.fsy b/src/Compiler/pars.fsy index 77f639d37cb..18c8f466918 100644 --- a/src/Compiler/pars.fsy +++ b/src/Compiler/pars.fsy @@ -151,7 +151,7 @@ let parse_error_rich = Some(fun (ctxt: ParseErrorContext<_>) -> /* These are artificial */ %token LEX_FAILURE -%token COMMENT WHITESPACE HASH_LINE HASH_LIGHT INACTIVECODE LINE_COMMENT STRING_TEXT EOF +%token COMMENT WHITESPACE HASH_LINE INACTIVECODE LINE_COMMENT STRING_TEXT EOF %token HASH_IF HASH_ELSE HASH_ENDIF WARN_DIRECTIVE %start signatureFile implementationFile interaction typedSequentialExprEOF typEOF @@ -674,7 +674,7 @@ moduleSpfn: | valSpfn { $1 } - | opt_attributes opt_access moduleIntro colonOrEquals namedModuleAbbrevBlock + | opt_attributes opt_access moduleIntro EQUALS namedModuleAbbrevBlock { if Option.isSome $2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(), rhs parseState 2)) let mModule, isRec, path, vis, attribs2 = $3 if isRec then raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsInvalidUseOfRec()) @@ -688,7 +688,7 @@ moduleSpfn: let m = unionRanges mModule lid.Range SynModuleSigDecl.ModuleAbbrev(List.head path, lid.LongIdent, m) } - | opt_attributes opt_access moduleIntro colonOrEquals moduleSpecBlock + | opt_attributes opt_access moduleIntro EQUALS moduleSpecBlock { let mModule, isRec, path, vis, attribs2 = $3 let xmlDoc = grabXmlDoc(parseState, $1, 1) if not (isSingleton path) then raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsModuleDefnMustBeSimpleName()) @@ -700,7 +700,7 @@ moduleSpfn: ||> unionRangeWithListBy (fun (d: SynModuleSigDecl) -> d.Range) |> unionRangeWithXmlDoc xmlDoc let m = match mOptEnd with | None -> m | Some mEnd -> unionRanges m mEnd - let trivia: SynModuleSigDeclNestedModuleTrivia = { ModuleKeyword = Some mModule; EqualsRange = $4 } + let trivia: SynModuleSigDeclNestedModuleTrivia = { ModuleKeyword = Some mModule; EqualsRange = Some(rhs parseState 4) } SynModuleSigDecl.NestedModule(info, isRec, decls, m, trivia) } | opt_attributes opt_access moduleIntro error @@ -777,17 +777,17 @@ optLiteralValueSpfn: /* A block of definitions in a module in a signature file */ moduleSpecBlock: - /* #light-syntax, with no sig/end or begin/end */ + /* #light-syntax, with no begin/end */ | OBLOCKBEGIN moduleSpfns oblockend { $2, None } - /* #light-syntax, with sig/end or begin/end */ - | OBLOCKBEGIN sigOrBegin moduleSpfnsPossiblyEmpty END oblockend + /* #light-syntax, with begin/end */ + | OBLOCKBEGIN BEGIN moduleSpfnsPossiblyEmpty END oblockend { let mEnd = rhs parseState 4 $3, Some mEnd } - /* non-#light-syntax, with sig/end or begin/end */ - | sigOrBegin moduleSpfnsPossiblyEmpty END + /* non-#light-syntax, with begin/end */ + | BEGIN moduleSpfnsPossiblyEmpty END { let mEnd = rhs parseState 3 $2, Some mEnd } @@ -1475,15 +1475,15 @@ namedModuleDefnBlock: /* A module definition that includes a 'begin'...'end' (rarely used in F# with #light syntax) */ wrappedNamedModuleDefn: - | structOrBegin moduleDefnsOrExprPossiblyEmpty END + | BEGIN moduleDefnsOrExprPossiblyEmpty END { let mEnd = rhs parseState 3 $2, Some mEnd } - | structOrBegin moduleDefnsOrExprPossiblyEmpty recover + | BEGIN moduleDefnsOrExprPossiblyEmpty recover { reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBeginOrStruct()) $2, None } - | structOrBegin error END + | BEGIN error END { let mEnd = rhs parseState 3 [], Some mEnd } @@ -5354,11 +5354,7 @@ atomicExprQualification: | SynExpr.IndexRange(None, mOperator, None, _m1, _m2, _) -> mkSynDot mDot mLhs e (SynIdent(ident(CompileOpName "*", mOperator), Some(IdentTrivia.OriginalNotationWithParen(lpr, "*", rpr)))) | _ -> - if parseState.LexBuffer.SupportsFeature LanguageFeature.MLCompatRevisions then - mlCompatError (FSComp.SR.mlCompatMultiPrefixTyparsNoLongerSupported()) (lhs parseState) - else - mlCompatWarning (FSComp.SR.parsParenFormIsForML()) (lhs parseState) - mkSynDotParenGet mLhs mDot e $2) } + exprFromParseError $2) } | LBRACK typedSequentialExpr RBRACK { (fun e mLhs mDot -> mkSynDotBrackGet mLhs mDot e $2) } @@ -6369,14 +6365,6 @@ appTypeWithoutNull: /* note: use "rhs parseState 1" to deal with parens in "(int) list" */ { SynType.App($2, None, [$1], [], None, true, unionRanges (rhs parseState 1) $2.Range) } - | LPAREN appTypePrefixArguments rparen appTypeConPower - { let args, commas = $2 - if parseState.LexBuffer.SupportsFeature LanguageFeature.MLCompatRevisions then - mlCompatError (FSComp.SR.mlCompatMultiPrefixTyparsNoLongerSupported()) (unionRanges (rhs parseState 1) $4.Range) - else - mlCompatWarning (FSComp.SR.parsMultiArgumentGenericTypeFormDeprecated()) (unionRanges (rhs parseState 1) $4.Range) - SynType.App($4, None, args, commas, None, true, unionRanges (rhs parseState 1) $4.Range) } - | powerType { $1 } @@ -6489,11 +6477,6 @@ arrayTypeSuffix: | LBRACK COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA COMMA RBRACK { 32 } -appTypePrefixArguments: - | typeArgActual COMMA typeArgActual typeArgListElements - { let typeArgs, commas = $4 - $1 :: $3 :: List.rev typeArgs, (rhs parseState 2) :: (List.rev commas) } - typeArgListElements: | typeArgListElements COMMA typeArgActual { let typeArgs, commas = $1 @@ -6524,14 +6507,6 @@ powerType: /* Like appType but gives a deprecation error when a non-atomic type is used */ /* Also, doesn't start with '{|' */ atomTypeNonAtomicDeprecated: - | LPAREN appTypePrefixArguments rparen appTypeConPower - { let args, commas = $2 - if parseState.LexBuffer.SupportsFeature LanguageFeature.MLCompatRevisions then - mlCompatError (FSComp.SR.mlCompatMultiPrefixTyparsNoLongerSupported()) (unionRanges (rhs parseState 1) $4.Range) - else - mlCompatWarning (FSComp.SR.parsMultiArgumentGenericTypeFormDeprecated()) (unionRanges (rhs parseState 1) $4.Range) - SynType.App($4, None, args, commas, None, true, unionRanges (rhs parseState 1) $4.Range) } - | atomType { $1 } @@ -7062,36 +7037,6 @@ doneDeclEnd: | ODECLEND { let m, _ = $1 in m } -structOrBegin: - | STRUCT - { if parseState.LexBuffer.SupportsFeature LanguageFeature.MLCompatRevisions then - mlCompatError (FSComp.SR.mlCompatStructEndNoLongerSupported()) (lhs parseState) - else - mlCompatWarning (FSComp.SR.parsSyntaxModuleStructEndDeprecated()) (lhs parseState) - } - | BEGIN { } - -sigOrBegin: - | SIG - { if parseState.LexBuffer.SupportsFeature LanguageFeature.MLCompatRevisions then - mlCompatError (FSComp.SR.mlCompatSigEndNoLongerSupported())(lhs parseState) - else - mlCompatWarning (FSComp.SR.parsSyntaxModuleSigEndDeprecated()) (lhs parseState) - } - | BEGIN { } - -colonOrEquals: - | COLON - { if parseState.LexBuffer.SupportsFeature LanguageFeature.MLCompatRevisions then - mlCompatError (FSComp.SR.mlCompatSigColonNoLongerSupported())(lhs parseState) - else - mlCompatWarning (FSComp.SR.parsSyntaxModuleSigEndDeprecated()) (lhs parseState) - None - } - | EQUALS - { let mEquals = rhs parseState 1 - Some mEquals } - /* A literal string or a string from a keyword like __SOURCE_FILE__ */ string: | STRING diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index 244be90e142..e002c868aac 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -27,11 +27,6 @@ Zdrojový soubor {0} (na pozici {1}/{2}) se už zobrazil v seznamu kompilací (na pozici {3}/{4}). Ověřte prosím, že je v souboru projektu zahrnutý jen jednou. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - Soubor {0} má nerozpoznanou příponu. Zdrojové soubory musí mít příponu .fs, .fsi, .fsx nebo .fsscript. Pokud chcete povolit použití zastaralých přípon .ml nebo .mli, použijte parametry --langversion:5.0 a --mlcompatibility. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript Soubor {0} má nerozpoznanou příponu. Zdrojové soubory musí mít příponu .fs, .fsi, .fsx nebo .fsscript. @@ -492,11 +487,6 @@ Povolit duplikát malými písmeny při atributu RequireQualifiedAccess - - ML compatibility revisions - Revize kompatibility ML - - Pattern match discard is not allowed for union case that takes no data. Zahození shody vzoru není povolené pro případ sjednocení, který nepřijímá žádná data. @@ -837,11 +827,6 @@ Rozšířená interpolace řetězců není v této verzi jazyka F# podporována. - - IF-FSHARP/IF-CAML regions are no longer supported - Oblasti IF-FSHARP/IF-CAML už nejsou podporovány. - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ Pro případ sjednocení, který nepřijímá žádná data, se zahození vzoru nepovoluje. - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - Tento konstruktor je zastaralý. {0}. Tuto funkci můžete povolit pomocí parametrů --langversion:5.0 a --mlcompatibility. - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - V předchozích verzích jazyka F# bylo {0} rezervovaným klíčovým slovem, ale použití tohoto klíčového slova je nyní zastaralé. - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - Použití #light \"off\" nebo #indent \"off\" je ve verzi F# 2.0 zastaralé a už není podporováno. - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - Použití několika parametrů typu v závorkách před názvem obecného typu, například (int, int) Map, je ve verzi F# 2.0 zastaralé a už není podporováno. - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - Použití modulu M: sig ... end je ve verzi F# 2.0 zastaralé a už není podporováno. Změňte : na =, odeberte sig a end použijte místo toho odsazení. - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - Použití modulu M: sig ... end je ve verzi F# 2.0 zastaralé a už není podporováno. Odeberte sig a end použijte místo toho odsazení. - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - Použití modulu M: struct ... end je ve verzi F# 2.0 zastaralé a už není podporováno. Odeberte struct a end použijte místo toho odsazení. - - Stream does not begin with a null resource and is not in '.RES' format. Stream nezačíná zdrojem s hodnotou null a není ve formátu .RES. @@ -2147,11 +2097,6 @@ Zdrojový soubor {0} se nenašel. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - Soubor {0} má nerozpoznanou příponu. Zdrojový soubor musí mít příponu .fs, .fsi, .fsx, .fsscript, .ml nebo .mli. - - Could not resolve assembly '{0}' Sestavení {0} se nedalo přeložit. @@ -6112,11 +6057,6 @@ Definuje symboly podmíněné kompilace (krátký tvar: -d). - - Ignore ML compatibility warnings - Ignoruje upozornění na kompatibilitu s ML. - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - Tento konstruktor je určený pro kompatibilitu ML. {0}. Toto upozornění můžete pomocí --mlcompatibility nebo --nowarn:62 vypnout. - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute Typ {0} je označený jako typ s explicitním rozložením, ale u pole {1} chybí atribut FieldOffset. @@ -7012,16 +6947,6 @@ Neplatná definice operátora. Definice operátorů předpon musí používat platné názvy těchto operátorů. - - The file extensions '.ml' and '.mli' are for ML compatibility - Přípony .ml a .mli zajišťují kompatibilitu s ML. - - - - Consider using a file with extension '.ml' or '.mli' instead - Zvažte možnost použít místo toho soubor s příponou .ml nebo .mli. - - Active pattern '{0}' is not a function Aktivní vzor {0} není funkce. diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index d1b1782d093..c9585c11259 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -27,11 +27,6 @@ Die Quelldatei „{0}“ (an Position {1}/{2}) wurde bereits in der Kompilierungsliste angezeigt (an Position {3}/{4}). Bitte stellen Sie sicher, dass sie nur einmal in der Projektdatei enthalten ist. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - Die Dateierweiterung von „{0}“ wurde nicht erkannt. Quelldateien müssen die Erweiterung .fs, .fsi, .fsx oder .fsscript haben. Um die veraltete Verwendung der Erweiterungen .ml oder .mli zu aktivieren, verwenden Sie „--langversion:5.0“ und „--mlcompatibility“. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript Die Dateierweiterung von „{0}“ wurde nicht erkannt. Quelldateien müssen die Erweiterung .fs, .fsi, .fsx oder .fsscript haben @@ -492,11 +487,6 @@ DU in Kleinbuchstaben zulassen, wenn requireQualifiedAccess-Attribut - - ML compatibility revisions - ML-Kompatibilitätsrevisionen - - Pattern match discard is not allowed for union case that takes no data. Das Verwerfen von Musterübereinstimmungen ist für einen Union-Fall, der keine Daten akzeptiert, nicht zulässig. @@ -837,11 +827,6 @@ Die erweiterte Zeichenfolgeninterpolation wird in dieser Version von F# nicht unterstützt. - - IF-FSHARP/IF-CAML regions are no longer supported - IF-FSHARP-/IF-CAML-Regionen werden nicht mehr unterstützt - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ Das Verwerfen von Mustern ist für Union-Fall, der keine Daten akzeptiert, nicht zulässig. - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - Dieses Konstrukt ist veraltet. {0}. Sie können dieses Feature mithilfe von „--langversion:5.0“ und „--mlcompatibility“ aktivieren. - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - In früheren Versionen von F# war „{0}“ ein reserviertes Schlüsselwort, aber die Verwendung dieses Schlüsselworts ist jetzt veraltet - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - Die Verwendung von „#light \"off\"“ oder „#indent \"off\>"“ wurde in F# 2.0 als veraltet markiert und wird nicht mehr unterstützt - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - Die Verwendung mehrerer in Klammern gesetzter Typparameter vor einem generischen Typnamen wie „(int, int) Map“ wurde in F# 2.0 als veraltet markiert und wird nicht mehr unterstützt - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - Die Verwendung von „Modul M: sig ... end “ wurde in F# 2.0 als veraltet markiert und wird nicht mehr unterstützt. Ändern Sie „:“ in „=“, entfernen Sie „sig“ und „end“, und verwenden Sie stattdessen einen Einzug - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - Die Verwendung von „Modul M = sig ... end “ wurde in F# 2.0 als veraltet markiert und wird nicht mehr unterstützt. Entfernen Sie „sig“ und „end“, und verwenden Sie stattdessen einen Einzug - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - Die Verwendung von „Modul M = struct... end “ wurde in F# 2.0 als veraltet markiert und wird nicht mehr unterstützt. Entfernen Sie „struct“ und „end“, und verwenden Sie stattdessen einen Einzug - - Stream does not begin with a null resource and is not in '.RES' format. Der Stream beginnt nicht mit einer NULL-Ressource und ist nicht im RES-Format. @@ -2147,11 +2097,6 @@ Quelldatei "{0}" wurde nicht gefunden. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - Die Dateierweiterung "{0}" wurde nicht erkannt. Quelldateien müssen die Erweiterung .fs, .fsi, .fsx, .fsscript, .ml oder .mli haben. - - Could not resolve assembly '{0}' Assembly "{0}" konnte nicht aufgelöst werden. @@ -6112,11 +6057,6 @@ Bedingte Kompilierungssymbole definieren (Kurzform: -d) - - Ignore ML compatibility warnings - ML-Kompatibilitätswarnungen ignorieren - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - Dieses Konstrukt dient der ML-Kompatibilität. {0}. Die Warnung lässt sich mit "--mlcompatibility" oder "--nowarn:62" deaktivieren. - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute Der Typ "{0}" wurde als Typ mit explizitem Layout markiert, das Feld "{1}" wurde jedoch nicht mit dem FieldOffset-Attribut versehen. @@ -7012,16 +6947,6 @@ Ungültige Operatordefinition. Für Präfixoperatordefinitionen muss ein gültiger Präfixoperatorname verwendet werden. - - The file extensions '.ml' and '.mli' are for ML compatibility - Die Dateierweiterungen ".ml" und ".mli" dienen der ML-Kompatibilität. - - - - Consider using a file with extension '.ml' or '.mli' instead - Verwenden Sie stattdessen eine Datei mit der Erweiterung ".ml" oder ".mli". - - Active pattern '{0}' is not a function Das aktive Muster "{0}" ist keine Funktion. diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index cd311cc7fc5..b299490230e 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -27,11 +27,6 @@ El archivo de origen "{0}" (en la posición {1}/{2}) ya aparece en la lista de compilación (en la posición {3}/{4}). Compruebe que solo se incluya una vez en el archivo del proyecto. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - No se reconoce la extensión de archivo de '{0}'. Los archivos de código fuente deben tener las extensiones .fs, .fsi, .fsx o .fsscript. Para habilitar el uso en desuso de las extensiones .ml o .mli, use '--langversion:5.0' y '--mlcompatibility'. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript No se reconoce la extensión de archivo de '{0}'. Los archivos de código fuente deben tener las extensiones .fs, .fsi, .fsx o .fsscript @@ -492,11 +487,6 @@ Permitir DU en minúsculas con el atributo RequireQualifiedAccess - - ML compatibility revisions - Revisiones de compatibilidad de ML - - Pattern match discard is not allowed for union case that takes no data. No se permite el descarte de coincidencia de patrón para un caso de unión que no tome datos. @@ -837,11 +827,6 @@ No se admite la interpolación de cadenas extendida en esta versión de F#. - - IF-FSHARP/IF-CAML regions are no longer supported - Ya no se admiten las regiones IF-FSHARP/IF-CAML - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ No se permite el descarte de patrón para un caso de unión que no tome datos. - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - Esta construcción está en desuso. {0}. Puede habilitar esta característica usando '--langversion:5.0' y '--mlcompatibility'. - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - En versiones anteriores de F# '{0}' era una palabra clave reservada, pero el uso de esta palabra clave ahora está en desuso - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - El uso de '#light \"off\"' o '#indent \"off\"' quedó en desuso en F# 2.0 y ya no se admite - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - El uso de varios parámetros de tipo entre paréntesis antes de un nombre de tipo genérico como '(int, int) Map' quedó en desuso en F# 2.0 y ya no se admite - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - El uso del 'módulo M: sig... end ' quedó en desuso en F# 2.0 y ya no se admite. Cambie ':' por '=', quite 'sig' y 'end' y use sangría en su lugar. - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - El uso de 'module M = sig... end ' quedó en desuso en F# 2.0 y ya no se admite. Quite "sig" y "end" y use la sangría en su lugar. - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - El uso de 'module M = struct... end ' quedó en desuso en F# 2.0 y ya no se admite. Quite 'struct' y 'end' y use sangría en su lugar. - - Stream does not begin with a null resource and is not in '.RES' format. El flujo no comienza con un recurso nulo ni está en formato ".RES". @@ -2147,11 +2097,6 @@ No se encuentra el archivo de código fuente '{0}'. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - No se reconoce la extensión de archivo de '{0}'. Los archivos de código fuente deben tener la extensión .fs, .fsi, .fsx, .fsscript, .ml o .mli. - - Could not resolve assembly '{0}' No se pudo resolver el ensamblado '{0}'. @@ -6112,11 +6057,6 @@ Definir símbolos de compilación condicionales (forma corta: -d) - - Ignore ML compatibility warnings - Omitir las advertencias de compatibilidad con ML - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - Esta construcción es para la compatibilidad con ML. {0}. Puede deshabilitar esta advertencia usando '--mlcompatibility' o '--nowarn:62'. - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute El tipo '{0}' se ha marcado como que tiene un diseño explícito, pero el campo '{1}' no se ha marcado con el atributo 'FieldOffset'. @@ -7012,16 +6947,6 @@ Definición de operador no válida. Las definiciones de operador de prefijo deben usar un nombre de operador de prefijo válido. - - The file extensions '.ml' and '.mli' are for ML compatibility - Las extensiones de archivo '.ml' y '.mli' son para la compatibilidad con ML. - - - - Consider using a file with extension '.ml' or '.mli' instead - En su lugar, considere el uso de un archivo con la extensión '.ml' o '.mli'. - - Active pattern '{0}' is not a function El patrón activo '{0}' no es una función diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index e05e9ecdf6c..67897872e6a 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -27,11 +27,6 @@ Le fichier source « {0} » (à la position {1}/{2}) apparaît déjà dans la liste de compilation (à la position {3}/{4}). Vérifiez qu’il n’est inclus qu’une seule fois dans le fichier projet. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - L’extension de fichier « {0} » n’est pas reconnue. Les fichiers sources doivent avoir l’extension. FS,. FSI,. FSX ou. fsscript. Pour activer l’utilisation déconseillée des extensions. ml ou. MLI, utilisez'--langversion : 5.0 'et'--mlcompatibility'. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript L'extension de fichier de '{0}' n'est pas reconnue. Les fichiers sources doivent avoir l'extension .fs, .fsi, .fsx, ou .fsscript. @@ -492,11 +487,6 @@ Autoriser les DU en minuscules pour l'attribut RequireQualifiedAccess - - ML compatibility revisions - Réviseurs de compatibilité ML - - Pattern match discard is not allowed for union case that takes no data. L’abandon des correspondances de modèle n’est pas autorisé pour un cas d’union qui n’accepte aucune donnée. @@ -837,11 +827,6 @@ L'interpolation de chaîne étendue n'est pas prise en charge dans cette version de F#. - - IF-FSHARP/IF-CAML regions are no longer supported - Les régions IF-FSHARP/IF-CAML ne sont plus prises en charge. - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ L’abandon de modèle n’est pas autorisé pour un cas d’union qui n’accepte aucune donnée. - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - Cette construction est déconseillée. {0}. Vous pouvez activer cette fonctionnalité à l’aide de'--langversion : 5.0 'et'--mlcompatibility'. - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - Dans les versions précédentes de F # ' {0} 'était un mot clé réservé mais l’utilisation de ce mot clé est désormais déconseillée. - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - L’utilisation de' #light \ "OFF \" ou' #indent \ "OFF \" a été dépréciée dans F # 2,0 et n’est plus prise en charge - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - L’utilisation de plusieurs paramètres de type entre parenthèses avant un nom de type générique, tel que' (int, int) map', a été dépréciée dans F # 2,0 et n’est plus prise en charge. - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - L’utilisation de ’module M : SIG... end’a été déconseillé dans F # 2,0 et n’est plus pris en charge. Remplacer « : » par « = » et supprimer les éléments « SIG » et « end », et utiliser la mise en retrait à la place. - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - L'utilisation de 'module M = sig ... end ' a été dépréciée dans F# 2.0 et n'est plus supportée. Supprimez les termes « sig » et « end » et utilisez l'indentation à la place. - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - L'utilisation de 'module M = struct ... end ' a été dépréciée dans F# 2.0 et n'est plus supportée. Supprimez les termes « struct » et « end » et utilisez l'indentation à la place. - - Stream does not begin with a null resource and is not in '.RES' format. Le flux ne commence pas par une ressource null et n'est pas au format '.RES'. @@ -2147,11 +2097,6 @@ Le fichier source '{0}' est introuvable - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - L'extension de fichier de '{0}' n'est pas reconnue. Les fichiers sources doivent avoir l'extension .fs, .fsi, .fsx, .fsscript, .ml ou .mli. - - Could not resolve assembly '{0}' Impossible de résoudre l'assembly '{0}' @@ -6112,11 +6057,6 @@ Définir les symboles de compilation conditionnelle (forme abrégée : -d) - - Ignore ML compatibility warnings - Ignorer les avertissements de compatibilité ML - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - Cette construction est pour la compatibilité ML. {0}. Vous pouvez désactiver cet avertissement en utilisant '--mlcompatibility' ou '--nowarn:62'. - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute Le type '{0}' a été marqué comme ayant une disposition Explicit, mais le champ '{1}' n'a pas été marqué avec l'attribut 'FieldOffset' @@ -7012,16 +6947,6 @@ Définition d'opérateur non valide. Les définitions d'opérateur de préfixe doivent utiliser un nom d'opérateur de préfixe valide. - - The file extensions '.ml' and '.mli' are for ML compatibility - Les extensions de fichiers '.ml' et '.mli' sont utilisées pour la compatibilité ML - - - - Consider using a file with extension '.ml' or '.mli' instead - Utilisez un fichier avec l'extension '.ml' ou '.mli' à la place - - Active pattern '{0}' is not a function Le modèle actif '{0}' n'est pas une fonction diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index a25fd816046..c6c6afd021a 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -27,11 +27,6 @@ Il file di origine '{0}' (nella posizione {1}/{2}) è già presente nell'elenco di compilazione (nella posizione {3}/{4}). Verificare che sia incluso solo una volta nel file di progetto. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - L'estensione di file di '{0}' non è riconosciuta. I file di origine devono avere estensione fs, fsi, fsx o fsscript. Per abilitare l'uso deprecato delle estensioni ml o mli, usare '--langversion:5.0' e '--mlcompatibility'. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript Estensione di file di '{0}' non riconosciuta. I file di origine devono avere estensione .fs, .fsi, .fsx or .fsscript @@ -492,11 +487,6 @@ Consentire l’unione discriminata minuscola quando l'attributo RequireQualifiedAccess - - ML compatibility revisions - Revisioni della compatibilità di Ml - - Pattern match discard is not allowed for union case that takes no data. L'eliminazione della corrispondenza dei criteri non è consentita per case di unione che non accetta dati. @@ -837,11 +827,6 @@ L'interpolazione di stringa estesa non è supportata in questa versione di F#. - - IF-FSHARP/IF-CAML regions are no longer supported - Le aree IF-FSHARP/IF-CAML non sono più supportate - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ L'eliminazione del criterio non è consentita per case di unione che non accetta dati. - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - Questo costrutto è deprecato. {0}. È possibile abilitare questa funzionalità usando '--langversion:5.0' and '--mlcompatibility'. - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - Nelle versioni precedenti di F # '{0}' è una parola chiave riservata, ma l'utilizzo di questa parola chiave è ora deprecato - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - L'uso di '#light \"off\"' o '#indent \"off\"' è stato deprecato in F# 2.0 e non è più supportato - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - L'uso di più parametri di tipo tra parentesi prima di un nome di tipo generico come '(int, int) Map' è stato deprecato in F# 2.0 e non è più supportato - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - L’uso di 'module M: sig... end ' è stato deprecato in F# 2.0 e non è più supportato. Modificare ':' in '=' e rimuovere 'sig' e 'end' e usare invece il rientro - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - L’uso di 'module M = sig... end ' è stato deprecato in F# 2.0 e non è più supportato. Rimuovere 'sig' e 'end' e usare invece il rientro - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - Uso di 'module M = struct... end ' è stato deprecato in F# 2.0 e non è più supportato. Rimuovere 'struct' e 'end' e usare invece il rientro - - Stream does not begin with a null resource and is not in '.RES' format. Il flusso non inizia con una risorsa Null e non è in formato '.RES'. @@ -2147,11 +2097,6 @@ Il file di origine '{0}' non è stato trovato - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - Estensione di file di '{0}' non riconosciuta. I file di origine devono avere estensione .fs, .fsi, .fsx, .fsscript, .ml o .mli. - - Could not resolve assembly '{0}' Non è stato possibile risolvere l'assembly '{0}' @@ -6112,11 +6057,6 @@ Definisce simboli di compilazione condizionale (forma breve: -d) - - Ignore ML compatibility warnings - Ignora avvisi di compatibilità ML - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - Il costruttore è per la compatibilità ML. {0}. È possibile disabilitare questo avviso tramite '--mlcompatibility' o '--nowarn:62'. - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute Il tipo '{0}' è stato contrassegnato con il layout esplicito, ma il campo '{1}' non è stato contrassegnato con l'attributo 'FieldOffset' @@ -7012,16 +6947,6 @@ Definizione di operatore non valida. Le definizioni di operatore prefisso devono utilizzare un nome di operatore prefisso valido. - - The file extensions '.ml' and '.mli' are for ML compatibility - Le estensioni di file '.ml' e '.mli' sono per la compatibilità ML - - - - Consider using a file with extension '.ml' or '.mli' instead - Provare a utilizzare un file con estensione '.ml' o '.mli' - - Active pattern '{0}' is not a function I criteri attivi '{0}' non sono una funzione diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index 87b7d40df1e..bfc1f15ee84 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -27,11 +27,6 @@ ソース ファイル '{0}' (位置 {1}/{2}) は、コンパイル リスト (位置 {3}/{4}) に既に存在します。プロジェクト ファイルに 1 回だけ含まれていることを確認してください。 - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - '{0}' のファイル拡張子を認識できません。ソース ファイル拡張子は .fs、.fsi、.fsx、または .fsscript にする必要があります。非推奨の拡張子 .ml または .mli の使用を有効にするには、'--langversion:5.0' および '--mlcompatibility' を使用してください。 - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript '{0}' のファイル拡張子は認識されません。ソース ファイルの拡張子は .fs、.fsi、.fsx、または .fsscript にする必要があります。 @@ -492,11 +487,6 @@ RequireQualifiedAccess 属性の場合に小文字 DU を許可する - - ML compatibility revisions - ML 互換性のリビジョン - - Pattern match discard is not allowed for union case that takes no data. データを受け取らない共用体ケースでは、パターン一致の破棄は許可されません。 @@ -837,11 +827,6 @@ 拡張文字列補間は、このバージョンの F# ではサポートされていません。 - - IF-FSHARP/IF-CAML regions are no longer supported - IF-FSHARP/IF-CAML リージョンは現在サポートされていません - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ データを受け取らない共用体ケースでは、パターンの破棄は許可されません。 - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - このコンストラクトは使用されなくなりました。{0}。'--langversion:5.0' と '--mlcompatibility' を使用することで、この機能を有効にすることができます。 - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - F# '{0}' の以前のバージョンは予約されたキーワードでしたが、このキーワードは現在では使用されなくなりました - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - '#light \"off\"' または '#indent \"off\"' の使用は F# 2.0 では使用されなくなり、現在サポートされていません - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - '(int, int) Map' のような一般的なジェネリック型名の前に複数のかっこで囲まれた型パラメーターを使用することは、F# 2.0 では使用されなくなり、現在サポートされていません - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - 'module M = struct ... end ' の使用は F# 2.0 では使用されなくなり、現在サポートされていません。':' を '=' に変更し、'sig' と 'end' を削除し、代わりにインデントを使用します - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - 'module M = sig ... end ' の使用は F# 2.0 では使用されなくなり、現在サポートされていません。'sig' と 'end' を削除し、代わりにインデントを使用します - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - 'module M = struct ... end ' の使用は F# 2.0 では使用されなくなり、現在サポートされていません。'struct' と 'end' を削除し、代わりにインデントを使用します - - Stream does not begin with a null resource and is not in '.RES' format. ストリームは null リソースでは始まらず、'RES' 形式でもありません。 @@ -2147,11 +2097,6 @@ ソース ファイル '{0}' が見つかりませんでした - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - '{0}' のファイル拡張子は認識されません。ソース ファイルの拡張子は .fs、.fsi、.fsx、.fsscript、.ml、または .mli にする必要があります。 - - Could not resolve assembly '{0}' アセンブリ '{0}' を解決できませんでした @@ -6112,11 +6057,6 @@ 条件付きコンパイル シンボルを定義します (短い形式: -d) - - Ignore ML compatibility warnings - ML 互換性に関する警告を無視します - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - このコンストラクターは ML 互換用です。{0}。'--mlcompatibility' または '--nowarn:62' を使用して、この警告を無効にできます。 - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute 型 '{0}' は明示的なレイアウトがあるとしてマークされていますが、フィールド '{1}' は 'FieldOffset' 属性でマークされていません @@ -7012,16 +6947,6 @@ 無効な演算子の定義です。プレフィックス演算子の定義には、有効なプレフィックス演算子名を使用する必要があります。 - - The file extensions '.ml' and '.mli' are for ML compatibility - ファイル拡張子 '.ml' および '.mli' は ML 互換用です - - - - Consider using a file with extension '.ml' or '.mli' instead - 代わりに、ファイル拡張子に '.ml' または '.mli' を使用してください - - Active pattern '{0}' is not a function アクティブ パターン '{0}' が関数ではありません diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index f2fe6e20f97..30e411f3665 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -27,11 +27,6 @@ '{0}' 원본 파일(위치: {1}/{2})이 이미 컴파일 목록에 있습니다(위치{3}/{4}). 프로젝트 파일에 한 번만 포함되어 있는지 확인하세요. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - '{0}'의 파일 확장자가 인식되지 않습니다. 원본 파일의 확장자는 .fs, .fsi, .fsx 또는 .fsscript여야 합니다. 더 이상 사용되지 않는 .ml 또는 .mli 확장자를 사용하려면 '--langversion:5.0' 및 '--mlcompatibility'를 사용하세요. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript '{0}'의 파일 확장명을 인식할 수 없습니다. 원본 파일의 확장명은 .fs, .fsi, .fsx 또는 .fsscript여야 합니다. @@ -492,11 +487,6 @@ RequireQualifiedAccess 특성이 있는 경우 소문자 DU 허용 - - ML compatibility revisions - ML 호환성 개정 - - Pattern match discard is not allowed for union case that takes no data. 데이터를 사용하지 않는 공용 구조체 사례에는 패턴 일치 삭제가 허용되지 않습니다. @@ -837,11 +827,6 @@ 확장 문자열 보간은 이 버전의 F#에서 지원되지 않습니다. - - IF-FSHARP/IF-CAML regions are no longer supported - IF-FSHARP/IF-CAML 영역은 더 이상 지원되지 않습니다. - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ 데이터를 사용하지 않는 공용 구조체 사례에는 패턴 삭제가 허용되지 않습니다. - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - 이 구성은 더 이상 사용되지 않습니다. {0}. '--langversion:5.0' 및 '--mlcompatibility'를 사용하여 이 기능을 활성화할 수 있습니다. - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - 이전 버전의 F#에서 '{0}'은(는) 예약된 키워드였지만 이 키워드의 사용은 이제 더 이상 사용되지 않습니다. - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - '#light \"off\"' 또는 '#indent \"off\"'의 사용은 F# 2.0에서 더 이상 사용되지 않으며 더 이상 지원되지 않습니다. - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - '(int, int) Map'과 같은 제네릭 형식 이름 앞에 괄호로 묶인 여러 형식 매개 변수를 사용하는 것은 F# 2.0에서 더 이상 사용되지 않으며 더 이상 지원되지 않습니다. - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - 'module M: ​​sig ... end '의 사용은 F# 2.0에서 더 이상 사용되지 않으며 더 이상 지원되지 않습니다. ':'를 '='로 변경하고 'sig'와 'end'를 제거하고 들여쓰기를 대신 사용하세요. - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - 'module M = sig ... end '의 사용은 F# 2.0에서 더 이상 사용되지 않으며 더 이상 지원되지 않습니다. 'sig'와 'end'를 제거하고 들여쓰기를 대신 사용하세요. - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - 'module M = struct ... end '의 사용은 F# 2.0에서 더 이상 사용되지 않으며 더 이상 지원되지 않습니다. 'struct'와 'end'를 제거하고 들여쓰기를 대신 사용하세요. - - Stream does not begin with a null resource and is not in '.RES' format. 스트림은 null 리소스로 시작되지 않으며 '.RES' 형식이 아닙니다. @@ -2147,11 +2097,6 @@ 소스 파일 '{0}'을(를) 찾을 수 없습니다. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - '{0}'의 파일 확장명을 인식할 수 없습니다. 소스 파일의 확장명은 .fs, .fsi, .fsx, .fsscript, .ml 또는 .mli여야 합니다. - - Could not resolve assembly '{0}' '{0}' 어셈블리를 확인할 수 없습니다. @@ -6112,11 +6057,6 @@ 조건부 컴파일 기호를 정의합니다(약식: -d). - - Ignore ML compatibility warnings - ML 호환성 경고를 무시합니다. - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - 이 구문은 ML 호환성을 위해 사용됩니다. {0}. 이 경고가 나타나지 않게 하려면 '--mlcompatibility' 또는 '--nowarn:62'를 사용합니다. - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute {0}' 형식이 명시적 레이아웃을 포함한다고 표시되어 있지만 '{1}' 필드가 'FieldOffset' 특성으로 표시되어 있지 않습니다. @@ -7012,16 +6947,6 @@ 잘못된 연산자 정의입니다. 전위 연산자 정의에서는 유효한 전위 연산자 이름을 사용해야 합니다. - - The file extensions '.ml' and '.mli' are for ML compatibility - 파일 확장명 '.ml' 및 '.mli'는 ML 호환성을 위한 것입니다. - - - - Consider using a file with extension '.ml' or '.mli' instead - 대신 확장명이 '.ml' 또는 '.mli'인 파일을 사용해 보세요. - - Active pattern '{0}' is not a function 활성 패턴 '{0}'이(가) 함수가 아닙니다. diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index 23a194ff258..6ee8ce5d267 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -27,11 +27,6 @@ Plik źródłowy „{0}” (na pozycji {1}/{2}) już pojawił się na liście kompilacji (na pozycji {3}/{4}). Sprawdź, czy jest on uwzględniony tylko raz w pliku projektu. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - Rozszerzenie pliku "{0}" nie zostało rozpoznane. Pliki źródłowe muszą mieć rozszerzenie .fs, .fsi, .fsx lub .fsscript. Aby włączyć przestarzałe używanie rozszerzeń. ml lub .mli, użyj polecenia "--langversion: 5.0" i "--mlcompatibility". - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript Rozszerzenie pliku "{0}" nie zostało rozpoznane. Pliki źródłowe muszą mieć rozszerzenie .fs, .fsi, .fsx lub .fsscript @@ -492,11 +487,6 @@ Zezwalaj na małą literę DU, gdy występuje RequireQualifiedAccess - - ML compatibility revisions - Poprawki dotyczące zgodności Machine Learning - - Pattern match discard is not allowed for union case that takes no data. Odrzucenie dopasowania wzorca jest niedozwolone w przypadku unii, która nie pobiera żadnych danych. @@ -837,11 +827,6 @@ Rozszerzona interpolacja ciągów nie jest obsługiwana w tej wersji języka F#. - - IF-FSHARP/IF-CAML regions are no longer supported - Regiony IF-FSHARP/IF-CAML nie są już obsługiwane - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ Odrzucanie wzorca jest niedozwolone w przypadku unii, która nie przyjmuje żadnych danych. - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - Ta konstrukcja jest przestarzała. {0}. Tę funkcję można włączyć przy użyciu poleceń"--langversion:5.0" i "--mlcompatibility". - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - W poprzednich wersjach języka F# "{0}" było zarezerwowanym słowem kluczowym, ale używanie tego słowa kluczowego jest obecnie przestarzałe - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - Używanie polecenia '#light \"off\"' or '#indent \"off\"' jest przestarzałe w języku F# 2.0 i nie jest już obsługiwane - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - Używanie wielu parametrów typu „w nawiasach” przed nazwą typu ogólnego, takim jak "Mapa (int, int)", jest przestarzałe w języku F# 2.0 i nie jest już obsługiwane - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - Używanie wyrażenia "module M: sig ... end" jest przestarzałe w języku F# 2.0 i nie jest już obsługiwane. Zmień ":" na "=" i usuń element "sig" oraz "end" i w zamian użyj wcięcia - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - Używanie wyrażenia "module M: sig ... end" jest przestarzałe w języku F# 2.0 i nie jest już obsługiwane. Usuń element "sig" oraz "end" i w zamian użyj wcięcia - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - Używanie wyrażenia "module M: struct ... end" jest przestarzałe w języku F# 2.0 i nie jest już obsługiwane. Usuń element "struct" oraz "end" i w zamian użyj wcięcia - - Stream does not begin with a null resource and is not in '.RES' format. Strumień nie zaczyna się od zasobu o wartości null i nie jest w formacie „.RES”. @@ -2147,11 +2097,6 @@ Nie można znaleźć pliku źródłowego „{0}” - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - Rozszerzenie pliku „{0}” nie zostało rozpoznane. Pliki źródłowe muszą mieć rozszerzenie fs, fsi, fsx, fsscript, ml lub mli. - - Could not resolve assembly '{0}' Nie można rozpoznać zestawu „{0}” @@ -6112,11 +6057,6 @@ Definiuj symbole kompilacji warunkowej (krótka wersja: -d) - - Ignore ML compatibility warnings - Ignoruj ostrzeżenia dotyczące zgodności z językiem ML - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - Ta konstrukcja zapewnia zgodność z językiem ML. {0}. Możesz wyłączyć to ostrzeżenie, używając opcji „--mlcompatibility” lub opcji „--nowarn:62”. - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute Typ „{0}” został oznaczony jako mający układ Explicit, ale pole „{1}” nie zostało oznaczone za pomocą atrybutu „FieldOffset” @@ -7012,16 +6947,6 @@ Nieprawidłowa definicja operatora. Definicje operatora prefiksu muszą używać prawidłowej nazwy operatora prefiksu. - - The file extensions '.ml' and '.mli' are for ML compatibility - Rozszerzenia pliku „ml” i „mli” są używane na potrzeby zgodności z językiem ML - - - - Consider using a file with extension '.ml' or '.mli' instead - Rozważ użycie pliku z rozszerzeniem „ml” lub „mli” - - Active pattern '{0}' is not a function Aktywny wzorzec „{0}” nie jest funkcją diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index 503fc0f073f..d8822f5baf6 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -27,11 +27,6 @@ O arquivo fonte '{0}' (na posição {1}/{2} ) já apareceu na lista de compilação (na posição {3}/{4}). Verifique se ele foi incluído apenas uma vez no arquivo do projeto. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - A extensão do arquivo '{0}' não foi reconhecida. Os arquivos de origem devem ter a extensão .fs, .fsi, .fsx ou .fsscript. Para ativar o uso preterido das extensões .ml ou .mli, use '--langversion:5.0' e '--mlcompatibility'. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript A extensão do arquivo de '{0}' não foi reconhecida. Os arquivos de origem devem ter a extensão .fs, .fsi, .fsx or .fsscript @@ -492,11 +487,6 @@ Permitir DU em minúsculas quando o atributo RequireQualifiedAccess - - ML compatibility revisions - Revisões de compatibilidade de ML - - Pattern match discard is not allowed for union case that takes no data. O descarte de correspondência de padrão não é permitido para casos união que não aceitam dados. @@ -837,11 +827,6 @@ Não há suporte para interpolação de cadeia de caracteres estendida nesta versão do F#. - - IF-FSHARP/IF-CAML regions are no longer supported - As regiões IF-FSHARP/IF-CAML não são mais suportadas - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ O descarte de padrão não é permitido para casos união que não aceitam dados. - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - Esta construção foi preterida. {0} Você pode habilitar este recurso usando '--langversion:5.0' e '--mlcompatibility'. - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - Nas versões anteriores de F# '{0}' era uma palavra-chave reservada, mas o uso desta palavra-chave agora foi preterida - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - O uso de '#light \"off\"' ou '#indent \"off\"' foi preterido em F# 2.0 e não é mais suportado - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - O uso de múltiplos parâmetros do tipo entre parênteses antes de um nome genérico do tipo como '(int, int) Map' foi preterido em F# 2.0 e não é mais suportado - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - O uso do 'módulo M: sig ... end ' foi preterido em F# 2.0 e não é mais suportado. Mude o ':' para um '=' e remova o 'sig' e o 'end' e use o recuo em seu lugar. - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - O uso do 'módulo M = sig ... end' foi preterido em F# 2.0 e não é mais suportado. Remova o 'sig' e o 'end' e use o recuo em seu lugar - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - O uso do 'módulo M = struct ... end' foi preterido em F# 2.0 e não é mais suportado. Remova o 'struct' e 'end' e use o recuo em seu lugar - - Stream does not begin with a null resource and is not in '.RES' format. Stream não começa com um recurso nulo e não está no formato '.RES'. @@ -2147,11 +2097,6 @@ O arquivo de origem '{0}' não pôde ser localizado - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - A extensão de arquivo de '{0}' não é reconhecida. Arquivos de origem devem ter extensão .fs, .fsi, .fsx, .fsscript, .ml ou .mli. - - Could not resolve assembly '{0}' Não foi possível resolver o assembly '{0}' @@ -6112,11 +6057,6 @@ Defina símbolos de compilação condicional (Forma abreviada: -d) - - Ignore ML compatibility warnings - Ignore avisos de compatibilidade ML - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - Este constructo serve para a compatibilidade ML. {0}. Você pode desabilitar esse aviso usando '--mlcompatibility' ou '--nowarn:62'. - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute O tipo '{0}' foi marcado como tendo um layout explícito, mas o campo '{1}' não tinha sido marcado com o atributo 'FieldOffset' @@ -7012,16 +6947,6 @@ Definição de operador inválida. Definições de operadores pré-fixos precisam usar um nome de operador válido. - - The file extensions '.ml' and '.mli' are for ML compatibility - As extensões de arquivo '.ml' e '.mli' são para compatibilidade com ML - - - - Consider using a file with extension '.ml' or '.mli' instead - Considere usar um arquivo com extensão '.ml' ou '.mli' em vez disso - - Active pattern '{0}' is not a function O padrão ativo '{0}' não é uma função diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index 7013fb0bc83..54a0a33e3ac 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -27,11 +27,6 @@ Исходный файл "{0}" (в позиции {1}/{2}) уже присутствует в списке компиляции (в позиции {3}/{4}). Убедитесь, что он включен в файл проекта только один раз. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - Расширение файла "{0}" не распознано. Исходные файлы должны иметь расширения FS, FSI, FSX или FSSCRIPT. Чтобы включить использование нерекомендуемых расширений ML или MLI, примените команду "--langversion:5.0" и "--mlcompatibility". - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript Расширение файла "{0}" не распознано. Исходные файлы должны иметь расширения FS, FSI, FSX или FSSCRIPT @@ -492,11 +487,6 @@ Разрешить du в нижнем регистре, если атрибут RequireQualifiedAccess - - ML compatibility revisions - Редакции совместимости ML - - Pattern match discard is not allowed for union case that takes no data. Отмена сопоставления с шаблоном не разрешена для случая объединения, не принимающего данные. @@ -837,11 +827,6 @@ Расширенная интерполяция строк не поддерживается в этой версии F#. - - IF-FSHARP/IF-CAML regions are no longer supported - Регионы IF-FSHARP/IF-CAML больше не поддерживаются - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ Отмена шаблона не разрешена для случая объединения, не принимающего данные. - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - Эта конструкция не рекомендуется к использованию. {0}. Вы можете включить эту функцию с помощью команд "--langversion:5.0" и "--mlcompatibility". - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - "{0}" было зарезервированным ключевым словом в предыдущих версиях F#, но использование этого ключевого слова теперь не рекомендуется - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - Использование «#light \"off\"» или «#indent \"off\"» не рекомендуется в F# 2.0 и больше не поддерживается - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - Использование нескольких параметров типа в круглых скобках перед именем универсального типа, например "(int, int) Map", не рекомендуется в F# 2.0 и больше не поддерживается - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - Использование "module M: sig ... end" не рекомендуется в F# 2.0 и больше не поддерживается. Измените ":" на "=" и удалите "sig" и "end" (используйте вместо них отступы) - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - Использование "module M = sig ... end" не рекомендуется в F# 2.0 и больше не поддерживается. Удалите "sig" и "end" (используйте вместо них отступы) - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - Использование "module M = struct ... end" не рекомендуется в F# 2.0 и больше не поддерживается. Удалите "struct" и "end" (используйте вместо них отступы) - - Stream does not begin with a null resource and is not in '.RES' format. Поток не начинается с нулевого ресурса и не соответствует формату ".RES". @@ -2147,11 +2097,6 @@ Исходный файл "{0}" не найден - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - Нераспознанное расширение файла "{0}". Исходные файлы должны иметь расширения .fs, .fsi, .fsx, .fsscript, .ml или .mli. - - Could not resolve assembly '{0}' Не удалось разрешить сборку "{0}". @@ -6112,11 +6057,6 @@ Определить символы условной компиляции (краткая форма: -d) - - Ignore ML compatibility warnings - Игнорировать предупреждения многоязыковой совместимости - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - Эта конструкция предназначена для многоязыковой совместимости. {0}. Это предупреждение можно отключить с помощью параметра "--mlcompatibility" или "--nowarn:62". - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute Тип "{0}" был помечен как имеющий явно заданный макет, но поле "{1}" не было помечено атрибутом FieldOffset @@ -7012,16 +6947,6 @@ Недопустимое определение оператора. Определения префиксных операторов должны использовать допустимые имена префиксных операторов. - - The file extensions '.ml' and '.mli' are for ML compatibility - Расширения файлов ".ml" и ".mli" предназначены для многоязыковой совместимости - - - - Consider using a file with extension '.ml' or '.mli' instead - Рассмотрите возможность использования файла с расширением ".ml" или ".mli" - - Active pattern '{0}' is not a function Активный шаблон "{0}" не является функцией diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index 49d2a295b45..187284efc89 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -27,11 +27,6 @@ Kaynak dosya '{0}' ({1}/{2} konumunda) derleme listesinde ({3}/{4} konumunda) zaten göründü. Lütfen proje dosyasına yalnızca bir kez eklendiğinden emin olun. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - '{0}' kaynak dosyasının dosya uzantısı tanınmadı. Kaynak dosyaların uzantısı .fs, .fsi, .fsx veya .fsscript olmalıdır. Kullanım dışı .ml veya .mli uzantılarını etkinleştirmek için '--langversion:5.0' ve '--mlcompatibility' kullanın. - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript '{0}' kaynak dosyasının dosya uzantısı tanınmadı. Kaynak dosyaların uzantısı .fs, .fsi, .fsx veya .fsscript olmalıdır. @@ -492,11 +487,6 @@ RequireQualifiedAccess özniteliğinde küçük harf DU'ya izin ver - - ML compatibility revisions - ML uyumluluk düzeltmeleri - - Pattern match discard is not allowed for union case that takes no data. Veri almayan birleşim durumu için desen eşleştirme atma kullanılamaz. @@ -837,11 +827,6 @@ Genişletilmiş dize ilişkilendirmesi bu F# sürümünde desteklenmiyor. - - IF-FSHARP/IF-CAML regions are no longer supported - IF-FSHARP/IF-CAML bölgeleri artık desteklenmiyor - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ Veri almayan birleşim durumu için desen atma kullanılamaz. - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - Bu yapı kullanım dışı. {0}. Bu özelliği '--langversion:5.0' ve '--mlcompatibility' kullanarak etkinleştirebilirsiniz. - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - Önceki F# sürümlerinde '{0}' ayrılmış bir anahtar sözcüktü ancak bu anahtar sözcük artık kullanımdan kaldırıldı - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - '#light \"off\"' veya '#indent \"off\"' F# 2.0 sürümünde kullanımdan kaldırıldı ve artık desteklenmiyor - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - Bir genel tür adından önce '(int, int) Map' gibi parantez içine alınmış birden çok tür parametresi F# 2.0 sürümünde kullanımdan kaldırıldı ve artık desteklenmiyor - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - 'module M: sig ... end ' F# 2.0 sürümünde kullanımdan kaldırıldı ve artık desteklenmiyor. ':' karakterini '=' olarak değiştirin, 'sig' ve 'end' ifadelerini kaldırın ve bunların yerine girinti kullanın - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - 'module M = sig ... end ' F# 2.0 sürümünde kullanımdan kaldırıldı ve artık desteklenmiyor. 'sig' ve 'end' ifadelerini kaldırın ve bunların yerine girinti kullanın - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - 'module M = struct ... end ' F# 2.0 sürümünde kullanımdan kaldırıldı ve artık desteklenmiyor. 'struct' ve 'end' ifadelerini kaldırın ve bunların yerine girinti kullanın - - Stream does not begin with a null resource and is not in '.RES' format. Akış null kaynakla başlamıyor ve '.RES' biçiminde değil. @@ -2147,11 +2097,6 @@ Kaynak dosya '{0}' bulunamadı - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - Dosya uzantısı '{0}' tanınmadı. Kaynak dosyaların uzantısı .fs, .fsi, .fsx, .fsscript, .ml veya .mli olmalıdır. - - Could not resolve assembly '{0}' '{0}' bütünleştirilmiş kodu çözümlenemedi @@ -6112,11 +6057,6 @@ Koşullu derleme simgelerini tanımla (Kısa biçimi: -d) - - Ignore ML compatibility warnings - ML uyumluluk uyarılarını yoksay - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - Bu yapı ML uyumluluğu içindir. {0}. '--mlcompatibility' veya '--nowarn:62' kullanarak bu uyarıyı devre dışı bırakabilirsiniz. - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute {0}' türünün Açık düzeni olduğu işaretlenmiş, ancak '{1}' alanı 'FieldOffset' özniteliğiyle işaretlenmemiş @@ -7012,16 +6947,6 @@ Geçersiz işleç tanımı. Ön ek işleç tanımları geçerli bir ön ek işleci adı kullanmalıdır. - - The file extensions '.ml' and '.mli' are for ML compatibility - '.ml' ve '.mli' dosya uzantıları ML uyumluluğu içindir - - - - Consider using a file with extension '.ml' or '.mli' instead - Bunun yerine uzantısı '.ml' veya '.mli' olan dosya kullanmayı düşünün - - Active pattern '{0}' is not a function '{0}' etkin deseni bir işlev değil diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index 3fc65eebc96..f53f9024dda 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -27,11 +27,6 @@ 源文件“{0}”(位于位置 {1}/{2})已出现在编译列表(位于位置 {3}/{4})中。请确认该文件仅包含在项目文件中一次。 - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - 无法识别“{0}”的文件扩展名。源文件必须具有扩展名 .fs、.fsi、.fsx 或 .fsscript。要启用已弃用的 .ml 或 .mli 扩展名,请使用 “--langversion:5.0” 和 “--mlcompatibility”。 - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript 无法识别“{0}”的文件扩展名。源文件必须具有扩展名 .fs、.fsi、.fsx 或 .fsscript @@ -492,11 +487,6 @@ 当 RequireQualifiedAccess 属性时允许小写 DU - - ML compatibility revisions - ML 兼容性修订 - - Pattern match discard is not allowed for union case that takes no data. 不允许将模式匹配丢弃用于不采用数据的联合事例。 @@ -837,11 +827,6 @@ 此版本的 F# 不支持扩展字符串内插。 - - IF-FSHARP/IF-CAML regions are no longer supported - 不再支持 IF-FSHARP/IF-CAML 区域 - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ 不允许将模式丢弃用于不采用数据的联合事例。 - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - 此构造已弃用。{0}。可以通过使用 “--langversion:5.0” 和 “--mlcompatibility” 启用此功能。 - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - 在早期版本的 F# 中,“{0}”是保留关键字,但现在已启用此关键字的使用 - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - “#light \"off\"” 或 “#indent \"off\"” 在的使用在 F# 2.0 中已启用,并且不再受支持 - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - 在泛型类型名称,例如 “(int, int) Map”,之前使用多个带圆括号类型参数已在 F# 2.0 中弃用,并且不再受支持 - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - 使用 “module M: sig ... end ” 在 F# 2.0 中已弃用,并且不再受支持。请将 “:” 更改为 “=”,删除 “sig” 和 “end”,并改为使用缩进 - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - 使用 “module M = sig ... end ” 在 F# 2.0 中已弃用,并且不再受支持。请删除 “sig” 和 “end” 并改用缩进 - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - 使用 “module M = struct ... end ” 在 F# 2.0 中已弃用,并且不再受支持。请删除 “struct” 和 “end” 并改用缩进 - - Stream does not begin with a null resource and is not in '.RES' format. 流应以空资源开头并且应采用 .RES 格式。 @@ -2147,11 +2097,6 @@ 未能找到源文件“{0}” - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - 无法识别“{0}”的文件扩展名。源文件的扩展名必须为 .fs、.fsi、.fsx、.fsscript、.ml 或 .mli。 - - Could not resolve assembly '{0}' 无法解析程序集“{0}” @@ -6112,11 +6057,6 @@ 定义条件编译符号(缩写: -d) - - Ignore ML compatibility warnings - 忽略 ML 兼容性警告 - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - 此构造适用于 ML 兼容性。{0}。可以通过使用“--mlcompatibility”或“--nowarn:62”来禁用此警告。 - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute 类型“{0}”已标记为具有显式布局,但字段“{1}”尚未用“FieldOffset”特性进行标记 @@ -7012,16 +6947,6 @@ 运算符定义无效。前缀运算符定义必须使用有效的前缀运算符名称。 - - The file extensions '.ml' and '.mli' are for ML compatibility - 文件扩展名“.ml”和“.mli”适用于 ML 兼容性 - - - - Consider using a file with extension '.ml' or '.mli' instead - 请考虑改用扩展名为“.ml”或“.mli”的文件 - - Active pattern '{0}' is not a function 活动模式“{0}”不是一个函数 diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index 07fea0efd23..7a52d290260 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -27,11 +27,6 @@ 來源檔案 '{0}' ( 位於位置 {1}/{2}) 已出現在編譯清單 ( 位於位置 {3}/{4})。請確認它在專案檔中只包含一次。 - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript. To enable the deprecated use of .ml or .mli extensions, use '--langversion:5.0' and '--mlcompatibility'. - 無法辨識 '{0}' 的副檔名。來源檔案的副檔名必須是 fsi、.fsx 或 .fsscript。若要啟用已被取代的 .ml 或 .mli 副檔名,請使用 '--langversion:5.0' and '--mlcompatibility'。 - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx or .fsscript 無法辨識 '{0}' 的副檔名。來源檔案的副檔名必須是 .fs、.fsi、.fsx 或 .fsscript。 @@ -492,11 +487,6 @@ RequireQualifiedAccess 屬性時允許小寫 DU - - ML compatibility revisions - ML 相容性修訂 - - Pattern match discard is not allowed for union case that takes no data. 不接受資料的聯集案例不允許模式比對捨棄。 @@ -837,11 +827,6 @@ 此 F# 版本不支援擴充字串插補。 - - IF-FSHARP/IF-CAML regions are no longer supported - 不再支援 IF-FSHARP/IF-CAML 區域 - - This is not a valid byte character literal. The value must be less than or equal to '\127'B. This is not a valid byte character literal. The value must be less than or equal to '\127'B. @@ -947,41 +932,6 @@ 不接受資料的聯集案例不允許模式捨棄。 - - This construct is deprecated. {0}. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'. - 此建構已被取代。{0}。您可以使用 '--langversion:5.0' and '--mlcompatibility' 來啟用此功能。 - - - - In previous versions of F# '{0}' was a reserved keyword but the use of this keyword is now deprecated - 在舊版本的 F# '{0}' 是保留關鍵字,但是使用此關鍵字現已被取代 - - - - The use of '#light \"off\"' or '#indent \"off\"' was deprecated in F# 2.0 and is no longer supported - 在 F# 2.0 #light使用 'off\" 或 '#indent off\"'已被取代,而且已不再支援 - - - - The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported - 在 F# 2.0 中,在泛型型別名稱前 (例如 '(int, int) Map') 使用多個小括號內的型別參數已被取代,而且已不再支援 - - - - The use of 'module M: sig ... end ' was deprecated in F# 2.0 and is no longer supported. Change the ':' to an '=' and remove the 'sig' and 'end' and use indentation instead - 在 F# 2.0 中使用 'module M: sig ... end ' 已被取代,而且已不再支援。將 ':' 變更為 '=' 並移除 'sig' 和 'end' ,並改用縮排 - - - - The use of 'module M = sig ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'sig' and 'end' and use indentation instead - 在 F# 2.0 中使用 'module M = sig ... end ' 已被取代,而且已不再支援。移除 'sig' 和 'end' ,並改用縮排 - - - - The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead - 在 F# 2.0 中使用 'module M = struct ... end ' 已被取代,而且已不再支援。移除 'struct' 和 'end',並改用縮排 - - Stream does not begin with a null resource and is not in '.RES' format. 資料流未以 null 資源開頭,並且未使用 '.RES' 格式。 @@ -2147,11 +2097,6 @@ 找不到原始程式檔 '{0}' - - The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - 無法辨識 '{0}' 的副檔名。原始程式檔的副檔名必須是 .fs、.fsi、.fsx、.fsscript、.ml 或 .mli。 - - Could not resolve assembly '{0}' 無法解析組件 '{0}' @@ -6112,11 +6057,6 @@ 定義條件式編譯的符號 (簡短形式: -d) - - Ignore ML compatibility warnings - 忽略 ML 相容性警告 - - - - This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - 這個建構是用於 ML 相容性。{0}。您可以使用 '--mlcompatibility' 或 '--nowarn:62' 停用這項警告 - - The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute 類型 '{0}' 已標記為有明確配置,但是 '{1}' 卻未以 'FieldOffset' 屬性標記 @@ -7012,16 +6947,6 @@ 無效的運算子定義。前置運算子定義必須使用有效的前置運算子名稱。 - - The file extensions '.ml' and '.mli' are for ML compatibility - 副檔名 '.ml' 和 '.mli' 是使用於 ML 相容性 - - - - Consider using a file with extension '.ml' or '.mli' instead - 請考慮改用副檔名為 '.ml' 或 '.mli' 的檔案 - - Active pattern '{0}' is not a function 現用模式 '{0}' 不是函式 diff --git a/src/FSharp.Core/FSharp.Core.fsproj b/src/FSharp.Core/FSharp.Core.fsproj index a1dddc32c7a..688ba098645 100644 --- a/src/FSharp.Core/FSharp.Core.fsproj +++ b/src/FSharp.Core/FSharp.Core.fsproj @@ -6,7 +6,6 @@ Library netstandard2.0 netstandard2.0;netstandard2.1 - $(NoWarn);62 $(NoWarn);75 $(NoWarn);1204 true diff --git a/src/FSharp.Core/prim-types.fs b/src/FSharp.Core/prim-types.fs index 1f9fb73203e..cc1c030732b 100644 --- a/src/FSharp.Core/prim-types.fs +++ b/src/FSharp.Core/prim-types.fs @@ -530,7 +530,6 @@ namespace Microsoft.FSharp.Core let inline (+..) (x:uint64) (y:uint64) = (# "add" x y : uint64 #) let inline ( *. ) (x:int64) (y:int64) = (# "mul" x y : int64 #) let inline ( *.. ) (x:uint64) (y:uint64) = (# "mul" x y : uint64 #) - let inline (^) (x:string) (y:string) = String.Concat(x,y) let inline (<<<) (x:int) (y:int) = (# "shl" x y : int #) let inline ( * ) (x:int) (y:int) = (# "mul" x y : int #) let inline (-) (x:int) (y:int) = (# "sub" x y : int #) @@ -4047,7 +4046,7 @@ namespace Microsoft.FSharp.Core override x.ToString() = // x is non-null, hence Some - "Some("^anyToStringShowingNull x.Value^")" + String.Concat("Some(", anyToStringShowingNull x.Value, ")") and 'T option = Option<'T> @@ -4559,8 +4558,6 @@ namespace Microsoft.FSharp.Core let inline (<<) func2 func1 x = func2 (func1 x) - let (^) (s1: string) (s2: string) = String.Concat(s1, s2) - [] let defaultArg arg defaultValue = match arg with None -> defaultValue | Some v -> v diff --git a/src/FSharp.Core/prim-types.fsi b/src/FSharp.Core/prim-types.fsi index 19acb8468c9..93987d46d37 100644 --- a/src/FSharp.Core/prim-types.fsi +++ b/src/FSharp.Core/prim-types.fsi @@ -3271,10 +3271,6 @@ namespace Microsoft.FSharp.Core [] val defaultValueArg: arg: 'T voption -> defaultValue: 'T -> 'T - /// Concatenate two strings. The operator '+' may also be used. - [] - val (^): s1:string -> s2:string -> string - /// Raises an exception /// /// The exception to raise. diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/UncheckedDefaultOf01.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/UncheckedDefaultOf01.fs index 6a98d505520..7cf37742698 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/UncheckedDefaultOf01.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/UncheckedDefaultOf01.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #CompilerOptions -#light + // Regression test for FSharp1.0:2249 - defaultof<> unexpectedly requires parens diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/unrecogarg.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/unrecogarg.fs index 83ccc907b79..8a591a55ee8 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/unrecogarg.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/checked/unrecogarg.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions -#light + exit 0 diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/ReferenceBoth.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/ReferenceBoth.fs index f8294b88ce3..a7df7926e3e 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/ReferenceBoth.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/ReferenceBoth.fs @@ -4,7 +4,7 @@ // - The library file is designed so that it gets compiled to slightly different assemblies // - This file references both assemblies and should compile without problems // -#light + let a = N.M.á.M() diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/Zero.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/Zero.fs index c96e994946c..4fb48dff85b 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/Zero.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/Zero.fs @@ -3,7 +3,7 @@ // It does not mean much to me... // -#light + let x = "a" let y = 'a'.ToString(); diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/libCodepage.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/libCodepage.fs index c3083e013bc..7b62b4907ef 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/libCodepage.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/codepage/libCodepage.fs @@ -1,5 +1,5 @@ // #NoMT #CompilerOptions -#light + namespace N diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl index beafa217722..de2138d2e78 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl @@ -82,7 +82,6 @@ Copyright (c) Microsoft Corporation. All Rights Reserved. --langversion:{version|latest|preview} Specify language version such as 'latest' or 'preview'. --checked[+|-] Generate overflow checks (off by default) --define: Define conditional compilation symbols (Short form: -d) ---mlcompatibility Ignore ML compatibility warnings --strict-indentation[+|-] Override indentation rules implied by the language version (off by default) diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_01.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_01.fs index c40e6ae6e6a..1b2d4603e12 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_01.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions -#light + printfn "Finished" diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_02.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_02.fs index c40e6ae6e6a..1b2d4603e12 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_02.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_02.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions -#light + printfn "Finished" diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_03.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_03.fs index c40e6ae6e6a..1b2d4603e12 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_03.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/error_03.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions -#light + printfn "Finished" diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/times01.fs b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/times01.fs index 9ec95fac052..373ff85a1ae 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/times01.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/times/times01.fs @@ -1,5 +1,5 @@ // #NoMT #CompilerOptions -#light + namespace N module M = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/E_privateThingsInaccessible02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/E_privateThingsInaccessible02.fs index 9be4c482f28..c0cfd857365 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/E_privateThingsInaccessible02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/E_privateThingsInaccessible02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Accessibility -#light + // Private modules // Private type or module is private to its immediately enclosing module. This means the module PrivateModule in the repro // is indeed accessible to the rest of the implicit enclosing module. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/E_privateThingsInaccessible04.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/E_privateThingsInaccessible04.fs index b301dd94e59..135155f7542 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/E_privateThingsInaccessible04.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/E_privateThingsInaccessible04.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Accessibility -#light + // Private modules // Private type or module is private to its immediately enclosing module. This means the module PrivateModule in the repro // is indeed accessible to the rest of the implicit enclosing module. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/InternalMethodsWorkCorrectly.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/InternalMethodsWorkCorrectly.fs index 63bf92bd336..c4663a1e34d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/InternalMethodsWorkCorrectly.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/InternalMethodsWorkCorrectly.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Accessibility -#light + module internal InternalModule = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/LessOrMoreAccessibleCode01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/LessOrMoreAccessibleCode01.fs index 01506866fcc..10769e28fbd 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/LessOrMoreAccessibleCode01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/Basic/LessOrMoreAccessibleCode01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Accessibility -#light + // Regression test for FSHARP1.0:4137 - CTP: Encapsulation/accessibility in F# diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface.fs index ae579c72f80..7bb030ec557 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Accessibility -#light + //\(17,14-18,12\): error FS0191: abstract slots always have the same visibility as the enclosing type //\(18,14-19,13\): error FS0191: abstract slots always have the same visibility as the enclosing type diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface02.fs index 6555f0a48c7..598f532f006 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface02.fs @@ -3,7 +3,7 @@ //Accessibility modifiers are not allowed on this member\. Abstract slots always have the same visibility as the enclosing type // -#light + type public IDoStuffAsWell = abstract SomeStuff : int -> unit diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface03.fs index ba68769ef64..6e7d3937ac7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface03.fs @@ -3,7 +3,7 @@ //Accessibility modifiers are not allowed on this member\. Abstract slots always have the same visibility as the enclosing type // -#light + type public IDoStuffAsWell = abstract SomeStuff : int -> unit diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface05.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface05.fs index 09d80028e65..1380b4ec556 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface05.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnInterface05.fs @@ -3,7 +3,7 @@ //Unexpected keyword 'private' in member definition\. Expected identifier, '\(', '\(\*\)' or other token\.$ // -#light + type public IDoStuffAsWell = abstract SomeStuff : int -> unit diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnRecords.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnRecords.fs index f34c40c9cac..cf4f481519e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnRecords.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_accessibilityOnRecords.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Accessibility -#light + // See bug 1537. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_member01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_member01.fs index 0ef4f0247e8..9df54551bbc 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_member01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_member01.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #DeclarationElements #Accessibility // On member -#light + module M = type Foo() = class diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_module01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_module01.fs index 659fa0b0b11..7783f5eb2f9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_module01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_module01.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #DeclarationElements #Accessibility // On module -#light + public module ModuleDef = // here let x = 42 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_type01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_type01.fs index 40eb1258898..47a30c01ec1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_type01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/AccessibilityAnnotations/PermittedLocations/E_orderingOfAccessibilityKeyword_type01.fs @@ -2,7 +2,7 @@ // On type -#light + module M = private type Foo() = class diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeTargetsIsCtor01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeTargetsIsCtor01.fs index d979d5b70a4..5ff6cf89560 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeTargetsIsCtor01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeTargetsIsCtor01.fs @@ -2,7 +2,7 @@ // FSharp1.0:4780 - Attributes targeting constructors are not allowed on explicit constructors 'new() = { ... }' // Make sure custom attributes can be applied to explicit and implicit constructors -#light + open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/E_WithBitwiseOr01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/E_WithBitwiseOr01.fsx index bec6d3f2e77..4a794902d65 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/E_WithBitwiseOr01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/E_WithBitwiseOr01.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3797 // Attributes defined in F# and whose AttributeUsage is specified using bitwise or do MUST have the attribute usage checked by the F# compiler -#light + [] [] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/WithBitwiseOr02a.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/WithBitwiseOr02a.fsx index ff5676ea2fd..45ba37c8713 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/WithBitwiseOr02a.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/WithBitwiseOr02a.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3797 // Using bitwise OR (|||) in AttributeUsage works (same as WithBitwiseOr02b.fsx, on class) // -#light + [] [] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/WithBitwiseOr02b.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/WithBitwiseOr02b.fsx index 440f9a46029..75f9c13ddc0 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/WithBitwiseOr02b.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/WithBitwiseOr02b.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3797 // Using bitwise OR (|||) in AttributeUsage works (same as WithBitwiseOr02a.fsx, on struct) // -#light + [] [] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ArrayParam.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ArrayParam.fs index c3561cd9c05..cff714b29f5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ArrayParam.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ArrayParam.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Attributes -#light + // FSB 1437, Assembly attribute w/array parameter fails to build diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/AttribWithEnumFlags01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/AttribWithEnumFlags01.fs index 76aefec6357..ea73d1aa747 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/AttribWithEnumFlags01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/AttribWithEnumFlags01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Attributes -#light + // FSB 950, Custom attributes with flags enumeration arguments diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/E_AttributeApplication01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/E_AttributeApplication01.fs index a2d1b04eab5..4bea5828eb9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/E_AttributeApplication01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/E_AttributeApplication01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Attributes -#light + // FSB 1036, Assembly-level attributes attached to non-do bindings diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/E_AttributeTargetSpecifications.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/E_AttributeTargetSpecifications.fs index d04fea1556d..04db4e80ac9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/E_AttributeTargetSpecifications.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/E_AttributeTargetSpecifications.fs @@ -3,7 +3,7 @@ -#light + open System [] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/FreeTypeVariable01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/FreeTypeVariable01.fs index 291c83011d4..def4c0351cc 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/FreeTypeVariable01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/FreeTypeVariable01.fs @@ -4,7 +4,7 @@ //internal error // -#light + open System open System.Diagnostics diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/Function01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/Function01.fs index 6247ee8205a..0b26df65e0c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/Function01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/Function01.fs @@ -3,7 +3,7 @@ // Function parameter attributes are ignored and do not appear in the resulting assembly // Attribute is placed on a let-binding function definition // -#light + open System.Reflection type A1() = class diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/FunctionArg01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/FunctionArg01.fs index 61d065c19ab..c07d2774234 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/FunctionArg01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/FunctionArg01.fs @@ -3,7 +3,7 @@ // Function parameter attributes are ignored and do not appear in the resulting assembly // Attribute is placed on the argument of a let-binding function definition // -#light + open System.Reflection type A1() = class diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ParamArrayAttrUsage.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ParamArrayAttrUsage.fs index 1cea3b29e7e..38cf0492b83 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ParamArrayAttrUsage.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ParamArrayAttrUsage.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Attributes -#light + //Regression test for FSHARP bug 102 Import uses of ParamArray attribute open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType01.fs index 788b6fff03d..922492d9366 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType01.fs @@ -4,7 +4,7 @@ // Note: the syntax is kind of awkward... // -#light + type TestAttribute(x:string) = inherit System.Attribute() diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType02.fs index 68185447132..04c78ba4490 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType02.fs @@ -5,7 +5,7 @@ // Note: the syntax is kind of awkward... // -#light + type CA1 = class diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType03.fs index 8371e96e563..3e34bdfc926 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/ReturnType03.fs @@ -5,7 +5,7 @@ // Note: the syntax is kind of awkward... // -#light + [] type CA1 = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/SanityCheck01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/SanityCheck01.fs index 4a4ca22fc20..c540c6d02e6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/SanityCheck01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/SanityCheck01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Attributes -#light + // FSB 1622, Cannot use "null" in Attributes diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/TypeofTypedefofInAttribute.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/TypeofTypedefofInAttribute.fs index e4ac032b68a..3325b361a80 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/TypeofTypedefofInAttribute.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/TypeofTypedefofInAttribute.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Attributes -#light + // FSB 3565, verify typeof<_> and typedefof<_> can be used in // attributes. Also, verify that their behavior is the same in diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/TypesAsAttrArgs01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/TypesAsAttrArgs01.fs index 48dcb6637ef..e16f3821cb1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/TypesAsAttrArgs01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/Basic/TypesAsAttrArgs01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Attributes -#light + // Verify the ability to specify types as parameters into Attributes diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_InvalidSignature02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_InvalidSignature02.fs index 15d9f361dc3..2c272945e4b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_InvalidSignature02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_InvalidSignature02.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #EntryPoint -#light + // Verify error when signature for the [] doesn't // match expected. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_oninvalidlanguageelement001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_oninvalidlanguageelement001.fs index 8a478ee193f..988ca3a9309 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_oninvalidlanguageelement001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_oninvalidlanguageelement001.fs @@ -4,7 +4,7 @@ // attribute on invalid language element (error) -#light + [] module M = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_twoentrypoints001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_twoentrypoints001.fs index aaad0c1779a..3f218a6ee00 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_twoentrypoints001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/E_twoentrypoints001.fs @@ -5,7 +5,7 @@ //Hello -#light + module M = let func (args : string[]) = if(args.Length=1 && args.[0]="Hello") then 0 else 1 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointInLastModuleInsideMultipleNamespace.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointInLastModuleInsideMultipleNamespace.fs index 5f0ecb0aa25..aac262b5f23 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointInLastModuleInsideMultipleNamespace.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointInLastModuleInsideMultipleNamespace.fs @@ -4,7 +4,7 @@ // when multiple namespaces with multiple modules declared in source file -#light + namespace MyNamespace1 module MyModule1 = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointModuleInNamespace.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointModuleInNamespace.fs index 1583ae0a70c..1cb8e4ca24b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointModuleInNamespace.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointModuleInNamespace.fs @@ -4,7 +4,7 @@ // when single module declared inside namespace -#light + namespace MyNamespace1 module MyModule1 = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointMultipleModules.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointMultipleModules.fs index fdcb24fb866..6a03510419c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointMultipleModules.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointMultipleModules.fs @@ -4,7 +4,7 @@ // when multiple modules declared without declaring namespace -#light + module MyModule1 = let irrelevant = 10 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointTypeInNamespace.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointTypeInNamespace.fs index 2be0ddb9d36..279cc740a37 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointTypeInNamespace.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/W_NoEntryPointTypeInNamespace.fs @@ -4,7 +4,7 @@ // when source file declares type inside namespace -#light + namespace MyNamespace1 type T = T of int \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/behavior001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/behavior001.fs index 416520c7cc8..e7debb09f4d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/behavior001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/behavior001.fs @@ -4,7 +4,7 @@ // Verify that static initializers are invoked before entering the 'main' function // -#light + let static_initializer = 10 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/entrypointandFSI.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/entrypointandFSI.fs index 03e2ff1b57d..bfb85b9cfdb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/entrypointandFSI.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/entrypointandFSI.fs @@ -3,7 +3,7 @@ // Explicit program entry point: [] // -#light + module M = [] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/entrypointfunctionnotmain001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/entrypointfunctionnotmain001.fs index 0a01df0be8a..2cb1d6942e2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/entrypointfunctionnotmain001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/entrypointfunctionnotmain001.fs @@ -4,7 +4,7 @@ // Entry point function does not have to be called 'main' // -#light + module M = let func (a : string []) = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/inamodule001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/inamodule001.fs index dff5b47531e..418579a9b69 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/inamodule001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/inamodule001.fs @@ -5,7 +5,7 @@ //Hello // -#light + module M = let func (args : string[]) = if(args.Length=1 && args.[0]="Hello") then 0 else 1 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/noarguments001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/noarguments001.fs index c5353b0601e..427aa330bf6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/noarguments001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/noarguments001.fs @@ -4,7 +4,7 @@ // 'main' function invoked with no arguments // -#light + [] let main args = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/oneargument001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/oneargument001.fs index b5e9907f9c2..4c06e7e9df3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/oneargument001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/EntryPoint/oneargument001.fs @@ -5,7 +5,7 @@ //Hello // -#light + [] let main args = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/EventsOnInterface01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/EventsOnInterface01.fs index 5ed85a26eaa..df3a6373082 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/EventsOnInterface01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/EventsOnInterface01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Events -#light + // Verify ability to implement events on an interface diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/Regression01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/Regression01.fs index d9ed16a64fb..7aeba46cac0 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/Regression01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/Regression01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Events -#light + // FSB 942, mutable variable escapes its scope when used with an event handler // Verify that you can hook up event handlers to mutable variables diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/SanityCheck02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/SanityCheck02.fs index be90e0f37d3..4d20ba981bb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/SanityCheck02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/Events/Basic/SanityCheck02.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Events #ReqNOMT -#light + // Sanity check events based on the new library changes diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase01.fsx index 11406618e0b..faa6f0fe6f4 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase01.fsx @@ -4,7 +4,7 @@ -#light + exception ı of int // err exception i of int // err diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase02.fsx index 58a6138795d..dbca094268d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase02.fsx @@ -3,6 +3,6 @@ // Exception labels must begin with an uppercase letter -#light + exception 1 // err: can't use diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase03.fsx index f58b7d66d78..8ddba70e70d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase03.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase03.fsx @@ -3,7 +3,7 @@ // Exception labels must begin with an uppercase letter -#light + exception (* *) A // ok exception "A" // err diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase04.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase04.fsx index 15a4f7ea114..441c684fdab 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase04.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_BeginWithUppercase04.fsx @@ -2,6 +2,6 @@ // Exception types // Exception labels must begin with an uppercase letter -#light + exception ``null diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_ExnAsDiscriminatedUnion01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_ExnAsDiscriminatedUnion01.fsx index 468d44a4efc..c9749d781a7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_ExnAsDiscriminatedUnion01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_ExnAsDiscriminatedUnion01.fsx @@ -2,7 +2,7 @@ // Exception definition define new discriminated union cases // Verify that we cannot use "sig-spec" when defining an exception -#light + // This is the corresponding case for DU (deprecated, but ok) // type T = | T1 : a:int -> T diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters01.fsx index 36d06b2f451..dd22f4707f1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters01.fsx @@ -2,7 +2,7 @@ // Exception types // Exception names must not contain illegal characters -#light + exception ``My.Exception`` // err: contains '.' exception ``My+Exception`` // err: contains '+' \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters02.fsx index b51f172d988..e8fcadc95da 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters02.fsx @@ -2,7 +2,7 @@ // Exception types // Exception names must not contain illegal characters -#light + exception ``My$Exception`` // err: contains '$' exception ``My&Exception`` // err: contains '&' \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters03.fsx index d555dd6ad6a..c6319047749 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters03.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters03.fsx @@ -2,7 +2,7 @@ // Exception types // Exception names must not contain illegal characters -#light + exception ``My[Exception`` // err: contains '[' exception ``My]Exception`` // err: contains ']' \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters04.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters04.fsx index 6e7ce8566ad..7400441c714 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters04.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters04.fsx @@ -2,7 +2,7 @@ // Exception types // Exception names must not contain illegal characters -#light + exception ``My/Exception`` // err: contains '/' exception ``My\Exception`` // err: contains '\' \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters05.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters05.fsx index 16b3cbb70f0..ac8eff19a47 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters05.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters05.fsx @@ -2,7 +2,7 @@ // Exception types // Exception names must not contain illegal characters -#light + exception ``My*Exception`` // err: contains '*' exception ``My"Exception`` // err: contains '"' \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters06.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters06.fsx index d649125fa29..d99df4c3c05 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters06.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_IllegalCharacters06.fsx @@ -2,6 +2,6 @@ // Exception types // Exception names must not contain illegal characters -#light + exception ``My`Exception`` // err: contains '`' \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_MustStartWithCap01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_MustStartWithCap01.fs index 22473a3a2e7..366f7c83511 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_MustStartWithCap01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/E_MustStartWithCap01.fs @@ -3,7 +3,7 @@ // Regression test for FSHARP1.0:2817 -#light + exception lowerCaseException of string diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/ImportCSharpException01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/ImportCSharpException01.fsx index affefe33dd2..41482e9e827 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/ImportCSharpException01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/ImportCSharpException01.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Exceptions // Import C# exception in F# // -#light + // F# exception definition + abbreviation exception E = CSharpException.CSharpException diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/LegalExceptionNames.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/LegalExceptionNames.fsx index e01751b1e34..70fb765a30d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/LegalExceptionNames.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/LegalExceptionNames.fsx @@ -2,7 +2,7 @@ // Exception types // Legal exception names should compile successfully -#light + exception MyException exception MyOtherException diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/LowercaseIdentifier01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/LowercaseIdentifier01.fsx index ae33b29abdf..63d8b7b8165 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/LowercaseIdentifier01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/LowercaseIdentifier01.fsx @@ -1,3 +1,3 @@ // #Conformance #TypesAndModules #Exceptions -#light + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/PatternMatch_SampleCodeFromSpec01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/PatternMatch_SampleCodeFromSpec01.fsx index 74fe2f795b5..cae0356b859 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/PatternMatch_SampleCodeFromSpec01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExceptionDefinitions/PatternMatch_SampleCodeFromSpec01.fsx @@ -2,7 +2,7 @@ // This is the sample code that appears in the specs under 9.4 // It shows how to use exceptions in pattern match // -#light + exception Error of int * string diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExplicitObjectConstructors/new_while_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExplicitObjectConstructors/new_while_01.fs index f9ac5061b21..c8a601f0124 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExplicitObjectConstructors/new_while_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ExplicitObjectConstructors/new_while_01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3217 // Use misc constructs in explicit object constructor // construct: while ... do ... done -#light + type T = new () = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/E_OpenUnknownNS.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/E_OpenUnknownNS.fs index 0918c893f04..f57ee9be828 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/E_OpenUnknownNS.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/E_OpenUnknownNS.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Import -#light + // Verify error when opening an unknown module or namespace diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/OpenNestedModule01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/OpenNestedModule01.fs index 14cbafc51d8..c6ade788d6b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/OpenNestedModule01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/OpenNestedModule01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Import -#light + module ABC = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/openDU.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/openDU.fs index 9adc3aea72d..ff64de18934 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/openDU.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/openDU.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Import -#light + module TestModule1 = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/openSystem01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/openSystem01.fs index 806c2e21067..c7ffa8bc857 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/openSystem01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ImportDeclarations/openSystem01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Import -#light + // Open a namespace in System.dll open System.Collections.Specialized diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/ConcreteUnitOnInterface01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/ConcreteUnitOnInterface01.fs index bc79c1c539e..c00fc552beb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/ConcreteUnitOnInterface01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/ConcreteUnitOnInterface01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #InterfacesAndImplementations -#light + // FS1 2504, Generic interface instantiated with unit diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/GenericMethodsOnInterface01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/GenericMethodsOnInterface01.fs index d7fe9505511..2f086e7ede5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/GenericMethodsOnInterface01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/GenericMethodsOnInterface01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #InterfacesAndImplementations -#light + // FS1 997, Unable to implement interfaces with generic methods diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/GenericMethodsOnInterface02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/GenericMethodsOnInterface02.fs index 29207ff5660..458595fcad7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/GenericMethodsOnInterface02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/InterfaceSpecificationsAndImplementations/GenericMethodsOnInterface02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #InterfacesAndImplementations -#light + // FSB 1147, implementing interfaces with generic members gives internal error - undefined type variable diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ActivePatternBindings/SanityCheck.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ActivePatternBindings/SanityCheck.fs index a8131eca37f..dd5856fcf8e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ActivePatternBindings/SanityCheck.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ActivePatternBindings/SanityCheck.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #LetBindings #ActivePatterns -#light + let (|A|B|) x = if x < 0 then A else B diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ActivePatternBindings/parameterizedActivePattern.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ActivePatternBindings/parameterizedActivePattern.fs index 3fd995a52e6..ec888a7cf16 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ActivePatternBindings/parameterizedActivePattern.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ActivePatternBindings/parameterizedActivePattern.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #LetBindings #ActivePatterns -#light + let (|MulN|_|) (n:int) (inp:int) = if inp % 3 = 0 then Some(inp/n) else None diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/AsPat01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/AsPat01.fs index c4dcb7ff444..60f277f4deb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/AsPat01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/AsPat01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #LetBindings -#light + // Verify let bindings can function as patterns diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/AsPat02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/AsPat02.fs index 59c232f5a40..152fe29b1ee 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/AsPat02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/AsPat02.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #LetBindings -#light + // Verify using patter matching inside let bindings diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_AttributesOnLet01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_AttributesOnLet01.fs index c7dfe001b95..eb84823f489 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_AttributesOnLet01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_AttributesOnLet01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #LetBindings -#light + // Regression test for FSharp1.0:3744 - Unable to apply attributes on individual patterns in a tupled pattern match let binding - Implementation doesn't match spec // Test against error emitted when attributes applied within pattern diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_ErrorsForInlineValue.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_ErrorsForInlineValue.fs index 4d6507bb674..40274d71ab5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_ErrorsForInlineValue.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_ErrorsForInlineValue.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #LetBindings -#light + // Regression test for FSharp1.0:4165 // Sweep all deprecation warnings and change to errors where reasonable [WAS: Inline values should be an error, not a warning] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_GenericTypeAnnotations01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_GenericTypeAnnotations01.fs index b116b7c63ac..941e5e1cbd9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_GenericTypeAnnotations01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/E_GenericTypeAnnotations01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #LetBindings -#light + // Regression test for FSharp1.0:1943 - Better error message when unknown unicode characters are used - in particular the � character diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/Literals01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/Literals01.fs index 34355a2a8a7..56b8f4b81ef 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/Literals01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/Literals01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #LetBindings -#light + // FSB 1124, Implement constant literals diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/SanityCheck.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/SanityCheck.fs index 88b14b7d9a7..359183d5ef3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/SanityCheck.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/SanityCheck.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #LetBindings -#light + let f x y = x * y diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/W_DoBindingsNotUnit01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/W_DoBindingsNotUnit01.fs index 2d530b5d860..ed886913440 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/W_DoBindingsNotUnit01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/W_DoBindingsNotUnit01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #LetBindings -#light + // Verify warning when 'do-bindings' do not return unit. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/W_DoBindingsNotUnit02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/W_DoBindingsNotUnit02.fsx index 32e48d3dc63..9ba9f3b3c28 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/W_DoBindingsNotUnit02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/W_DoBindingsNotUnit02.fsx @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #LetBindings -#light + // Verify no warning when 'do-bindings' do not return unit when in .fsx files diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/nestedLetBindings.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/nestedLetBindings.fs index aaf129accb3..13d438fd85e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/nestedLetBindings.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/Basic/nestedLetBindings.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #LetBindings -#light + type Foo() = let mutable m_x = 0 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ExplicitTypeParameters/SanityCheck.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ExplicitTypeParameters/SanityCheck.fs index 2a10b2056b1..1b204c18a4a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ExplicitTypeParameters/SanityCheck.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/ExplicitTypeParameters/SanityCheck.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #LetBindings #TypeAnnotations #TypeInference #TypeConstraints -#light + let f (x:int) (y:string) = System.String.Concat ((x.ToString()), y) let res1 = f 42 "abc" diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/E_typeof_measure_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/E_typeof_measure_01.fs index 1aa85f5cead..c692c97430b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/E_typeof_measure_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/E_typeof_measure_01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2320 // A is a measure -#light + [] type A diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/E_typeof_undefined_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/E_typeof_undefined_01.fs index b1b1f9fa23d..14b1108a18a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/E_typeof_undefined_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/E_typeof_undefined_01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2320 // A is an not defined -#light + type A diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/SizeOf01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/SizeOf01.fs index 2f521957603..6047714c2f2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/SizeOf01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/SizeOf01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #LetBindings #TypeTests -#light + // Tests for sizeof<'a> type function diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeofAsArgument.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeofAsArgument.fs index 055bd506aef..d9bc5845c05 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeofAsArgument.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeofAsArgument.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #LetBindings #TypeTests -#light + // Regression test for FSharp1.0:3654 - design change: allow foo to be used as an argument without parentheses diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeofBasic001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeofBasic001.fs index 65e2f0bc74a..13bfecbf237 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeofBasic001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeofBasic001.fs @@ -3,7 +3,7 @@ // Basic usage of typeof // -#light + let x = typeof if (x.Name = "Int32") then 0 else failwith "Failed: 1" diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_anonymous_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_anonymous_01.fs index e0b29ab5585..17a10052463 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_anonymous_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_anonymous_01.fs @@ -2,6 +2,6 @@ // Regression test for FSHARP1.0:2320 // Type passed to typeof<> is _ // -#light + let _ = typeof<_> diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_class_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_class_01.fs index 5f4f3bb13c0..e4fcd94b0d2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_class_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_class_01.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #DeclarationElements #LetBindings #TypeTests // Regression test for FSHARP1.0:2320 // A is a class -#light + type A = class end diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_interface_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_interface_01.fs index 5a4feb88567..53682e5fc04 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_interface_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_interface_01.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #DeclarationElements #LetBindings #TypeTests // Regression test for FSHARP1.0:2320 // A is an interface -#light + type A = interface end diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_struct_01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_struct_01.fs index 8bc72ea9a87..24d90993d52 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_struct_01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/LetBindings/TypeFunctions/typeof_struct_01.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #DeclarationElements #LetBindings #TypeTests // Regression test for FSHARP1.0:2320 // A is a struct -#light + type A = struct val x : int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/BasicMembers.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/BasicMembers.fs index 5f97c1a1ce4..8be94d3da33 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/BasicMembers.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/BasicMembers.fs @@ -1,4 +1,4 @@ -#light + // Test basic class member syntax diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/ImplementingDispatchSlots/SanityCheck.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/ImplementingDispatchSlots/SanityCheck.fs index 7e8c525a69b..b316b836820 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/ImplementingDispatchSlots/SanityCheck.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/ImplementingDispatchSlots/SanityCheck.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions -#light + type Shape = | Shape diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/AbstractProperties01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/AbstractProperties01.fs index ef0a88d86ac..e17d94f3dae 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/AbstractProperties01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/AbstractProperties01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Verify ability to override / inherit properties diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_DeclarePropertyTwice01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_DeclarePropertyTwice01.fs index a101431ae35..e2683069887 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_DeclarePropertyTwice01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_DeclarePropertyTwice01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Verify error if you declare a setter twice diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_IndexerNotSpecified01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_IndexerNotSpecified01.fs index e1a86f1fbd1..021244c17dd 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_IndexerNotSpecified01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_IndexerNotSpecified01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Verify error if the type doesn't support an indexer diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_OutscopeThisPtr01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_OutscopeThisPtr01.fs index 5215e303134..a403071930a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_OutscopeThisPtr01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/E_OutscopeThisPtr01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Regression test for FSHARP1.0:579 // Verify the ability to outscope the this pointer: it's an error! diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/GetterSetterDiff01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/GetterSetterDiff01.fs index 562fd7b9e68..f064c110035 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/GetterSetterDiff01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/GetterSetterDiff01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Verify if parameters to getter and setter are different diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Indexer01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Indexer01.fs index 425753e3ef4..b285db70c72 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Indexer01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Indexer01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Verify creating a property named Item creates an indexer diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties01.fs index 417046161cf..efd35e436ac 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Verify readonly properties diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties03.fs index 33371b32c69..47ab89889d0 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties03.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Verify property with both getter and setter diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties04.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties04.fs index e87405c23cb..54036dafefe 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties04.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties04.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Verify property with both getter and setter with the setter declared first diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties05.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties05.fs index 8e4c33729ac..720457a39f2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties05.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/Properties05.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Verify you can declare an indexer from an interface type IAmReadOnly = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/RecursiveLetValues.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/RecursiveLetValues.fs index c547a8e3d33..41b52662059 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/RecursiveLetValues.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/RecursiveLetValues.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Regression test for FSHARP1.0:4150 - Bug in List.partition (Was : Recursive functions declared in implicit class constructors taking exactly two parameters yield error "Invalid Value.") diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/StaticGenericField01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/StaticGenericField01.fs index 41601e126a2..3f8a12f1e64 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/StaticGenericField01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/StaticGenericField01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Verify we can handle static generic fields diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/genericGenericClass.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/genericGenericClass.fs index 8d01d0d5dd2..a9868cbdd14 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/genericGenericClass.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/genericGenericClass.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + type Foo<'a>() = let mutable m_val : 'a list = [] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-DU.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-DU.fs index dfbd5865273..82207a3a359 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-DU.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-DU.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Testing instance methods on discriminated unions type VanillaDU = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-Records.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-Records.fs index 22bea6bcf42..00081069dca 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-Records.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-Records.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Testing instance methods on record types type Person = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-class.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-class.fs index 5c780c70abc..0aad3dfcfde 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-class.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/instMembers-class.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Testing instance methods on regular classes type VanillaClass(x) = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/multiParamIndexer.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/multiParamIndexer.fs index 2219429808d..61dd0156ec6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/multiParamIndexer.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/multiParamIndexer.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + open System.Text diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-DU.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-DU.fs index ffb90c3669c..ecfa29d2941 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-DU.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-DU.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + let resultString = "Butter and Cheese" diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-Records.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-Records.fs index 16959fd2932..0c905490d2d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-Records.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-Records.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + // Testing instance methods on record types type Person = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-class.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-class.fs index fe3622c23b6..6ffd09df685 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-class.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/staticMembers-class.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + type MusicFormat = CD | Record | MP3 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupesAndFuncsAsArgs.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupesAndFuncsAsArgs.fs index ec8697a3114..d079acb337f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupesAndFuncsAsArgs.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupesAndFuncsAsArgs.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + type Foo() = static member ExecuteFunction (func : (int * string) -> bool) (args : (int * string)) = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupledValueProperties01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupledValueProperties01.fs index f3d9a8932f5..9563c546477 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupledValueProperties01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupledValueProperties01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:966 // Verify that we can have properties that takes tuples for arguments // Note: the non-curried syntax ((x:decimal, y:decimal)) is expected -#light + type x ()= class let mutable verificationX = false diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupledValueProperties02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupledValueProperties02.fsx index a0f6958c24f..c5e2a04dcb2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupledValueProperties02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/tupledValueProperties02.fsx @@ -8,7 +8,7 @@ // member Verify: int // member X: decimal \* decimal with set // member Y: decimal \* decimal with set -#light + type x ()= class let mutable verificationX = false diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/typeMethodsCurrable.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/typeMethodsCurrable.fs index 5f70d980c0d..a81bfa84c4b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/typeMethodsCurrable.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/typeMethodsCurrable.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #MethodsAndProperties -#light + type Record = { A : int; B : int; C : int; D : int } diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/E_NonNamedAfterNamed.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/E_NonNamedAfterNamed.fs index d0a01f375b6..99762a9e228 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/E_NonNamedAfterNamed.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/E_NonNamedAfterNamed.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01.fs index 05b1397471e..f326c12c618 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + // FSB 1368, named arguments implicitly using property setters for generic class do not typecheck correctly diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExt.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExt.fs index c63e0186506..f6dc68abdea 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExt.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExt.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + // FSB 1368, named arguments implicitly using property setters for generic class do not typecheck correctly diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExtInherit.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExtInherit.fs index 59b3a969aba..ef51f1f751f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExtInherit.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExtInherit.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + module GenericInheritedClass2 = type R = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExtOpt.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExtOpt.fs index f2cd6e3b179..f5887cc7f41 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExtOpt.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn01NamedExtOpt.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + module GenericClass = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn02.fs index 59112853ddf..8a2716be63a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn02.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn02NamedExt.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn02NamedExt.fs index aaea7f9792e..cd0a0df0a1e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn02NamedExt.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/PropSetAfterConstrn02NamedExt.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + // FSB 1368, named arguments implicitly using property setters for generic class do not typecheck correctly diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/SanityCheck.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/SanityCheck.fs index 1e191c7d70d..d4cfb429b75 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/SanityCheck.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/SanityCheck.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + type EType = A = 1 | B = 2 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/genericNamedParams.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/genericNamedParams.fs index 74493c9fd53..45644cae2da 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/genericNamedParams.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/genericNamedParams.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + type Foo() = static member DoStuff (a, b, c, d:string) = a + b + c + d.Length diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/mixNamedNonNamed.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/mixNamedNonNamed.fs index 7608fda6881..e8d6189beee 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/mixNamedNonNamed.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/mixNamedNonNamed.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + type Foo() = static member MethodWithNamedArgs (one:int, two:int, three:float, four:float) = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/refLibsHaveNamedParams.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/refLibsHaveNamedParams.fs index 4a14357a6a7..3522ae219ff 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/refLibsHaveNamedParams.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/NamedArguments/refLibsHaveNamedParams.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #NamedArguments -#light + // Test that all types exposed in the base class library have 'named params' let sl = new System.Collections.Specialized.StringCollection() diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/SanityCheck.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/SanityCheck.fs index 5dab8fd4261..7d17b441feb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/SanityCheck.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/SanityCheck.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #OptionalArguments -#light + type Ballad() = static member MethWithOptParams (?param1:int, ?param2:string list, ?param3:int list option) = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/SanityCheck02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/SanityCheck02.fs index d0e4078b6bb..1070659cf60 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/SanityCheck02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/SanityCheck02.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #OptionalArguments -#light + // Test optional parameters with prim types, obj types, disc unions, option types, ref types, mutable types, etc. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/optionalOfOptOptA.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/optionalOfOptOptA.fs index 65790ba563a..9a36741b5fb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/optionalOfOptOptA.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OptionalArguments/optionalOfOptOptA.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #MemberDefinitions #OptionalArguments -#light + // Test an optional parameter of type 'option option option a' type Foo<'a>() = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/MethodOverloadUnambiguous.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/MethodOverloadUnambiguous.fs index 7c1562bfb07..5f3217c3387 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/MethodOverloadUnambiguous.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/MethodOverloadUnambiguous.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #Overloading // Regression test for FSHARP1.0:1494 // New tiebreaker rules for method overloading? -#light + open System.Reflection open System.Linq.Expressions diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/NoWarningWhenDoingDispatchSlotInference01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/NoWarningWhenDoingDispatchSlotInference01.fs index d3d2b42f195..43f01b4ce62 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/NoWarningWhenDoingDispatchSlotInference01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/NoWarningWhenDoingDispatchSlotInference01.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #Overloading // Regression test for FSHARP1.0:1894 // This code should compile without warnings! -#light + type MyTraceListener = class inherit System.Diagnostics.TraceListener diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/NoWarningWhenOverloadingInSubClass01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/NoWarningWhenOverloadingInSubClass01.fs index 30b1dc1248d..b1938afe531 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/NoWarningWhenOverloadingInSubClass01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/NoWarningWhenOverloadingInSubClass01.fs @@ -2,7 +2,7 @@ // FSharp1.0:4748 - override outscope warning does not seem to be overload sensitive // This code should compile without warnings! -#light + module Test diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/OperatorOverloading02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/OperatorOverloading02.fs index 86d2bde0cae..06efe00bdc9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/OperatorOverloading02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/OperatorOverloading02.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #DeclarationElements #MemberDefinitions #Overloading // Regression test for FSHARP1.0:4730 - Overly restrictive - functions not allowed as operator overloads -#light + type public TestType() = member public s.Value with get() = 17 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/TieBreakerRule02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/TieBreakerRule02.fs index e0a4e575451..c8009e80481 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/TieBreakerRule02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/TieBreakerRule02.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:1600 // New tiebreaker for method overloading // Rule #2: ParamArray: normal form vs expanded form -#light + module M3 = type C() = class diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/TooGeneric.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/TooGeneric.fs index 8c1560ceed2..e856bc586dd 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/TooGeneric.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/OverloadingMembers/TooGeneric.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3388 // overloaded operators which are more generic than their enclosing class // -#light + type Foo<'a,'b>() = #if TOO_GENERIC static member once(*<'a,'b,'c>*)(x:Foo<'a,'b>, y:Foo<'b,'c>) = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/E_NameConflict01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/E_NameConflict01.fs index 8a37336d05f..6167d7efd0f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/E_NameConflict01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/E_NameConflict01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #Modules -#light + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/SanityCheck.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/SanityCheck.fs index 62a249600fc..3ad023c1d93 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/SanityCheck.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/SanityCheck.fs @@ -1,6 +1,6 @@ // #Conformance #DeclarationElements #Modules // -#light + module A = module B = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/SanityCheck02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/SanityCheck02.fs index 2f5ddd44e8b..a4e0aea118a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/SanityCheck02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/SanityCheck02.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Modules -#light + module ``Some Crazy Identifier !@#`` = Microsoft.FSharp.Collections.List diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideModuleDef.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideModuleDef.fs index 45649608579..cfe719f4f18 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideModuleDef.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideModuleDef.fs @@ -1,7 +1,7 @@ // #Conformance #DeclarationElements #Modules // Use module abbreviation inside a module // -#light + module A = module B = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDef.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDef.fs index 24bb542c29f..3596265c855 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDef.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDef.fs @@ -1,7 +1,7 @@ // #Conformance #DeclarationElements #Modules // Use module abbreviation inside a namespace // -#light + namespace Faa.Bor module A = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDefExternal.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDefExternal.fs index 61c682c267c..b4827cfb579 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDefExternal.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDefExternal.fs @@ -2,7 +2,7 @@ // Use module abbreviation inside a namespace // Module is defined in an external assembly // -#light + namespace Faa.Bor diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDefExternal_DLL.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDefExternal_DLL.fs index 7a950e3b01f..b1c1e6ae0c1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDefExternal_DLL.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleAbbreviations/useInsideNamespaceDefExternal_DLL.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #Modules #ReqNOMT -#light + module A module B = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen01.fs index a597fa93654..98af5e18f32 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Modules -#light + // Sanity check AutoOpen diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen02.fs index 357612a9bf0..121bd16a7fc 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules #Modules -#light + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen03.fs index eec048ca5c1..086b5cb526e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/AutoOpen03.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Modules -#light + module A diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/DefineModule01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/DefineModule01.fs index 1052ff59f6b..50cbc12998f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/DefineModule01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/DefineModule01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Modules -#light + // Define a simple module and access its values diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ModuleWithExpression02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ModuleWithExpression02.fs index 18e89713381..d5913b91a80 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ModuleWithExpression02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ModuleWithExpression02.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2644 (a module may start with an expression) // This is unfortunate, but this is the current behavior for this release. -#light + module M2 = System.DateTime.Now diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ModuleWithSameNameInNamespace02b.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ModuleWithSameNameInNamespace02b.fsx index dcdcaabf8fb..0ba9a7f3253 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ModuleWithSameNameInNamespace02b.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ModuleWithSameNameInNamespace02b.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Can't have 2 modules with the same name in the same namespace // Compile with the corresponding 02a.fsx file -#light + namespace N module ``module`` = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ObsoleteAttribOnModules01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ObsoleteAttribOnModules01.fs index e6217efea91..7d89830d9ad 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ObsoleteAttribOnModules01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/E_ObsoleteAttribOnModules01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules #Modules -#light + // Regression test for: FSharp1.0:2030 - We should honor System.Obsolete on modules diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/FullyQualify01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/FullyQualify01.fs index 34f0ec27a68..be773038fdf 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/FullyQualify01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/FullyQualify01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Modules -#light + // Verify ability to fully qualify module identifiers diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/LightSyntax01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/LightSyntax01.fsx index 0d9d10e2caf..f429595d279 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/LightSyntax01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/LightSyntax01.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Light syntax: begin/end can be omitted // -#light + module N1 = let f x = x + 1 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleAbbreviationWithModule01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleAbbreviationWithModule01.fs index a4eb1fe2322..657181d0ed2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleAbbreviationWithModule01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleAbbreviationWithModule01.fs @@ -3,7 +3,7 @@ // Module abbreviation: // Trying to abbreviate a module is ok // -#light + // Module abbreviations module AbbreviateModule = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleDefinitions.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleDefinitions.fs index a476739a680..06c22537e7b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleDefinitions.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleDefinitions.fs @@ -239,15 +239,6 @@ module ModuleDefinitions = |> verifyCompileAndRun |> shouldSucceed - // SOURCE=Production_OCamlCompat.fsx # Production_OCamlCompat.fsx - [] - let ``Production_OCamlCompat_fsx`` compilation = - compilation - |> withOcamlCompat - |> withLangVersion50 - |> verifyCompileAndRun - |> shouldSucceed - // SOURCE=Production_TypeDefinitions.fsx # Production_TypeDefinitions.fsx [] let ``Production_TypeDefinitions_fsx`` compilation = @@ -265,22 +256,6 @@ module ModuleDefinitions = (Error 965, Line 8, Col 1, Line 9, Col 26, "The path 'Microsoft.FSharp.Core' is a namespace. A module abbreviation may not abbreviate a namespace.") ] - // SOURCE=W_Production_OCamlCompat.fsx SCFLAGS="--test:ErrorRanges" # W_Production_OCamlCompat.fsx - [] - let ``W_Production_OCamlCompat_fsx`` compilation = - compilation - |> verifyCompile - |> shouldFail - |> withDiagnostics [ - (Error 62, Line 14, Col 13, Line 14, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") - (Error 62, Line 18, Col 13, Line 18, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") - (Error 62, Line 22, Col 13, Line 22, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") - (Error 62, Line 26, Col 13, Line 26, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") - (Error 62, Line 30, Col 13, Line 30, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") - (Error 62, Line 35, Col 13, Line 35, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") - (Error 62, Line 39, Col 13, Line 39, Col 19, "This construct is deprecated. The use of 'module M = struct ... end ' was deprecated in F# 2.0 and is no longer supported. Remove the 'struct' and 'end' and use indentation instead. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.") - ] - // // #These 2 are not actual testcases, just test libraries for the next 2 // SOURCE=LibFoo1.fs SCFLAGS="-a" diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix02.fsx index 36af91e6d2d..182656758f4 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix02.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Decorating a module with the CompilationRepresentation // -#light + [] module m = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix03.fsx index a323f2e4ccb..8fcb8a55dd5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix03.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix03.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules #ReqNOMT // Import // Compile and add a reference to ModuleSuffix03Lib.dll -#light + open N.m1 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix03Lib.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix03Lib.fsx index 27241eb3e1d..f0ae449ce64 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix03Lib.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix03Lib.fsx @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Modules #ReqNOMT -#light + namespace N diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix04.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix04.fsx index 7267f1cadd0..a52700d853b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix04.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleSuffix04.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Use [] to // avoid name clashing between types and modules -#light + type m = | M diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleWithExpression01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleWithExpression01.fs index ad2ff27d1a3..3162632d1a1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleWithExpression01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleWithExpression01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2644 (a module may start with an expression) // Verify that we can compile a module with an expression in it // -#light + module M = printfn "hello" diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleWithExpression02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleWithExpression02.fs index de640d9e72c..7c49d8ebf60 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleWithExpression02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/ModuleWithExpression02.fs @@ -3,7 +3,7 @@ // This is unfortunate, but this is the current behavior for this release. // So, the workaround is to use begin... end // -#light + module M2 = begin System.DateTime.Now diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ExceptionDefinition.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ExceptionDefinition.fsx index d66062890bc..c4c4b22c608 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ExceptionDefinition.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ExceptionDefinition.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Productions // -#light + module M4 = begin exception E of string diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ImportDeclaration.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ImportDeclaration.fsx index 0c280103325..9ea8e07d8e8 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ImportDeclaration.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ImportDeclaration.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Productions // -#light + module M7 = begin open Microsoft.FSharp.Control diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_LetBindings_Binding.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_LetBindings_Binding.fsx index bdd1915e30a..bcd138cfca6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_LetBindings_Binding.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_LetBindings_Binding.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Productions // -#light + module M1 = begin let f x = x + 1 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_LetBindings_SideEff.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_LetBindings_SideEff.fsx index f4e122d45d8..6f0f6729d31 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_LetBindings_SideEff.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_LetBindings_SideEff.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Productions // -#light + module M2 = begin () diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ModuleAbbreviation.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ModuleAbbreviation.fsx index 0e0b33c6116..363104639cb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ModuleAbbreviation.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ModuleAbbreviation.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Productions // -#light + module M6 = begin module M6 = Microsoft.FSharp.Collections.Array diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ModuleDefinition.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ModuleDefinition.fsx index 72b6bb5de9c..8c6b7918d24 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ModuleDefinition.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_ModuleDefinition.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Productions // -#light + module M5 = begin module M5 = begin diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_OCamlCompat.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_OCamlCompat.fsx deleted file mode 100644 index ad3085500b5..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_OCamlCompat.fsx +++ /dev/null @@ -1,34 +0,0 @@ -// #Conformance #TypesAndModules #Modules -// Productions -// Compile with: --mlcompatibility -a --warnaserror+ -// -#light - -module N1 = struct - let f x = x + 1 - end - -module N2 = struct - () - end - -module N3 = struct - type T = | A = 1 - end - -module N4 = struct - exception E of string - end - -module N5 = struct - module M5 = begin - end - end - -module N6 = struct - module M6 = Microsoft.FSharp.Collections.Array - end - -module N7 = struct - open Microsoft.FSharp.Control - end diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_TypeDefinitions.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_TypeDefinitions.fsx index 7eb95ab5c8e..ca8c57ea67b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_TypeDefinitions.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/Production_TypeDefinitions.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Modules // Productions // -#light + module M3 = begin type T = | A = 1 end diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/W_Production_OCamlCompat.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/W_Production_OCamlCompat.fsx deleted file mode 100644 index 1665d43135c..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/ModuleDefinitions/W_Production_OCamlCompat.fsx +++ /dev/null @@ -1,41 +0,0 @@ -// #Regression #Conformance #TypesAndModules #Modules -// Productions -// Compile without: --mlcompatibility - - - - - - - - -#light - -module N1 = struct - let f x = x + 1 - end - -module N2 = struct - () - end - -module N3 = struct - type T = | A = 1 - end - -module N4 = struct - exception E of string - end - -module N5 = struct - module M5 = begin - end - end - -module N6 = struct - module M6 = Microsoft.FSharp.Collections.Array - end - -module N7 = struct - open Microsoft.FSharp.Control - end diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/NullRepresentations/E_NullInvalidForFSTypes01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/NullRepresentations/E_NullInvalidForFSTypes01.fs index 38ab92b0dae..055a28c7e81 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/NullRepresentations/E_NullInvalidForFSTypes01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/NullRepresentations/E_NullInvalidForFSTypes01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules -#light + // Verify that 'null' is not a valid value for F# types diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/Constraints_SampleFromSpec01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/Constraints_SampleFromSpec01.fsx index 5409dd4afa2..1cabc4cfff2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/Constraints_SampleFromSpec01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/Constraints_SampleFromSpec01.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules // Abbreviation: the constraints on the right-hand-side are sufficient // -#light + type IA = abstract AbstractMember : int -> int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_AbbreviatedTypeAlreadyUsed01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_AbbreviatedTypeAlreadyUsed01.fsx index 94105d29da7..955bfaf6e9a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_AbbreviatedTypeAlreadyUsed01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_AbbreviatedTypeAlreadyUsed01.fsx @@ -2,6 +2,6 @@ // Type abbreviation // Abbreviated type already used (redefined) -#light + type T = Microsoft.FSharp.Math.BigInt type T = Microsoft.FSharp.Math.BigNum // error! diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_AbbreviatedTypeDoesNotExist01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_AbbreviatedTypeDoesNotExist01.fsx index 1169f31af29..5ebe5bedac9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_AbbreviatedTypeDoesNotExist01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_AbbreviatedTypeDoesNotExist01.fsx @@ -2,6 +2,6 @@ // Type abbreviation // Type tp abbreviate a type that does not exist -#light + type Z = X.Y.Z.W // error diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Constraints_SampleFromSpec02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Constraints_SampleFromSpec02.fsx index 1c64fc0dff2..744e79308a9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Constraints_SampleFromSpec02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Constraints_SampleFromSpec02.fsx @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules // Abbreviation: the constraints on the right-hand-side are not sufficient -#light + type IA = abstract AbstractMember : int -> int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_IncorrectRightSide_Keyword.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_IncorrectRightSide_Keyword.fsx index 72795a72372..1b4a0a0e13d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_IncorrectRightSide_Keyword.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_IncorrectRightSide_Keyword.fsx @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules // Incorrect right hand side: quotation -#light + type BadType = of int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_IncorrectRightSide_Quotation.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_IncorrectRightSide_Quotation.fsx index 8c219138a84..6c30130027c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_IncorrectRightSide_Quotation.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_IncorrectRightSide_Quotation.fsx @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules // Incorrect right hand side: quotation -#light + type BadType = <@ @> // -> int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_InfiniteAbbreviation02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_InfiniteAbbreviation02.fs index 09a7e1ed103..fefed6de6a7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_InfiniteAbbreviation02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_InfiniteAbbreviation02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules -#light + // Verify error if creating a type abbreviation which results in an infinite type expression. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive01.fsx index aaeda5532eb..4d4dcf2335c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive01.fsx @@ -3,7 +3,7 @@ // Recursive definition: using measures // This is regression test for FSHARP1.0:3784 -#light + [] type Kg = Kg // cyclic exit 1 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive02.fsx index b9f338a73a0..a025809b253 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive02.fsx @@ -2,7 +2,7 @@ // Type abbreviation // Recursive definition: using list of... -#light + type X = X list // cyclic diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive03.fsx index 051a36ee390..4122437a27b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive03.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/E_Recursive03.fsx @@ -2,6 +2,6 @@ // Type abbreviation // Recursive definition: using generic type -#light + type Y<'a> = Y<'a> diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/Identity01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/Identity01.fsx index 9d1f5733876..6eac9f244f7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/Identity01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/Identity01.fsx @@ -2,6 +2,6 @@ // Type abbreviation // A type that redefine itself -- not very useful, but ok // -#light + type Z = Z // ok (useless, but ok) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/TypeNestedInModules01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/TypeNestedInModules01.fsx index 6bb1b155241..7cdc5a075c9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/TypeNestedInModules01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/TypeAbbreviations/TypeNestedInModules01.fsx @@ -2,7 +2,7 @@ // Type abbreviation // The type nested in modules // -#light + module M1 = module M2 = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/BindingExpressions/AmbigLetBinding.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/BindingExpressions/AmbigLetBinding.fs index 091832c32a8..d089cecc7be 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/BindingExpressions/AmbigLetBinding.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/BindingExpressions/AmbigLetBinding.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #Binding -#light + // Regression test for FSHARP1.0:1917 // Verify that when given an ambiguous let binding we treat it as a function binding, rather than a pattern match. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/BindingExpressions/W_TypeInferforGenericType.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/BindingExpressions/W_TypeInferforGenericType.fs index bac193f6376..6d64e5dbac0 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/BindingExpressions/W_TypeInferforGenericType.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/BindingExpressions/W_TypeInferforGenericType.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #Binding namespace One -#light + module One = // Regression test for bug 4083: Extend "inferred type is less generic than the given type annotations" warning to cover cases where a user-authored 'b is constrained to be an 'a diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample01.fs index cf5e42308af..31cf83a697c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:1986 (conter example in complex pattern matching) -#light + let f = function // Incomplete pattern matches on this expression. For example, the value 'Some ((_,true))' will not be matched diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample02.fs index 1359030837b..ba0414c7062 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample02.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:1986 (conter example in complex pattern matching) -#light + let g = function | [] -> 0 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/rigidtypeannotation01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/rigidtypeannotation01.fs index 94710590554..8f257a4bb41 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/rigidtypeannotation01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/rigidtypeannotation01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeRelatedExpressions #TypeAnnotations -#light + let p = (1 : int) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/staticcoercion01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/staticcoercion01.fs index 73c3f24fff2..4ebb17f8435 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/staticcoercion01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/staticcoercion01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeRelatedExpressions #TypeAnnotations -#light + (1 :> obj) ("Hello" :> obj) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/staticcoercion01b.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/staticcoercion01b.fs index ae2709d03ee..57c54348644 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/staticcoercion01b.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ControlFlowExpressions/Type-relatedExpressions/staticcoercion01b.fs @@ -1,5 +1,5 @@ // #Conformance #TypeRelatedExpressions #TypeAnnotations -#light + [] type s diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Comparison01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Comparison01.fs index 3f750645cd2..3fe461af4aa 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Comparison01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Comparison01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #GeneratedEqualityAndHashing -#light + // Test generated comparison on tuples. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/CustomEquality01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/CustomEquality01.fs index bdb015ab003..6b027718f4a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/CustomEquality01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/CustomEquality01.fs @@ -4,7 +4,7 @@ // on structs/records/union while overriding GetHashCode/Equals. // Also do verify there's no need in explicit attribute for class types. -#light + [] [] diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/E_CustomEqualityEquals01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/E_CustomEqualityEquals01.fs index f5dfa111e86..c34bb3295ba 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/E_CustomEqualityEquals01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/E_CustomEqualityEquals01.fs @@ -8,7 +8,7 @@ -#light + type R = { a : int; b : string } diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/E_CustomEqualityGetHashCode01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/E_CustomEqualityGetHashCode01.fs index 329a2aa5bc9..748c32e2bb2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/E_CustomEqualityGetHashCode01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/E_CustomEqualityGetHashCode01.fs @@ -8,7 +8,7 @@ -#light + type R = { a : int; b : string } diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Equality01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Equality01.fs index 94359676edc..b903e1a2f97 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Equality01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Equality01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #GeneratedEqualityAndHashing -#light + // Sanity check generated equality diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Generated_Record.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Generated_Record.fsx index 45b1a9b3007..be58d5de9fd 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Generated_Record.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Generated_Record.fsx @@ -2,7 +2,7 @@ // Check thru reflection the set of methods // Record // -#light + let TestListOfMethods (typ : System.Type) (exp : string array) = Array.sortInPlaceWith (fun a b -> System.String.Compare(a,b)) exp diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Hashing01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Hashing01.fs index e9baf43e9ae..f5b9ccf2bab 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Hashing01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/Hashing01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #GeneratedEqualityAndHashing -#light + // Sanity check generated equality diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Class.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Class.fsx index 188aa419588..0e3cfbd02a2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Class.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Class.fsx @@ -2,7 +2,7 @@ // Check thru reflection the set of methods // Classes // -#light + let TestListOfMethods (typ : System.Type) (exp : string array) = Array.sortInPlaceWith (fun a b -> System.String.Compare(a,b)) exp diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Delegate.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Delegate.fsx index 00dbdb7c4aa..ac56b41f686 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Delegate.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Delegate.fsx @@ -2,7 +2,7 @@ // Check thru reflection the set of methods // Delegate // -#light + let TestListOfMethods (typ : System.Type) (exp : string array) = Array.sortInPlaceWith (fun a b -> System.String.Compare(a,b)) exp diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Interface.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Interface.fsx index 1305080924c..d0786622413 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Interface.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/GeneratedEqualityHashingComparison/Basic/NeverGenerated_Interface.fsx @@ -2,7 +2,7 @@ // Check thru reflection the set of methods // Interface // -#light + let TestListOfMethods (typ : System.Type) (exp : string array) = Array.sortInPlaceWith (fun a b -> System.String.Compare(a,b)) exp diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/E_ByrefAsGenericArgument01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/E_ByrefAsGenericArgument01.fs index 4da2e1ceabf..b465cca7037 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/E_ByrefAsGenericArgument01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/E_ByrefAsGenericArgument01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeInference #ByRef -#light + // Verify error when trying to use a byref<_> as generic argument. // (Disallowed by CLR.) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/E_SetFieldToByref01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/E_SetFieldToByref01.fs index a26b8a618fb..6ae5ee8cbb6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/E_SetFieldToByref01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/E_SetFieldToByref01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeInference #ByRef -#light + // Verify error when setting object field to a byref value. // (This is disallowed by the CLR.) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/UseByrefInLambda01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/UseByrefInLambda01.fs index 35056519980..177fe74fe32 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/UseByrefInLambda01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/ByrefSafetyAnalysis/UseByrefInLambda01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference #ByRef -#light + // Test that byref values can be used in inner lambdas if they // do not escape. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/InfiniteRecursiveExplicitConstructor.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/InfiniteRecursiveExplicitConstructor.fs index 56d368f43a5..b99d9ae27d2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/InfiniteRecursiveExplicitConstructor.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/InfiniteRecursiveExplicitConstructor.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3541 // PEVerification failure with infinite recursion in explicit constructor // Note: as per Don's comment in 3541, we should NOT disallow recursive call of own constructor -#light + open System type A() = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveTypeDeclarations01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveTypeDeclarations01.fs index d213d5f90db..0ee9593e70c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveTypeDeclarations01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveTypeDeclarations01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference #Recursion -#light + // Define a set of mutually recursive types. Verify compiles and works OK diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveValueDeclarations01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveValueDeclarations01.fs index 4553442b956..08ff9a525a3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveValueDeclarations01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveValueDeclarations01.fs @@ -2,7 +2,7 @@ // FSharp1.0:4821 // Copying of "when" bindings is losing a recursive fixup point (was: ICE on code with mutually recursive functions used in pattern matching guards?) -#light + type Foo = | CSt of int*int*Foo diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/InfixTokenPlusOne.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/InfixTokenPlusOne.fs index 8abf0b31e71..20ab3d6bc8b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/InfixTokenPlusOne.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/InfixTokenPlusOne.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexFilter #Exceptions -#light + // FSB 1624, LexFilter should consider infix tokens according to their length diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/RelaxWhitespace2.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/RelaxWhitespace2.fs index c69dabcd13c..42e8dc1ad9e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/RelaxWhitespace2.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/LexicalFiltering/OffsideExceptions/RelaxWhitespace2.fs @@ -1,5 +1,5 @@ // #Conformance #LexFilter #Exceptions -#light + [] type IProvideTestFunctionX = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/E_IdentBoundTwice.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/E_IdentBoundTwice.fs index ba6cdf04019..d5e22da3cc0 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/E_IdentBoundTwice.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/E_IdentBoundTwice.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #PatternMatchingGuards -#light + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern01.fs index 7bc37f0613e..0f813e6e44e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #PatternMatchingGuards -#light + // Verify that and patterns must match both sides diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern02.fs index 312fef3d201..5d9f888acb3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #PatternMatchingGuards -#light + // Verify multiple pattern parts can introduce new identifiers type Foo = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern03.fs index 2b9938c209b..7bd7fa66eac 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/And/andPattern03.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #PatternMatchingGuards -#light + open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/TrailingSemi01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/TrailingSemi01.fs index 62db9992e8e..fe528b16f3c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/TrailingSemi01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/TrailingSemi01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #Arrays -#light + // Verify ability to match a list, array, or record with trailing semicolon // (Regression for bug 1190 - minor glitch in record pattern) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch01.fs index 3aa935b7a70..3d7adc83ac6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Arrays -#light + // Verify ability to match against arrays diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch02.fs index f41bfa698d4..dd7c3724d65 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Arrays -#light + // Verify ability to match against empty arrays let isEmpty x = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch03.fs index b22696f27ee..0c5c3052dfe 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Array/arrayMatch03.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Arrays -#light + // Verify ability to match against null arrays diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/As/asPattern01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/As/asPattern01.fs index a21ff5850b5..742db570f81 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/As/asPattern01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/As/asPattern01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + let t1 = (1, 2) let (x, y) as asPatResult = t1 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/As/asPattern02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/As/asPattern02.fs index 6ed1a381e52..834c47b0a6f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/As/asPattern02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/As/asPattern02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Verify 'as pattern' construct diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/ConsList/OutsideMatch01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/ConsList/OutsideMatch01.fs index bff09153aa7..cfdd76fabde 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/ConsList/OutsideMatch01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/ConsList/OutsideMatch01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Verify pattern matching on lists outside of a patch statement diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/ConsList/consPattern01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/ConsList/consPattern01.fs index c752b680855..6d574d998df 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/ConsList/consPattern01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/ConsList/consPattern01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Verify that [] works at the end of a list let rec lengthOf x = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Decimal/literal01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Decimal/literal01.fs index 764958b9bd7..273817b3db1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Decimal/literal01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Decimal/literal01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Pattern match decimal literals diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/ArrayTypeTest01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/ArrayTypeTest01.fs index aac4071fbc9..e385b278597 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/ArrayTypeTest01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/ArrayTypeTest01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #TypeTests -#light + // Verify ability to specify an integer array in a dynamic type test diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/E_DynamTyTestVarType01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/E_DynamTyTestVarType01.fs index 8f128598da0..1e67a33ff1b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/E_DynamTyTestVarType01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/E_DynamTyTestVarType01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #TypeTests -#light + // Verify error associated with doing a dynamic type // test on a variable type. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/E_DynamicTestPrimType01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/E_DynamicTestPrimType01.fs index daf3586950a..a9ed5014e6e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/E_DynamicTestPrimType01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/E_DynamicTestPrimType01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #TypeTests -#light + // Verify error when using a dynamic type test on // type without any proper sub types. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/Regression02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/Regression02.fs index 25d35db2165..1b7aa18f973 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/Regression02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/Regression02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #TypeTests -#light + // Verify you can use a dynamic type test against unit diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/TwoAtOnce01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/TwoAtOnce01.fs index 5c8e984ee7e..eda733bb314 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/TwoAtOnce01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/TwoAtOnce01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #TypeTests -#light + // Perform multiple dynamic type tests at once diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/W_RedundantPattern01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/W_RedundantPattern01.fs index ad6bc4de529..eb720acbfe7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/W_RedundantPattern01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/W_RedundantPattern01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #TypeTests -#light + // FSB 1488, Implement redundancy checking for dynamic type test patterns diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/W_TypeTestWillAlwaysHold01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/W_TypeTestWillAlwaysHold01.fs index ca6ea64491e..c1ec3b8938f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/W_TypeTestWillAlwaysHold01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/W_TypeTestWillAlwaysHold01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #TypeTests -#light + // Verify warning for when dynamic type test will always hold. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynTestSealedType01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynTestSealedType01.fs index 1128961fc6c..e64258441ca 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynTestSealedType01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynTestSealedType01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #TypeTests -#light + // Verify result of dynamic type test on sealed type. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest01.fs index e618196f7a4..8e338452254 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #TypeTests -#light + open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest02.fs index 1566b387920..9cd92eaeecf 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #TypeTests -#light + open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest04.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest04.fs index 9cc6748b093..ba3f23f7adb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest04.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/dynamicTypeTest04.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #TypeTests -#light + let mutable testPassed = false try diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/genericType01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/genericType01.fs index df44c954dd0..13dd808e4aa 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/genericType01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/DynamicTypeTest/genericType01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #TypeTests -#light + let listOfWhat (x : 'a list) = match box x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/patterns01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/patterns01.fs index 36a957ac766..aba02e5d1ee 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/patterns01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/patterns01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Verify the first vertical bar in a pattern match is optional. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/patterns02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/patterns02.fs index a8ebbe39689..f033db4f86c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/patterns02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/patterns02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Verify ability to match just a single identifier diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuards01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuards01.fs index d14f4fa3b0b..a1fd1cb057c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuards01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuards01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Test that when guards only execute once the match value has // matched the pattern associated with the rule. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuards02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuards02.fs index 530ed514f06..14611b11a1b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuards02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuards02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Verify that if the when guard fails, that pattern is not matched. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuardss01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuardss01.fs index d14f4fa3b0b..a1fd1cb057c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuardss01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuardss01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Test that when guards only execute once the match value has // matched the pattern associated with the rule. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuardss02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuardss02.fs index 530ed514f06..14611b11a1b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuardss02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Expression/whenGuardss02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Verify that if the when guard fails, that pattern is not matched. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/ActivePatternOutsideMatch02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/ActivePatternOutsideMatch02.fs index 3dd34ab58a0..2203d8a686d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/ActivePatternOutsideMatch02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/ActivePatternOutsideMatch02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Verify active patterns outside of match statement // where active pattern defines a function. (Regression.) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/AsHighOrderFunc01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/AsHighOrderFunc01.fs index a153b48a2f3..033e0420565 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/AsHighOrderFunc01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/AsHighOrderFunc01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Verify ability to treat active patterns like higher-order functions diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/E_ParameterRestrictions01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/E_ParameterRestrictions01.fs index 1d3c6c0cf80..f976faafcbe 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/E_ParameterRestrictions01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/E_ParameterRestrictions01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #ActivePatterns -#light + // Verify error cases for restrictions on active pattern parameters. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/MultiActivePatterns01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/MultiActivePatterns01.fs index 35052aafdfe..5d42029d628 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/MultiActivePatterns01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/MultiActivePatterns01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Test ability to specify multiple active patterns in the same pattern match diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/NamedLiteral01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/NamedLiteral01.fs index 8b3f85e2f21..477aa4f779b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/NamedLiteral01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/NamedLiteral01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Match against an enum const defined in another assembly open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/NamedLiteral02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/NamedLiteral02.fs index beb5f434d00..2ad80f5ece6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/NamedLiteral02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/NamedLiteral02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Verify [] values can be used with active patterns diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/PatternMatchRegressions01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/PatternMatchRegressions01.fs index adbe43c609b..bbdbf5ff11e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/PatternMatchRegressions01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/PatternMatchRegressions01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #ActivePatterns -#light + // FSB 1103, bad code generation for active patterns from fswebtools example diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/RecursiveActivePats.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/RecursiveActivePats.fs index ec87e23c68f..13e3bab584e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/RecursiveActivePats.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/RecursiveActivePats.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Single Case let rec (|SCAP|) (x : obj) = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns01.fs index e68fa05ba1f..808b2aac2d2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Single case active pattern let (|Double|) x = (x, x) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns02.fs index dbc68717040..ae4abe80031 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Multi-case active pattern diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns03.fs index 45978a3c9c5..fa014a98c27 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns03.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Single case partial active pattern diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns05.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns05.fs index 57c698742b1..05a4e1ec337 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns05.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns05.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns06.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns06.fs index 70ec818da27..225eee776dd 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns06.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns06.fs @@ -1,3 +1,3 @@ // #Conformance #PatternMatching #ActivePatterns -#light + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns07.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns07.fs index 1047c3e02c1..32197bf6e1a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns07.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns07.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Verify parameters into active patterns can be anything (as constrained by the pat-param grammar production) module OtherModule = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns08.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns08.fs index 6119dabb2da..9883f378695 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns08.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns08.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Verify able to mix active patterns with 'regular' patterns. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns09.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns09.fs index 0eb679178fd..d87cd8e03e3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns09.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns09.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Verify AND on active patterns with exceptions diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns10.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns10.fs index 1a98c23889e..2497edd8f22 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns10.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/activePatterns10.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Verify AND on incomplete active patterns with exceptions diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/discUnion01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/discUnion01.fs index c1a896978cb..e0e50d34ace 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/discUnion01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/discUnion01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Verify ability to use wildcards when matching discriminated unions diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/discUnion02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/discUnion02.fs index 424e7e8146f..39eb9d30fd0 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/discUnion02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Named/discUnion02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #ActivePatterns -#light + // Verify ability to use a constant when matching discriminated unions diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Null/E_notNullCompatible01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Null/E_notNullCompatible01.fs index b3a185263b6..1b453adfe41 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Null/E_notNullCompatible01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Null/E_notNullCompatible01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching -#light + // Verify error when trying to match type against null if it doesn't support that diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Null/matchNull01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Null/matchNull01.fs index e1d6a986b97..0795ffdcc0b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Null/matchNull01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Null/matchNull01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Verify ability to match against null diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/E_RecordFieldNotDefined01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/E_RecordFieldNotDefined01.fs index 31398f99038..36010aa645e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/E_RecordFieldNotDefined01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/E_RecordFieldNotDefined01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #Records -#light + // Verify error if type of a record field is incorrect. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/recordPatterns01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/recordPatterns01.fs index 68e648f054f..cb1ee83c9db 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/recordPatterns01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/recordPatterns01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Records -#light + // Test ability to match records even if a subset of tags are specified. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/recordPatterns02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/recordPatterns02.fs index e73937878bf..dd74f2eeef6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/recordPatterns02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/recordPatterns02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Records -#light + // Verify ability to have nested patterns in record types diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/structRecordPatterns01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/structRecordPatterns01.fs index 007aac6c23a..1f2923b44e7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/structRecordPatterns01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/structRecordPatterns01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Records -#light + // Test ability to match records even if a subset of tags are specified. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/structRecordPatterns02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/structRecordPatterns02.fs index 0d34aaadc7f..640e6bfb070 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/structRecordPatterns02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Record/structRecordPatterns02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Records -#light + // Verify ability to have nested patterns in record types diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/CodeGenReg01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/CodeGenReg01.fs index cd9e19888df..04aea1eb7cc 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/CodeGenReg01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/CodeGenReg01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching -#light + // FSB 1750, Bad codegen in Pattern Matching diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_SyntaxError01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_SyntaxError01.fs index 8f0334f742d..240fab94b0b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_SyntaxError01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_SyntaxError01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching -#light + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_ValueCapture01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_ValueCapture01.fs index 170971f3231..9032442b72c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_ValueCapture01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_ValueCapture01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching -#light + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_constPattern01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_constPattern01.fs index 64ca9c6eaa5..8f28e7883f2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_constPattern01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/E_constPattern01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching -#light + //FS0025: Incomplete pattern matches on this expression. The value '7' will not be matched diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/MatchFailureExn01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/MatchFailureExn01.fs index 808d04f5fc6..cf4c5f8d445 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/MatchFailureExn01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/MatchFailureExn01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Verify a match failure exception is thrown if a match is not found. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/ValueCapture01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/ValueCapture01.fs index a7f55dd8899..839d756a6d7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/ValueCapture01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/ValueCapture01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Test some of the semantics of value capture diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/ValueCapture02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/ValueCapture02.fs index 2d6927b4611..7dee47c8671 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/ValueCapture02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/ValueCapture02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + open System.Collections.Generic diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/W_Incomplete01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/W_Incomplete01.fs index 1788e7fca0b..409b153d11c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/W_Incomplete01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/W_Incomplete01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching -#light + // Regression testcase for FSharp 1.0:2070 // Warning on incomplete match diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns01.fs index 72b063c7b41..0d08f1cc4b7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Test guarded patterns let success = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns02.fs index ef72f1c539d..5356747b419 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Test constant pattern matches let x = 42 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns03.fs index 7490e2247b9..0dfd7036fb1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns03.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Match pattern with 'named pattern' type Foo() = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns04.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns04.fs index 284b8160f70..aad547a6cfb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns04.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns04.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Test guarded patterns let success = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns05.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns05.fs index 8b86c15d7c0..e657aad17b3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns05.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns05.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + type Alphabet = | A | B | C | D | E diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns06.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns06.fs index aede484e41c..3393529964d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns06.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns06.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + let (|MulTwo|_|) x = if x % 2 = 0 then Some() else None let (|MulThree|_|) x = if x % 3 = 0 then Some() else None diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns07.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns07.fs index b4d4d3646f7..0c58abc6b71 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns07.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns07.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Contains sequence [6; 20; 82] let rec containsSeq list = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns08.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns08.fs index 8a37dc96877..ca519046b83 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns08.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns08.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + let rec listLength list = match list with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns09.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns09.fs index 24ee7926832..b35a244323e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns09.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns09.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + let sumArray array = match array with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns10.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns10.fs index 9fd840d2d32..30f511ba3e9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns10.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns10.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + let f x y = match x, y with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns11.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns11.fs index 46707f2f82a..8197528cac5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns11.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns11.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + let sumEvenValues (tuple:int*int) = match tuple with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns12.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns12.fs index 7e79990292b..ae1f7cb9569 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns12.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns12.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + type Person = { Name : string; Age : int } diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns13.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns13.fs index a747ff6b151..84f0d87d1dc 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns13.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns13.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + module SomeModule = type DU = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns14.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns14.fs index 355afa9c673..a5fa5a20a11 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns14.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns14.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + let result = match 42 with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns15.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns15.fs index c30590dc0e8..ced319005dc 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns15.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns15.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns16.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns16.fs index a6c308b4a20..9f6f8cca216 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns16.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns16.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns17.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns17.fs index e35cc2e1e9e..10550cd36f0 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns17.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns17.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + open System diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns18.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns18.fs index 49f5a099c9e..c931b3e78db 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns18.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns18.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Pattern match a short unicode literal diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns19.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns19.fs index fcc0f9e5f69..a71ab40965f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns19.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns19.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Pattern match long unicode literals diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns20.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns20.fs index 9295135f6c8..19768360735 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns20.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Simple/simplePatterns20.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Pattern match short unicode literals in strings diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/DiffAssembly.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/DiffAssembly.fs index ebc545abc33..85047d15f73 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/DiffAssembly.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/DiffAssembly.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Constants -#light + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_NoRangeConst01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_NoRangeConst01.fs index 4f9b4892ff7..f2af455f93c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_NoRangeConst01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_NoRangeConst01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #Constants -#light + // Verify error when trying to use range constants diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_type_bigint.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_type_bigint.fs index 62abeccf858..37e3e52fb00 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_type_bigint.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_type_bigint.fs @@ -2,7 +2,7 @@ // Pattern Matching - Simple Constants // Type: BigInt -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_type_bignum40.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_type_bignum40.fs index 56b35655c4f..a5af55a5c4f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_type_bignum40.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/E_type_bignum40.fs @@ -3,7 +3,7 @@ // Type: BigNum // On NetFx4.0/Dev10, we don't give the deprecation error: this is ok (FSHARP1.0:4599) -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/FullyQualify01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/FullyQualify01.fs index 7759c8cfa21..c4afce75ee1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/FullyQualify01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/FullyQualify01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Constants -#light + // Verify ability to pattern match against a fully qualified constant or literal diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/MatchLiteral01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/MatchLiteral01.fs index 97248bb4c88..bb0dd21e6e7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/MatchLiteral01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/MatchLiteral01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #Constants -#light + // Test ability to match a const literal value diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/MatchNaN.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/MatchNaN.fs index 569c8c0f341..59c63eb1b2c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/MatchNaN.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/MatchNaN.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Constants -#light + // Verify the ability to match against NaN. Note that // this should diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst01.fs index 9977f89e3cb..9af9084bce7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Constants -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst02.fs index 4c763420234..73fcbb294ca 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Constants -#light + let isBob x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst03.fs index 1fbe3d72a52..8a38b9b6c92 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst03.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Constants -#light + // Match floating point numbers type Number = NotPI | SortOfPI | CloseToPI | CloseEnoughToPI diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst04.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst04.fs index d3a26b58ec7..92c1df01b1b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst04.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/matchConst04.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Constants -#light + // Match against an enum diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_bigint.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_bigint.fs index 19bbde72111..4794a34ae86 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_bigint.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_bigint.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: BigInt -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_bool.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_bool.fs index 0713270aaa6..7926fa987c4 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_bool.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_bool.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: Bool -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_byte.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_byte.fs index 33270b0c448..0cfb3e9ae66 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_byte.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_byte.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: byte -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_byteArr.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_byteArr.fs index 9dcd87e5c7d..560cbe6e823 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_byteArr.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_byteArr.fs @@ -2,7 +2,7 @@ // Pattern Matching - Simple Constants // Type: byte[] // This is a regression test for FSHARP1.0:2036 -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_char.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_char.fs index 338658c5162..90f5ed02f81 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_char.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_char.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: char -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_double.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_double.fs index f2659f21048..b974331af6a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_double.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_double.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: double -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_float32.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_float32.fs index 860dd9b21d1..ae13323774b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_float32.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_float32.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: double -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int.fs index 36e24c95194..f90c21a1151 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: int -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int16.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int16.fs index fbcbcb2ccb6..c28546a8457 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int16.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int16.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v = 17s // int16 let check(x:int16) = true diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int64.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int64.fs index d8d3b993078..32e81101885 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int64.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_int64.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: int64 -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_nativenint.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_nativenint.fs index 49dac8802dc..fe81786f086 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_nativenint.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_nativenint.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: nativeint -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_sbyte.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_sbyte.fs index 76ac6ad324e..f19e9f291c7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_sbyte.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_sbyte.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: sbyte -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_string.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_string.fs index 8c6f124ab9c..40dea58ffe6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_string.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_string.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: string -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint16.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint16.fs index 66c11053695..f1913f4baf7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint16.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint16.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: uint16 -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint32.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint32.fs index 8f8b2d0c6c8..5dec89ef0db 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint32.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint32.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: uint32 -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint64.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint64.fs index 221d4009bd9..067e102350a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint64.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_uint64.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: uint64 -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_unativenint.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_unativenint.fs index a3447af87b7..2c9d972b9b4 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_unativenint.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_unativenint.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: unativeint -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_unit.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_unit.fs index a9535e5d106..9fd1c8a41f3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_unit.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/SimpleConstant/type_unit.fs @@ -1,7 +1,7 @@ // #Conformance #PatternMatching #Constants // Pattern Matching - Simple Constants // Type: unit -#light + let isZero x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/SimpleTuples01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/SimpleTuples01.fs index 036b2d45094..abefcf4efcb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/SimpleTuples01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/SimpleTuples01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Tuples -#light + let tupleStartsWithOne x = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/W_RedundantPattern01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/W_RedundantPattern01.fs index d9c5db1f22f..ca9577725bf 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/W_RedundantPattern01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/W_RedundantPattern01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #Tuples -#light + // Verify warning with redundant pattern diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/W_RedundantPattern02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/W_RedundantPattern02.fs index d408c16d7dc..a09199958a8 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/W_RedundantPattern02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/W_RedundantPattern02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #Tuples -#light + // Verify warning if all DU tags are matched with and // a wildcard is included. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/tuples01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/tuples01.fs index 72d5e59165e..052b7df2dab 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/tuples01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Tuple/tuples01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Tuples -#light + // Match nested tuples diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/E_CapturesDiffVal01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/E_CapturesDiffVal01.fs index 29b54a67162..f2cf17b6630 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/E_CapturesDiffVal01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/E_CapturesDiffVal01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #Unions -#light + // Verify error if two pattern match clauses match // different values diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/E_NotAllCaptureSameVal01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/E_NotAllCaptureSameVal01.fs index c5ebfcab79b..da5a20bc064 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/E_NotAllCaptureSameVal01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/E_NotAllCaptureSameVal01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #Unions -#light + // Verify error if not all union pattern rules capture the // same set of values diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern01.fs index 065c374776d..e730d6b98f0 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Unions -#light + type Foo = | A of int * string diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern02.fs index f3165a69286..ea94f9dd457 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern02.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Unions -#light + // Test a match statement with just one 'match thingy' type Foo = A | B of string | C of int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern03.fs index 9c032ffa2f8..a35dd22a66a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern03.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching #Unions -#light + // Test that when there are two potential matches, they are matched in the order they are defined. type Foo = A | B | C | D diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern04.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern04.fs index fe58732f913..133bc07264f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern04.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Union/unionPattern04.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #PatternMatching #Unions -#light + // Regression test for FSHARP1.0:3914 - Invalid value when returning a pattern match-bound parameter in the enclosure of a lambda (does that make sense?) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Wildcard/wildCardPatterns01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Wildcard/wildCardPatterns01.fs index a3bca207911..dc8508be685 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Wildcard/wildCardPatterns01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/Wildcard/wildCardPatterns01.fs @@ -1,5 +1,5 @@ // #Conformance #PatternMatching -#light + // Verify that the shape of data matched against a wildcard // doesn't have to match. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyConfiguration_001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyConfiguration_001.fs index c722bde353f..1fa622a631a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyConfiguration_001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyConfiguration_001.fs @@ -3,7 +3,7 @@ // See FSHARP1.0:832,1674,1675 and 2290 // Attribute under test: AssemblyConfiguration -#light + open System open System.Reflection; diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyFileVersion_001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyFileVersion_001.fs index a2b1cc0da18..a2244621cd4 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyFileVersion_001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyFileVersion_001.fs @@ -3,7 +3,7 @@ // Attribute under test: AssemblyFileVersion // -#light + open System open System.Reflection; diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyInformationalVersion_001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyInformationalVersion_001.fs index a2cdce498fa..7fcf843d8d4 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyInformationalVersion_001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/PseudoCustomAttributes/AssemblyInformationalVersion_001.fs @@ -3,7 +3,7 @@ // Attribute under test: AssemblyInformationalVersion // -#light + open System open System.Reflection; diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/DispatchSlot_Equals01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/DispatchSlot_Equals01.fsx index 57ab1c1fcaf..09eec8ff143 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/DispatchSlot_Equals01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/DispatchSlot_Equals01.fsx @@ -2,7 +2,7 @@ // By default, Union types implement dispatch slot Equals // Also minimal test on the expected implementation. // -#light + [] type Kg diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/DispatchSlot_GetHashCode.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/DispatchSlot_GetHashCode.fsx index 4dcc261022f..f90203c2f8b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/DispatchSlot_GetHashCode.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/DispatchSlot_GetHashCode.fsx @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // By default, Union types implement dispatch slot Equals // Also minimal test on the expected implementation. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_Interface_IComparable.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_Interface_IComparable.fsx index 2ac79c0f87f..0b8b57b2d35 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_Interface_IComparable.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_Interface_IComparable.fsx @@ -2,7 +2,7 @@ // By default, record types implement IComparable -#light + [] type Kg diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_MutableFields01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_MutableFields01.fsx index 07a8366155e..e165d03bf8c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_MutableFields01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_MutableFields01.fsx @@ -4,7 +4,7 @@ // This is also regression test for FSHARP1.0:3733 -#light + [] type Kg diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_RecordsNotNull01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_RecordsNotNull01.fs index b494538ad6b..396aa164d85 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_RecordsNotNull01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_RecordsNotNull01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules #Records -#light + // Verify records cannot have null as a proper value diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_RecordsNotNull02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_RecordsNotNull02.fs index b37bd267b06..bc7b84fdee6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_RecordsNotNull02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_RecordsNotNull02.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Verify additional checks for validating that records cannot be null diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_Scoping01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_Scoping01.fsx index fc667065395..6431704df9d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_Scoping01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_Scoping01.fsx @@ -1,7 +1,7 @@ // #Regression #Conformance #TypesAndModules #Records // Field labels have module scope -#light + module M0 = type T1 = { a : int;} diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_UnitType01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_UnitType01.fsx index 4e1cc010f22..377770a40be 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_UnitType01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/E_UnitType01.fsx @@ -3,7 +3,7 @@ // Trying to initialize with null is illegal. // This is regression test for FSHARP1.0:1459 -#light + type T1 = { u : unit;} diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/FullyQualify01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/FullyQualify01.fs index 148e24c468a..1aee0464365 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/FullyQualify01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/FullyQualify01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Verify the ability to fully qualify record fields diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/ImplicitEquals01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/ImplicitEquals01.fs index 7db132eece3..76800d790bd 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/ImplicitEquals01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/ImplicitEquals01.fs @@ -2,7 +2,7 @@ // Implicitly implemented Equals should not throw // Regression test for FSHARP1.0:1633 // Records -#light + type R = { A : string } type S = { B : int } diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface01.fsx index 122a003546a..3c1ee397a9f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface01.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Records // Record type may implement interfaces // In this case, the interface with one member -#light + type I = interface abstract member M : int -> int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface_Empty.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface_Empty.fsx index 7023f659a23..22afa7ac900 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface_Empty.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface_Empty.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Records // Record type may implement interfaces // In this case, the interface has no member -#light + type I = interface end diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface_IComparable.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface_IComparable.fsx index ef5fad59e0a..496afd5a3b7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface_IComparable.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Interface_IComparable.fsx @@ -2,7 +2,7 @@ // By default, record types implement IComparable // -#light + [] type Kg diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/LongIdentifiers01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/LongIdentifiers01.fsx index 9475491eabb..eb602f86835 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/LongIdentifiers01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/LongIdentifiers01.fsx @@ -2,7 +2,7 @@ // This test is a bit of a kitchen-sink, but its main // purpose is to validate that we can use fully qualified field names // -#light + type ı = int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Member01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Member01.fsx index fc334d8dd62..98975a498f2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Member01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Member01.fsx @@ -2,7 +2,7 @@ // Record types may include members // Test both static and instance members // -#light + // Instance member type T1 = { A : int } diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/MutableFields01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/MutableFields01.fsx index 8a3909c4427..57839830dc2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/MutableFields01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/MutableFields01.fsx @@ -2,7 +2,7 @@ // Verify that record fields may be marked mutable // In this case, only one field is marked as mutable // -#light + [] type Kg diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/MutableFields_SampleFromSpec02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/MutableFields_SampleFromSpec02.fsx index 5fbde22c92c..93e249db01e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/MutableFields_SampleFromSpec02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/MutableFields_SampleFromSpec02.fsx @@ -2,7 +2,7 @@ // Sample found on the spec. // Section 9.2 (second code snippet) // -#light + type R2 = { mutable x : int; diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning01.fs index a44d8d7ccf8..d40aaaf7a5f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Verify the ability to clone records using a simplified syntax diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning02.fs index 942774355ca..7c62155e52d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning02.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Verify ability to clone records when they are returned from an arbitrary expression diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning03.fs index 39c3a9b72cb..f22f05c54e3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/RecordCloning03.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Verify ability to clone a record with mutable fields diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/SampleFromSpec01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/SampleFromSpec01.fsx index b790e798373..f3de4589aa9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/SampleFromSpec01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/SampleFromSpec01.fsx @@ -2,7 +2,7 @@ // Sample found on the spec. // Section 9.2 // -#light + type R1 = { x : int; diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/SampleFromSpec03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/SampleFromSpec03.fsx index 20d9b47275d..2c6d46ffe24 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/SampleFromSpec03.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/SampleFromSpec03.fsx @@ -2,7 +2,7 @@ // Sample found on the spec. // Section 9.2 (3rd code snippet) // -#light + type R = { dx : int; dy: int } let f x = x.dx // x is inferred to have type R diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Scoping03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Scoping03.fsx index 2021b93f07e..8e4a5bf7d97 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Scoping03.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Scoping03.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Records // Field labels have module scope // -#light + type T1 = { a : decimal } diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Scoping04.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Scoping04.fsx index 634e7f1a114..4741831fee4 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Scoping04.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Scoping04.fsx @@ -2,7 +2,7 @@ // Field labels have module scope // Also, in this case we see that there is no collision when the field and type have the same name // -#light + type ı = int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning01.fs index 55993f4d527..ae0d7f961cc 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Verify the ability to clone records using a simplified syntax diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning02.fs index 4540e7c9f69..b64ef13a099 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning02.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Verify ability to clone records when they are returned from an arbitrary expression diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning03.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning03.fs index 7f85512c604..a0b497cdda4 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning03.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/StructRecordCloning03.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Verify ability to clone a record with mutable fields diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Syntax01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Syntax01.fs index b6068c3531c..ff1804d300d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Syntax01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/Syntax01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Verify syntax associated with defining and creating records diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/TypeInference01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/TypeInference01.fs index a8d184798fc..16e6a800d1c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/TypeInference01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/TypeInference01.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Test type inference for records diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/TypeInference02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/TypeInference02.fs index e4d68c9be84..90611cff126 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/TypeInference02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/TypeInference02.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Records -#light + // Verify no errors for type inference with ambiguous types // and type annotations. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/UnitType01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/UnitType01.fsx index 2735d24b515..d18baa55680 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/UnitType01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/RecordTypes/UnitType01.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Records // Field has type 'unit' (which is kind of special) // -#light + type T1 = { u : unit;} diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/LogicalPropertiesOfTypes/TypeWithNullLiteral_NetRef.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/LogicalPropertiesOfTypes/TypeWithNullLiteral_NetRef.fsx index c7582a0689d..51eefc511c5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/LogicalPropertiesOfTypes/TypeWithNullLiteral_NetRef.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/LogicalPropertiesOfTypes/TypeWithNullLiteral_NetRef.fsx @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Type with the null literal diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/DispatchSlot_Equals01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/DispatchSlot_Equals01.fsx index 0542b2eb36f..2272fa871f8 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/DispatchSlot_Equals01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/DispatchSlot_Equals01.fsx @@ -2,7 +2,7 @@ // By default, Union types implement dispatch slot Equals // Also minimal test on the expected implementation. // -#light + type T1 = | A | B diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/DispatchSlot_GetHashCode.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/DispatchSlot_GetHashCode.fsx index ea543ecbf96..2389058c933 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/DispatchSlot_GetHashCode.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/DispatchSlot_GetHashCode.fsx @@ -2,7 +2,7 @@ // By default, Union types implement dispatch slot GetHashCode // We also minimally verify that the hash codes are different for this simple case // -#light + type T1 = | A | B diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase01.fsx index 6695a4f171f..69b74577cc5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase01.fsx @@ -4,7 +4,7 @@ -#light + type a = | ı of int // err: Case labels for union types must be uppercase identifiers | i of int // err: Case labels for union types must be uppercase identifiers diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase02.fsx index a82eddbb0b1..4d6786b391f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase02.fsx @@ -3,6 +3,6 @@ // Discriminated union cases names must begin with an uppercase letter // This means it cannot start with a digit -#light + type a = | 1 of int // err: can't use diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase03.fsx index 0c6c364a344..00bd7757389 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase03.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase03.fsx @@ -3,7 +3,7 @@ // Discriminated union cases names must begin with an uppercase letter // This means it cannot start with a string -#light + type T = | (* *) A // ok | "A" // err diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase04.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase04.fsx index 9fa2ce90e02..402f2cc17f9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase04.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercase04.fsx @@ -3,7 +3,7 @@ // Discriminated union cases names must begin with an uppercase letter // This means it cannot start with a string -#light + type T = | (* *) A | ``null diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercaseNoPipe01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercaseNoPipe01.fsx index 077163a9b23..df879cc7111 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercaseNoPipe01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_BeginWithUppercaseNoPipe01.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3741 -#light + module ``*`` = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_DuplicateUnionCase01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_DuplicateUnionCase01.fsx index af62efdda11..f6e1ece96b1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_DuplicateUnionCase01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_DuplicateUnionCase01.fsx @@ -1,3 +1,3 @@ // #Conformance #TypesAndModules #Unions -#light + diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_Interface_IComparable.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_Interface_IComparable.fsx index e59aa78f745..835a945316f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_Interface_IComparable.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_Interface_IComparable.fsx @@ -3,7 +3,7 @@ // Q: Is this a bug? I've reported it to fscore for now. -#light + type I = A | B diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_LowercaseDT.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_LowercaseDT.fs index 3fc3baf3c3b..7d8fdc317a2 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_LowercaseDT.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_LowercaseDT.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules #Unions -#light + // FS1: 325, Case sensitivity reported by Eugene diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_Member_Duplicate01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_Member_Duplicate01.fsx index 9293d1567eb..cdc4cffa47e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_Member_Duplicate01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_Member_Duplicate01.fsx @@ -3,7 +3,7 @@ // Verify that duplicate methods are not allowed -#light + type T = | C of int * int | D of (int * int) member x.IsC(a) = match a with diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_SampleFromSpec01d.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_SampleFromSpec01d.fsx index 5713c3110df..a344dac3bda 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_SampleFromSpec01d.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_SampleFromSpec01d.fsx @@ -5,7 +5,7 @@ // type-defn-elements vertically aligns with the first ‘|’ in the union-cases // Regression test for FSHARP1.0:3707 -#light + (* extra space *) type Message = | Result of string diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_SampleFromSpec01d2.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_SampleFromSpec01d2.fsx index 5b1efa6cc97..cd4cfddcda0 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_SampleFromSpec01d2.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_SampleFromSpec01d2.fsx @@ -5,7 +5,7 @@ // type-defn-elements vertically aligns with the first ‘|’ in the union-cases // Regression test for FSHARP1.0:3707 -#light + type Message = | Result of string diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_ScopeAndDataConstrAndPattern01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_ScopeAndDataConstrAndPattern01.fsx index 7a26af5b406..6ebf4a1d8d7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_ScopeAndDataConstrAndPattern01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_ScopeAndDataConstrAndPattern01.fsx @@ -5,7 +5,7 @@ // and to form patterns. // This is the positive case. -#light + [] type ı diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_UnionsNotNull01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_UnionsNotNull01.fs index dff134951b0..7fa963fbebd 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_UnionsNotNull01.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/E_UnionsNotNull01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypesAndModules #Unions -#light + // Verify that null is not a proper value for a Discriminated Union diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/ImplicitEquals001.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/ImplicitEquals001.fs index 15f5a49a2e1..7c5c03200f1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/ImplicitEquals001.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/ImplicitEquals001.fs @@ -2,7 +2,7 @@ // Implicitly implemented Equals should not throw // Regression test for FSHARP1.0:1633 // Unions -#light + type M = | A of string diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Interface01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Interface01.fsx index f058bffd947..3bc89c40729 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Interface01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Interface01.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Unions // DU may include implement interfaces // -#light + type I = interface abstract member S : unit -> bool diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Interface_IComparable.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Interface_IComparable.fsx index 387f459e71f..7156aa17d6c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Interface_IComparable.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Interface_IComparable.fsx @@ -2,7 +2,7 @@ // By default, Union types implement IComparable // -#light + type I = | A | B diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Member01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Member01.fsx index 5b190e8f61a..3db2c1e340c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Member01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Member01.fsx @@ -2,7 +2,7 @@ // DU may include members // Test both static and instance members // -#light + // Instance member type T1 = | C of int * int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Parenthesis01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Parenthesis01.fsx index 0c837580080..623c1831deb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Parenthesis01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Parenthesis01.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Unions // Parentheses are significant in DU definitions // -#light + type T = | C of int * int | D of (int * int) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Recursive01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Recursive01.fsx index f055dd6c019..f64fa6afc6a 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Recursive01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/Recursive01.fsx @@ -3,7 +3,7 @@ // Note: don't try to make much sense of this code. // It's a rather (intentionally) convoluted code. // -#light + type E = | Sum of E * E | Mul of E * E diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01.fsx index 3f61c7ead91..ef98a900ee5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01.fsx @@ -1,7 +1,7 @@ // #Conformance #TypesAndModules #Unions // Union Types // Sample from spec -#light + type Message = | Result of string diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01b.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01b.fsx deleted file mode 100644 index 7bcfcdba804..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01b.fsx +++ /dev/null @@ -1,17 +0,0 @@ -// #Conformance #TypesAndModules #Unions -// Union Types -// Sample from spec - using #light "off" -// -#light "off" - -(* extra space *) type Message = -| Result of string - | Request of int * string - with -member x.Name = match x with Result(nm) -> nm | Request(_,nm) -> nm - end - -let p = Result("Result");; -let q = Request(0,"Request");; - -if p.Name = "Result" && q.Name = "Request" then 0 else failwith "Failed: 1" diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01d.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01d.fsx index e898c568c1a..ac2820116f8 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01d.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/SampleFromSpec01d.fsx @@ -5,7 +5,7 @@ // type-defn-elements vertically aligns with the first ‘|’ in the union-cases // Regression test for FSHARP1.0:3707 // -#light + (* extra space *) type Message = | Result of string diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/ScopeAndDataConstrAndPattern01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/ScopeAndDataConstrAndPattern01.fsx index 0917601943b..e51db433e36 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/ScopeAndDataConstrAndPattern01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/ScopeAndDataConstrAndPattern01.fsx @@ -5,7 +5,7 @@ // and to form patterns. // This is the positive case. // -#light + [] type ı diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionCaseProduction01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionCaseProduction01.fsx index af214bf2b49..6fca9cc63c8 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionCaseProduction01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionCaseProduction01.fsx @@ -5,7 +5,7 @@ // | id of type * ... * type -- n-ary union case // | id : sig-spec -- n-ary union case // -#light + type T = | A | B of int diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionCasesProduction01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionCasesProduction01.fsx index e2150095cef..29da33c827e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionCasesProduction01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionCasesProduction01.fsx @@ -2,7 +2,7 @@ // Union Types // union-cases := [ ‘|’ ] union-case ‘|’ ... ‘|’ union-case // -#light + // With missing | type MissingPipe = A diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionTypes.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionTypes.fs index 02b10b52b28..a59b1c765c3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionTypes.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionTypes.fs @@ -517,16 +517,6 @@ module UnionTypes = |> verifyCompileAndRun |> shouldSucceed - //SOURCE=SampleFromSpec01b.fsx SCFLAGS= # SampleFromSpec01b.fsx - [] - let ``SampleFromSpec01b_fsx`` compilation = - compilation - |> getCompilation - |> withOcamlCompat - |> withLangVersion50 - |> verifyCompileAndRun - |> shouldSucceed - //SOURCE=SampleFromSpec01d.fsx SCFLAGS= # SampleFromSpec01d.fsx [] let ``SampleFromSpec01d_fsx`` compilation = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionsNotNull02.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionsNotNull02.fs index eaec08df48b..890b3361fb6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionsNotNull02.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/UnionsNotNull02.fs @@ -1,5 +1,5 @@ // #Conformance #TypesAndModules #Unions -#light + // Verify additional checks when using a dynamic type cast to ensure // Discriminated Unions cannot be null diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/W_SampleFromSpec01c.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/W_SampleFromSpec01c.fsx index c1647f8094b..b87b665f602 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/W_SampleFromSpec01c.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/W_SampleFromSpec01c.fsx @@ -3,7 +3,7 @@ // Sample from spec - using #light (but with incorrect indentation) // Q: Why this warning is emitted twice? -#light + (* extra space *) type Message = | Result of string diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/W_UnionCaseProduction01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/W_UnionCaseProduction01.fsx index 1d5e1e948fa..2b943c30eac 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/W_UnionCaseProduction01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/UnionTypes/W_UnionCaseProduction01.fsx @@ -6,6 +6,6 @@ // | id : sig-spec -- n-ary union case -#light + type T = | D : int -> T diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Calculus.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Calculus.fsx index cd91c9f2d2b..a20a0d3eeee 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Calculus.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Calculus.fsx @@ -1,5 +1,5 @@ // #Conformance #UnitsOfMeasure -#light + let diff (h:float<_>) (f :_ -> float<_>) = fun x -> (f (x+h) - f (x-h)) / (2.0*h) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/DynamicTypeTest.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/DynamicTypeTest.fsx index 17b3375561f..05e8ea4533f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/DynamicTypeTest.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/DynamicTypeTest.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #UnitsOfMeasure -#light + // Bug 3688 - This was crashing the compiler before. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/E_MassForce.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/E_MassForce.fsx index 894e3e07487..8467495e367 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/E_MassForce.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/E_MassForce.fsx @@ -1,7 +1,7 @@ // #Regression #Conformance #UnitsOfMeasure //The unit of measure 'N' does not match the unit of measure 'kg' //The unit of measure 'N' does not match the unit of measure 'kg' -#light + [] type kg [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Mars.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Mars.fsx index 02ec861d4d9..a4c1298ca56 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Mars.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Mars.fsx @@ -1,5 +1,5 @@ // #Conformance #UnitsOfMeasure -#light + [] type ft [] type lbf diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/MassForce.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/MassForce.fsx index 927c8e7eaf8..eb55d6b375d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/MassForce.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/MassForce.fsx @@ -1,5 +1,5 @@ // #Conformance #UnitsOfMeasure -#light + [] type kg [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc01.fsx index a48edb12d9d..5ace36a6fda 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc01.fsx @@ -1,6 +1,6 @@ // #Regression #Conformance #UnitsOfMeasure // Regression test for FSHARP1.0:2869 -#light + // Polymorphic recursion let rec prodlists<[] 'u,[] 'v>(xs:float<'u> list,ys:float<'v> list) : float<'u 'v> list = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc02.fsx index 79b036bef91..4c3e77ca628 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc02.fsx @@ -1,5 +1,5 @@ // #Conformance #UnitsOfMeasure -#light + [] type kg let mass = 2.0 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc04.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc04.fsx index 612a56f79b9..3f2066b5a8f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc04.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Misc04.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #UnitsOfMeasure -#light + // Regression for FSB 3472, apply the type equations float<1> = float, float32<1> = float, decimal<1> = decimal when computing all predicates on types diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/OnDecimals01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/OnDecimals01.fsx index 27e177cf1fc..b74d7f8d5fe 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/OnDecimals01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/OnDecimals01.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #UnitsOfMeasure -#light + // Regression for FSB 3432, Arithmetic operations appear not to work on decimals with units of measure. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Quotation04_hidden.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Quotation04_hidden.fsx index c9e7c62fd7f..b6061f04d38 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Quotation04_hidden.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Quotation04_hidden.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3248 // Verify we can use Units of Measure in a quotation // All these functions have hidden unit of measure variables -#light + let _ = <@ sqrt 1.0 @> let _ = <@ atan2 1.0 2.0 @> diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/SI.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/SI.fsx index 582f849d974..eba0420e3d5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/SI.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/SI.fsx @@ -1,5 +1,5 @@ // #Conformance #UnitsOfMeasure -#light + [] type kg // kilogram [] type m // metre diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Stats.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Stats.fsx index 8bdb04c9dc1..88839e243fd 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Stats.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Basic/Stats.fsx @@ -1,5 +1,5 @@ // #Conformance #UnitsOfMeasure -#light + let rec sum xs = match xs with [] -> 0.0<_> | (x::xs) -> x + sum xs diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/infinity_01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/infinity_01.fsx index 5bd9be3e774..2337b35a5f8 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/infinity_01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/infinity_01.fsx @@ -5,7 +5,7 @@ //Unexpected type arguments //Unexpected type arguments //Unexpected type arguments -#light + [] type kg diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/nan_01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/nan_01.fsx index 3272b6ad107..c8b559baf43 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/nan_01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Bounds/nan_01.fsx @@ -2,6 +2,6 @@ // Regression tests for FSHARP1.0:2343 // Units: ICE when trying to use Units on NaN and Infinity //Unexpected type arguments -#light + [] type kg let mysterymass = nan diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType01.fsx index 94fcc8917c5..8ca32075ef7 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType01.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3457 // Units in prefix form should be banned //Units-of-measure cannot be used as prefix arguments to a type\. Rewrite as postfix arguments in angle brackets -#light + [] type m let f0(x : float<(0x1 ^ - 0x1)>) = 1 // OK diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType02.fsx index 47e724a2736..a278b4d927f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType02.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3457 // Units in prefix form should be banned //Units-of-measure cannot be used as prefix arguments to a type\. Rewrite as postfix arguments in angle brackets -#light + [] type m let f0(x : float) = 1 // OK diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType03.fsx index dd38c6153e9..181a60dfd2c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType03.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType03.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3457 // Units in prefix form should be banned //Units-of-measure cannot be used as prefix arguments to a type\. Rewrite as postfix arguments in angle brackets -#light + [] type m let f0(x : float) = 1 // OK diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType04.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType04.fsx index b7723c19301..8cf805f4c49 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType04.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_CantBeUsedAsPrefixArgToAType04.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3457 // Units in prefix form should be banned //Units-of-measure cannot be used as prefix arguments to a type\. Rewrite as postfix arguments in angle brackets -#light + [] type m let f0(x : float) = 1 // OK diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExpectedTypeNotUnitOfMeasure01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExpectedTypeNotUnitOfMeasure01.fsx index 837c0d1fbd3..9562cfee6e8 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExpectedTypeNotUnitOfMeasure01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExpectedTypeNotUnitOfMeasure01.fsx @@ -4,7 +4,7 @@ //Expected type, not unit-of-measure //Expected type, not unit-of-measure //Expected type, not unit-of-measure -#light + [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters01.fsx index 558bbe8efd2..bd6e01918fa 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters01.fsx @@ -2,5 +2,5 @@ // Regression test for FSHARP1.0:2920 // missing attribute on type args - on function argument //Expected unit-of-measure parameter, not type parameter\. Explicit unit-of-measure parameters must be marked with the \[\] attribute -#light + let f_2920<(*[]*)'a>(x:decimal<'a>) = x diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters02.fsx index e30a7d2aa54..dd008ed734b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters02.fsx @@ -2,5 +2,5 @@ // Regression test for FSHARP1.0:2920 // missing attribute on type args - on return value //Expected unit-of-measure parameter, not type parameter\. Explicit unit-of-measure parameters must be marked with the \[\] attribute -#light + let g_2920<(*[]*)'a> () : (decimal<'a>) = 1.0<_> diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters03.fsx index d1e413e9609..9fed7826a2f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters03.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters03.fsx @@ -2,5 +2,5 @@ // Regression test for FSHARP1.0:2920 // missing attribute on type args - on record type //Expected unit-of-measure parameter, not type parameter\. Explicit unit-of-measure parameters must be marked with the \[\] attribute -#light + type T_2920<'a> = { x : float32<'a> } diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters04.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters04.fsx index c07ab89e861..375edebdeea 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters04.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ExplicitUnitOfMeasureParameters04.fsx @@ -2,5 +2,5 @@ // Regression test for FSHARP1.0:2920 // missing attribute on type args - type abbreviation //Expected unit-of-measure parameter, not type parameter\. Explicit unit-of-measure parameters must be marked with the \[\] attribute -#light + type Q_2920<'a> = float32<'a> diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ParsingRationalExponents.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ParsingRationalExponents.fsx index 95fdf4c6c15..260ed78acb3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ParsingRationalExponents.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ParsingRationalExponents.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #UnitsOfMeasure #Diagnostics #RatExp -#light + //Unexpected integer literal in unit-of-measure expression //Unexpected symbol '\)' in binding\. Expected integer literal or other token //Unexpected infix operator in binding\. Expected integer literal, '-' or other token diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_UnexpectedTypeParameter01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_UnexpectedTypeParameter01.fsx index 18d1bcb88e0..55b7b766398 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_UnexpectedTypeParameter01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_UnexpectedTypeParameter01.fsx @@ -3,7 +3,7 @@ //Non-zero constants cannot have generic units\. For generic zero, write 0\.0<_> //Non-zero constants cannot have generic units\. For generic zero, write 0\.0<_> //Non-zero constants cannot have generic units\. For generic zero, write 0\.0<_> -#light + let p1 = -2.0<'a> let p2 = -2.0m<'b > let p3 = -2.0f<'c > diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ZeroDenominator.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ZeroDenominator.fsx index 1caa21641bb..c9a9db97a26 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ZeroDenominator.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Diagnostics/E_ZeroDenominator.fsx @@ -1,7 +1,7 @@ // #Regression #Conformance #UnitsOfMeasure #Diagnostics #RatExp //Denominator must not be 0 in unit-of-measure exponent //Denominator must not be 0 in unit-of-measure exponent -#light + [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error02.fsx index 4cccc9f0efb..76e4e612f77 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error02.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2662, 2746 // Make sure we can use ( and ) in Units of Measure //Unexpected integer literal in unit-of-measure expression -#light + [] type Kg [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error03.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error03.fsx index 0f5c3584f47..eb73092695c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error03.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error03.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2662 // Make sure we can use ( and ) in Units of Measure //Unexpected symbol '\)' in binding -#light + [] type Kg [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error04.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error04.fsx index 409d91ec45a..9c841999fa1 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error04.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error04.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2662 // Make sure we can use ( and ) in Units of Measure //Unexpected symbol '_' in binding -#light + [] type Kg [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error05.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error05.fsx index c593afac80b..8aa4c08bd84 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error05.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error05.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2662 // Make sure we can use ( and ) in Units of Measure //Unexpected symbol '\)' in binding -#light + [] type Kg [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error06.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error06.fsx index ab6e735ebc0..625902ba200 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error06.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/E_Error06.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2662,2746 // Make sure we can use ( and ) in Units of Measure //Unexpected integer literal in unit-of-measure expression -#light + [] type Kg [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/W_ImplicitProduct01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/W_ImplicitProduct01.fsx index 1786084a83b..0268dff66d3 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/W_ImplicitProduct01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parenthesis/W_ImplicitProduct01.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2662,2745 // Make sure we can use ( and ) in Units of Measure //Implicit product of measures following / -#light + [] type m [] type s diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/E_Nesting01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/E_Nesting01.fsx index f01599bace5..69720bb543e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/E_Nesting01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/E_Nesting01.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #UnitsOfMeasure -#light + // Regression test for FSHARP1.0:3456 - Unsupported syntax for units is not reported as an error //Anonymous unit-of-measure cannot be nested inside another unit-of-measure expression diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fsx index 5076c1e243c..746d677abee 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/GreaterBarRBrack01.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2791 // Make sure we can parse arrays of dimensioned numbers without needing a space between > and |] // -#light + [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/PowerSynonym.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/PowerSynonym.fsx index cf591b5fce4..37956b6ca0d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/PowerSynonym.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/PowerSynonym.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:4125 // Units of measure: implicit product + powers in measure type synonyms -#light + [] type s [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fsx index fe3aecf7e94..79d6ba49297 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/QuotientAssoc.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:4124 - Units of measure: division should be left-associative in both types and constants // Regression test for FSHARP1.0:4188 - Type parameters for units of measure parsed inconsistently. -#light + [] type s [] type m diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fsx index dd28ee65b7f..1aa1531bff6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/Parsing/Reciprocal01.fsx @@ -5,7 +5,7 @@ // Regression test for FSHARP1.0:4195 // Reciprocals parsed incorrectly for Measure definitions. -#light + open System [] type s // [] type s diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_decimal_01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_decimal_01.fsx index b6231bdc933..c52dcf2046c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_decimal_01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_decimal_01.fsx @@ -2,7 +2,7 @@ // Regression tests for FSHARP1.0:3427 and 3423 // // -#light + module WithDecimal = [] type A diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float32_01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float32_01.fsx index cf52976f431..100bc0dd072 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float32_01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float32_01.fsx @@ -2,7 +2,7 @@ // Regression tests for FSHARP1.0:3427 and 3423 // // -#light + module WithFloat32 = [] type A diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float_01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float_01.fsx index 5075586b4d2..7c61bbeacfb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float_01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeAbbreviation_float_01.fsx @@ -3,7 +3,7 @@ // // -#light + module WithFloat = [] type A diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint02.fsx index b2ea9bfce15..ac988f1f0b9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/TypeConstraint02.fsx @@ -1,7 +1,7 @@ // #Regression #Conformance #UnitsOfMeasure #TypeInference #TypeConstraints // FSB 3458: units ought to satisfy struct constraint -#light + [] type m let f<'a,'b when 'a : struct>() = 1 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric02.fsx index 55fe6960ad4..2f652e84c12 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/TypeChecker/W_LessGeneric02.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #UnitsOfMeasure #TypeInference #TypeConstraints -#light + // Regression test for FSharp1.0:4036 - acos should force its argument to be dimensionless (also asin etc.) //This code is less generic than indicated by its annotations\. A unit-of-measure specified using '_' has been determined to be '1', i\.e\. dimensionless diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_NoConstructorOnMeasure01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_NoConstructorOnMeasure01.fsx index 9149a410877..3eaa9209799 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_NoConstructorOnMeasure01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/E_NoConstructorOnMeasure01.fsx @@ -2,7 +2,7 @@ // Regression test for FSharp1.0:3280 - Constructors should be rejected in [] types //Measure declarations may have only static members: constructors are not available -#light + [] type kg = new () = kg() diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/GenericUOM01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/GenericUOM01.fsx index 30fe2cd9c98..d7b0b9e381f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/GenericUOM01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/GenericUOM01.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #UnitsOfMeasure #ObjectOrientedTypes -#light + // Regression for FSB-3572 // false error 'Expected type, not a unit-of-measure' when it in fact is. diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/InInterface01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/InInterface01.fsx index 42b23b9e271..de2fe333d17 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/InInterface01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/InInterface01.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #UnitsOfMeasure #ObjectOrientedTypes -#light + // Regression for FSB-3570 // ICE when type parameters and units-of-measure are mixed in the same hierarchy diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/Polymorphism02.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/Polymorphism02.fsx index 8161b0560f7..39671b4087d 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/Polymorphism02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/Polymorphism02.fsx @@ -3,7 +3,7 @@ // ICE in Units of Measure + Polymorphism // -#light + module Test type Unit<[] 'a >() = abstract Factor : unit -> float diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/StaticsOnMeasure01.fsx b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/StaticsOnMeasure01.fsx index 58047848f92..521c8b017be 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/StaticsOnMeasure01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/UnitsOfMeasure/WithOOP/StaticsOnMeasure01.fsx @@ -1,5 +1,5 @@ // #Conformance #UnitsOfMeasure #ObjectOrientedTypes -#light + // Test adding static methods and properties to Measure types. diff --git a/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/PrimitiveConstraints.fs b/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/PrimitiveConstraints.fs index 21db1da0ab6..f287510a8e6 100644 --- a/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/PrimitiveConstraints.fs +++ b/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/PrimitiveConstraints.fs @@ -23,7 +23,6 @@ module PrimitiveConstraints = [] let ``Test primitive : constraints``() = FSharp""" -#light type Foo(x : int) = member this.Value = x @@ -49,7 +48,6 @@ else () [] let ``Test primitive :> constraints``() = FSharp""" -#light type Foo(x : int) = member this.Value = x override this.ToString() = "Foo" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison01.fs index 0cd545475c7..72838b27681 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison01.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let f1 (x:int) (y:int) = (x <= y) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison02.fs index c5a07c93052..07d339dced4 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison02.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison02.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let f2 (x:int) (y:int) = (x >= y) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison03.fs index fdac1a70375..015ba4bcdf4 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison03.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison03.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let f3 (x:int) (y:int) = (x < y) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison04.fs index 7a9bf40ed96..63142c6ad98 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison04.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison04.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let f4 (x:int) (y:int) = (x > y) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison05.fs index cf79f7d4773..05a98b72262 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison05.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/InequalityComparison/InequalityComparison05.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let f5 (x:int) (y:int) (z:'a) (w:'a) = if (x > y) then z else w diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs index b6b5621372f..7fcadda4ede 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs @@ -29,7 +29,7 @@ -#light + module M type C = diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs index 1620ecef597..d7285d7884d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs @@ -1,6 +1,6 @@ // #Regression #NoMono #NoMT #CodeGen #EmittedIL // Regression test for FSHARP1.0:3083 // Implementation of decimal constants -#light + let _ = 1.2M diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs index d9dfb9ac86f..859e9411782 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2644 (a module may start with an expression) // Verify that we can compile a module with an expression in it // -#light + module M = printfn "hello" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs index bf3cad05bb8..46a9e78e895 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let q = Seq.forall (fun s -> if not true then () diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/AttributesOnLet01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/AttributesOnLet01.fs index 43aa03eee5d..b0f59225138 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/AttributesOnLet01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/AttributesOnLet01.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + // Verify the ability to put attributes on let-bindings module AttributesOnLet01 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/AttributesOnLet02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/AttributesOnLet02.fs index aa5005d063f..6cdc374522e 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/AttributesOnLet02.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/AttributesOnLet02.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + // Verify the ability to put attributes on let-bindings // - When declaring multiple values at once, attr is applied to all diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/ClassArity01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/ClassArity01.fs index 93e9568b254..0da27610b4d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/ClassArity01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/ClassArity01.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + // Verify the generation of class function arity diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/CodeGenHelper.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/CodeGenHelper.fs index 0c493f05c99..5f930996010 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/CodeGenHelper.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/CodeGenHelper.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + module CodeGenHelper diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Delegates01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Delegates01.fs index b51ea2e13fb..e2501f23db6 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Delegates01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Delegates01.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + // Verify delegates are generated correctly diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Events01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Events01.fs index 6f6080dcf15..82704ed2a28 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Events01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Events01.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + // Verify delegates are generated correctly diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Events02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Events02.fs index db407b58eca..028a2610d2d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Events02.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Events02.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + // Verify events can be added to interfaces diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FunctionArity01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FunctionArity01.fs index d9b68c271bb..532d4374e38 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FunctionArity01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FunctionArity01.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + // Verify that suples are dropped when parameters to a function // So x (y, z) / (x, y) z / (x, y, z) all produce a function taking three diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/ObjectExpressions01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/ObjectExpressions01.fs index f7807f68c7a..dc742a1cdfd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/ObjectExpressions01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/ObjectExpressions01.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + open System diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature01.fs index bde783887b1..730abcdb54c 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:4040 // "Signature files do not prevent compiler-generated public constructors from leaking out of discriminated unions" // Note that the corresponding .fsi file is missing the "| C of int" part of the DU -#light + namespace N diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature01.fsi b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature01.fsi index 3522b5fe173..9758d415ed5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature01.fsi +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature01.fsi @@ -3,7 +3,7 @@ // "Signature files do not prevent compiler-generated public constructors from leaking out of discriminated unions" // Note that in this case the .fsi is missing the "| C of int" -#light + namespace N type T \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature02.fsi b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature02.fsi index 11c64ef8709..1fe19e811e2 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature02.fsi +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnionTypeWithSignature02.fsi @@ -3,7 +3,7 @@ // "Signature files do not prevent compiler-generated public constructors from leaking out of discriminated unions" // Note that in this case the .fsi is NOT missing the "| C of int" -#light + module N type T = | C of int diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure01.fs index 8a519454d87..66ac48c1ddd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure01.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + // Verify units of measure are dropped and types are just their // underlying primitive values. diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure02.fs index 8a435bd88a5..3f316e67842 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure02.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure02.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + // Verify units of measure are dropped and types are just their // underlying primitive values when used in functions. diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure03.fs index 494e8a9a109..e61ed12587e 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure03.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/UnitsOfMeasure03.fs @@ -1,5 +1,5 @@ // #NoMT #CodeGen #Interop -#light + // Verify types which are generic WRT a unit of measure are exposed as // standard .NET types (no funny business!) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction01.fs index 5ca8603d910..83b95814de2 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction01.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction1() = printfn "Hello"; diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction02.fs index 5e243555924..21d39e65078 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction02.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction02.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction1() = printfn "Hello"; diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03.fs index 8523e4af661..921bcd19eee 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction1() = printfn "Hello"; diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03b.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03b.fs index 718fcad9f2e..f80b0f84907 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03b.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03b.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction1() = printfn "Hello"; diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03c.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03c.fs index 6ac75909fd4..fa56dcaab0c 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03c.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction03c.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction1() = printfn "Hello"; diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction04.fs index 8dd2053fc92..7788c2a5df9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction04.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction04.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction1() = printfn "Hello"; diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction05.fs index 1381ac748bf..1823c5e8d9a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction05.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction05.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction1() = printfn "Hello"; diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction06.fs index c4d2e3c30d0..047acc75431 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction06.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction06.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction1() = printfn "Hello"; diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction07.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction07.fs index f926ade1046..bdf3672bbee 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction07.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction07.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction7() = let mutable r = 0 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction08.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction08.fs index 6a8cbe53af2..0085886d188 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction08.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction08.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction8(x) = if x > 3 then diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09.fs index ec0cec8af86..dd88832914b 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction9(x) = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b.fs index 5231635ca80..49a2e6c0395 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction9b(x) = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b1.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b1.fs index 5231635ca80..49a2e6c0395 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b1.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b1.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction9b(x) = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b2.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b2.fs index 5231635ca80..49a2e6c0395 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b2.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b2.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction9b(x) = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b3.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b3.fs index 5231635ca80..49a2e6c0395 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b3.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b3.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction9b(x) = match x with diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4.fs index e2cd598647c..5ed53b701ac 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2484 // Note: we might see changes related to another bug // related to spans -#light + [] let Null = null diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction10.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction10.fs index cb666295e3c..57513d2f178 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction10.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction10.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction10(p) = let (x,y) = p diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction11.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction11.fs index 9f60e6db6f8..03936ffa245 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction11.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction11.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction11(p) = [p; p + p; p + p + p ] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction12.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction12.fs index 0b7471233b2..c8bba75231d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction12.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction12.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction12(p) = { contents = p+p } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction13.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction13.fs index a13c4c2fd61..4c1be2c9eba 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction13.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction13.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction13(x) = [x;x+x], [] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction14.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction14.fs index 13bc70b2e41..a7ae5776658 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction14.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction14.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction14() = List.map (fun f -> f 2) [(fun x -> x + 1)] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction15.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction15.fs index 6bd0bdae601..060f3bcecea 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction15.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction15.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction15(inp) = let x = inp+1 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction16.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction16.fs index 7e8d84a8ab3..1e7c0d67329 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction16.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction16.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + type U = U of int * int diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction17.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction17.fs index 0527a295ed3..ce20edfc98a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction17.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction17.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + type R = { x:int; y:int } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction18.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction18.fs index cbf582c89db..21c813d1325 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction18.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction18.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let TestFunction18(inp) = System.Console.WriteLine("hello") diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction19.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction19.fs index ab43011cd1d..fd1650a7b8b 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction19.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction19.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + type C(x:int,y:int) = member this.X = x diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction20.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction20.fs index 116218435b2..7f27004ab11 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction20.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction20.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + type D(x:int,y:int) = let z = x + y diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction21.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction21.fs index 5f11c8459b5..2733acd9b91 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction21.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction21.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + type U = U of int * int diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22.fs index 0a15c1e7f3e..f864ba4dc81 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b.fs index b0bb870e52c..c361c136484 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let _ = System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c.fs index 107a0547a4c..0025d5de529 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let () = System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d.fs index 9e9cf22b6dd..03bf3da37a9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + do System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e.fs index ef4a3242125..2f3b34a2f2e 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e.fs @@ -1,4 +1,4 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + while true do System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f.fs index 6fd7e43ade2..ce26726b8d7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + match "A" with | "A" -> System.Console.WriteLine() | _ -> System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g.fs index 4a90531ba66..c993592e40f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + if true then System.Console.WriteLine() else System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h.fs index 5281549e50e..a14f63c0b41 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h.fs @@ -1,5 +1,5 @@ // #NoMono #NoMT #CodeGen #EmittedIL -#light + let test1() = try System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple01.fs index a4a757adf72..d63f86e5f57 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple01.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple01.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL #Tuples -#light + let _ = 1 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs index 45b888adebd..1d758ebc791 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL #Tuples -#light + let _ = 1,2 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs index 089bfaf6aba..1118dfe5028 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL #Tuples -#light + let _ = 1,2,3 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs index e41ebaddecf..6a221dd9fb5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL #Tuples -#light + let _ = 1,2,3,4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs index bf1f24c4027..1793b576f84 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL #Tuples -#light + let _ = 1,2,3,4,5 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple06.fs index b4bebd1f438..07984ffb364 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple06.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple06.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL #Tuples -#light + let _ = 1,2,3,4,5,6 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs index 9ae67768f1f..c8ae0d84ac7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL #Tuples -#light + let _ = 1,2,3,4,5,6,7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs index c06a17dd228..44b0db06038 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL #Tuples -#light + let _ = 1,2,3,4,5,6,7,8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs index 9193f7cf054..0a82a63e403 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs @@ -1,3 +1,3 @@ // #NoMono #NoMT #CodeGen #EmittedIL #Tuples -#light + let _ = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index 8f5ace7aade..f1ed0d64bda 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -325,7 +325,6 @@ - diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/Arabic.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/Arabic.fs index 5f2e4498b74..2ba71ccfc45 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/Arabic.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/Arabic.fs @@ -1,5 +1,5 @@ // #Globalization -#light + module المطبّقة type إجراء = diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/Hindi.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/Hindi.fs index 63a33edbdd7..f03a2c0a484 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/Hindi.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/Hindi.fs @@ -1,5 +1,5 @@ // #Globalization -#light + namespace हताहत diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/Mongolian.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/Mongolian.fs index 0ce8712c73d..fa524ab743b 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/Mongolian.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/Mongolian.fs @@ -1,5 +1,5 @@ // #Globalization -#light + module ᠠᠡᠢᠣᠤᠥᠦᠧᠨᠩ type ᡦᡧᡨᡩᡪᡫᡬᡭᡮᡯ = diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/RightToLeft.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/RightToLeft.fs index 5dbe70e2337..7c535ea79e6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/RightToLeft.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/RightToLeft.fs @@ -1,5 +1,5 @@ // #Globalization -#light + // Here's some right-to-left text in a comment... // ؤإئابةتثجحخدذرزسشصضطظع diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/Surrogates.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/Surrogates.fs index 7b581ff1bcc..0c37a1d1251 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/Surrogates.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/Surrogates.fs @@ -1,5 +1,5 @@ // #Globalization -#light + // Surrogates: in comments diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/Tamil.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/Tamil.fs index de303816fe6..1771fd0e927 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/Tamil.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/Tamil.fs @@ -1,5 +1,5 @@ // #Globalization -#light + // Note that the first two characters in the string below are not accepted by F# // (Or C#, for that matter...) diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/Tibetan.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/Tibetan.fs index 027c0b8161a..64b6502ab32 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/Tibetan.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/Tibetan.fs @@ -1,5 +1,5 @@ // #Globalization -#light + module ꃙꃚꃛꃜꃝꃞꃟꃠꃡꃢ type Foo = diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/TurkishI.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/TurkishI.fs index f49e0f8f1dc..4e91b3d2901 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/TurkishI.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/TurkishI.fs @@ -1,5 +1,5 @@ // #Globalization -#light + let İIıi = "İIıi" let İIıi2 = """İIıi2""" diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/Uighur.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/Uighur.fs index 6af746f5e6d..ad54864d211 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/Uighur.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/Uighur.fs @@ -1,5 +1,5 @@ // #Globalization -#light + module بةتثجحخدذر type Foo = diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/Yi.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/Yi.fs index 0b36dc5019f..ad840f8f177 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/Yi.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/Yi.fs @@ -1,5 +1,5 @@ // #Globalization -#light + module ꁫꁬꁭꁮ type Foo = diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/gb18030.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/gb18030.fs index f544f202825..36c430a61cc 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/gb18030.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/gb18030.fs @@ -1,5 +1,5 @@ // #Globalization -#light + // need to do the bare minimum to test this printfn "This file is encoded as GB18030. See - ��Ҏ" diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/utf16.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/utf16.fs index 1de54e36bc3..d15c468a831 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/utf16.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/utf16.fs @@ -1,5 +1,5 @@ // #Globalization -#light + // need to do the bare minimum to test this printfn "This file is encoded as UTF-16. See - 日本語常用漢字ヂ額 表 " diff --git a/tests/FSharp.Compiler.ComponentTests/Globalization/utf8.fs b/tests/FSharp.Compiler.ComponentTests/Globalization/utf8.fs index cef32906904..54e0daa7dfb 100644 --- a/tests/FSharp.Compiler.ComponentTests/Globalization/utf8.fs +++ b/tests/FSharp.Compiler.ComponentTests/Globalization/utf8.fs @@ -1,5 +1,5 @@ // #Globalization -#light + // need to do the bare minimum to test this printfn "This file is encoded as UTF-8. See - ؤإئابةتثجحخدذرزسشصضطظع" diff --git a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs index 783528e1bd4..0cd09930302 100644 --- a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs +++ b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs @@ -92,7 +92,6 @@ module TestFrameworkAdapter = | LangVersion.V90 -> "9.0",bonusArgs | LangVersion.Preview -> "preview",bonusArgs | LangVersion.Latest -> "latest", bonusArgs - | LangVersion.SupportsMl -> "5.0", "--mlcompatibility" :: bonusArgs let singleTestBuildAndRunAuxVersion (folder:string) bonusArgs mode langVersion sessionIsolation = diff --git a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs index bc2e782a769..4530bbfe21f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs @@ -291,24 +291,6 @@ let ``members-factors-mutrec-FSC_OPTIMIZED`` () = singleTestBuildAndRun "core/me [] let ``members-factors-mutrec-FSI`` () = singleTestBuildAndRun "core/members/factors-mutrec" FSI -[] -let ``graph-FSC_DEBUG`` () = singleTestBuildAndRunVersion "perf/graph" FSC_DEBUG LangVersion.SupportsMl - -[] -let ``graph-FSC_OPTIMIZED`` () = singleTestBuildAndRunVersion "perf/graph" FSC_OPTIMIZED LangVersion.SupportsMl - -[] -let ``graph-FSI`` () = singleTestBuildAndRunVersion "perf/graph" FSI LangVersion.SupportsMl - -[] -let ``nbody-FSC_DEBUG`` () = singleTestBuildAndRunVersion "perf/nbody" FSC_DEBUG LangVersion.SupportsMl - -[] -let ``nbody-FSC_OPTIMIZED`` () = singleTestBuildAndRunVersion "perf/nbody" FSC_OPTIMIZED LangVersion.SupportsMl - -[] -let ``nbody-FSI`` () = singleTestBuildAndRunVersion "perf/nbody" FSI LangVersion.SupportsMl - [] let ``forexpression-FSC_DEBUG`` () = singleTestBuildAndRun "core/forexpression" FSC_DEBUG diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_IndentOff01.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_IndentOff01.fs deleted file mode 100644 index 2897a3624cd..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_IndentOff01.fs +++ /dev/null @@ -1,4 +0,0 @@ -// #Regression #OCaml -// Regression test for FSHARP1.0:5984 -//This construct is for ML compatibility\. Consider using a file with extension '\.ml' or '\.mli' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\.$ -#indent "off" diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_IndentOff06.fsx b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_IndentOff06.fsx deleted file mode 100644 index 7e53df16b9f..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_IndentOff06.fsx +++ /dev/null @@ -1,4 +0,0 @@ -// #Regression #OCaml #ReqNOMT -//This construct is for ML compatibility\. Consider using a file with extension '\.ml' or '\.mli' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\.$ -#indent "off" -#q;; diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_mlExtension01.ml b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_mlExtension01.ml deleted file mode 100644 index b6336cc80f0..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/E_mlExtension01.ml +++ /dev/null @@ -1,3 +0,0 @@ -// #Regression #OCaml -//This construct is for ML compatibility\. The file extensions '\.ml' and '\.mli' are for ML compatibility\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\.$ -exit 0 diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/Hat01.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/Hat01.fs deleted file mode 100644 index 43dcafca295..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/Hat01.fs +++ /dev/null @@ -1,5 +0,0 @@ -// #OCaml -// Compile with --mlcompatibility --warnaserror ==> should compile clean and run clean -// -let r = "a" ^ "b" -(if r = "a" + "b" then 0 else 1) |> exit diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/IndentOff02.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/IndentOff02.fs deleted file mode 100644 index 01516e4000c..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/IndentOff02.fs +++ /dev/null @@ -1,5 +0,0 @@ -// #Regression #OCaml -// Regression test for FSHARP1.0:5984 -// -#indent "off" -printfn "Finished" diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/IndentOff04.fsx b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/IndentOff04.fsx deleted file mode 100644 index f6b61c18657..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/IndentOff04.fsx +++ /dev/null @@ -1,4 +0,0 @@ -// #OCaml #ReqNOMT -// -#indent "off" -#q;; diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/MultiArgumentGenericType.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/MultiArgumentGenericType.fs deleted file mode 100644 index c734f251b8a..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/MultiArgumentGenericType.fs +++ /dev/null @@ -1,17 +0,0 @@ -// #Regression #OCaml - - -// Regression Test for FSharp1.0:2098 - OCaml-compat warning for generics written like this: (string, int)Dictionary -//Unexpected identifier in expression$ - -open System.Collections.Generic - -type CarStats = { Make : string; Weight : float; MaxSpeed : int; } - -let cars : List = new (CarStats) List() - -let redDevil = { Make = "Ferrari"; - Weight = 2000.00; - MaxSpeed = 300 } - -cars.Add(redDevil) diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/NoParensInLet01.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/NoParensInLet01.fs deleted file mode 100644 index 2b966e4658a..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/NoParensInLet01.fs +++ /dev/null @@ -1,21 +0,0 @@ -// #Regression #OCaml -#light - -// FSHARP1.0:1117, Bindings that look like function definitions are interpreted as pattern matches without warning. Add a warning for this case to allow for later language design change here. -// FSHARP1.0:2552, name scoping bug - -// - -type t = F of int * int - -let F(x, y) = F(1, 2) // this is now a function definition - // > F(10,20);; - // val it : t = F (1,2) - -let (F(a, b)) = F(1, 2) // this is a pattern match - // > a;; b;; - // val it : int = 1 - // val it : int = 2 - -(if F(10,20) = F(1,2) && a=1 && b=2 then 0 else 1) |>ignore -() diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs deleted file mode 100644 index 0e880debc61..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlCompat.fs +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. - -namespace OcamlCompat - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module ``OCamlCompat test cases`` = - - // SOURCE=E_IndentOff01.fs COMPILE_ONLY=1 SCFLAGS="--warnaserror --test:ErrorRanges" # E_IndentOff01.fs - [] - let ``E_IndentOff01_fs --warnaserror --test:ErrorRanges`` compilation = - compilation - |> getCompilation - |> asFsx - |> withOptions ["--test:ErrorRanges"] - |> compile - |> shouldFail - |> withDiagnostics [ - (Error 62, Line 4, Col 1, Line 4, Col 14, """This construct is deprecated. The use of '#light "off"' or '#indent "off"' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") - ] - - - [] - let ``IndentOff02_fs --warnaserror"; "--mlcompatibility`` compilation = - compilation - |> getCompilation - |> asFsx - |> withOcamlCompat - |> withLangVersion50 - |> typecheck - |> shouldSucceed - - - //This construct is for ML compatibility\. Consider using a file with extension '\.ml' or '\.mli' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\.$ - [] - let ``W_IndentOff03_fs --test:ErrorRanges`` compilation = - compilation - |> getCompilation - |> asFsx - |> withOptions ["--test:ErrorRanges"] - |> compile - |> shouldFail - |> withDiagnostics [ - (Error 62, Line 4, Col 1, Line 4, Col 14, """This construct is deprecated. The use of '#light "off"' or '#indent "off"' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") - ] - - - //NoMT SOURCE=IndentOff04.fsx COMPILE_ONLY=1 SCFLAGS="--warnaserror --mlcompatibility" FSIMODE=PIPE # IndentOff04.fsx - [] - let ``IndentOff04_fsx --warnaserror --mlcompatibility`` compilation = - compilation - |> getCompilation - |> asFsx - |> withOptions ["--test:ErrorRanges"] - |> withOcamlCompat - |> compile - |> shouldFail - |> withDiagnostics [ - (Error 62, Line 3, Col 1, Line 3, Col 14, """This construct is deprecated. The use of '#light "off"' or '#indent "off"' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") - ] - - - //NoMT SOURCE=W_IndentOff05.fsx COMPILE_ONLY=1 SCFLAGS="--test:ErrorRanges" FSIMODE=PIPE # W_IndentOff05.fsx - [] - let ``W_IndentOff05_fsx --test:ErrorRanges`` compilation = - compilation - |> getCompilation - |> asFsx - |> withOptions ["--test:ErrorRanges"] - |> compile - |> shouldFail - |> withDiagnostics [ - (Error 62, Line 3, Col 1, Line 3, Col 14, """This construct is deprecated. The use of '#light "off"' or '#indent "off"' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") - ] - - - //NoMT SOURCE=E_IndentOff06.fsx COMPILE_ONLY=1 SCFLAGS="--warnaserror" FSIMODE=PIPE # E_IndentOff06.fsx - [] - let ``E_IndentOff06_fsx --test:ErrorRanges`` compilation = - compilation - |> getCompilation - |> asFsx - |> withOptions ["--test:ErrorRanges"] - |> compile - |> shouldFail - |> withDiagnostics [ - (Error 62, Line 3, Col 1, Line 3, Col 14, """This construct is deprecated. The use of '#light "off"' or '#indent "off"' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") - ] - - - // SOURCE=E_mlExtension01.ml COMPILE_ONLY=1 SCFLAGS="--warnaserror --test:ErrorRanges" # E_mlExtension01.ml - [] - let ``E_mlExtension01_ml --test:ErrorRanges`` compilation = - compilation - |> getCompilation - |> asFsx - |> withOptions ["--test:ErrorRanges"] - |> compile - |> shouldSucceed - - // SOURCE=mlExtension02.ml COMPILE_ONLY=1 SCFLAGS="--warnaserror --mlcompatibility" # mlExtension02.ml - [] - let ``mlExtension02_ml --warnaserror --mlcompatibility`` compilation = - compilation - |> getCompilation - |> asFsx - |> withOptions ["--warnaserror"; "--mlcompatibility"] - |> withLangVersion50 - |> compile - |> shouldSucceed - - - // SOURCE=W_mlExtension03.ml COMPILE_ONLY=1 SCFLAGS="--test:ErrorRanges" # W_mlExtension03.ml - [] - let `` W_mlExtension03_ml --test:ErrorRanges`` compilation = - compilation - |> getCompilation - |> asExe - |> withOptions ["--test:ErrorRanges"] - |> compile - |> shouldSucceed - - - // SOURCE=Hat01.fs COMPILE_ONLY=1 SCFLAGS="--test:ErrorRanges" # Hat01.fs - [] - let ``Hat01_fs --warnaserror --mlcompatibility`` compilation = - compilation - |> getCompilation - |> asFsx - |> withOptions ["--warnaserror"; "--mlcompatibility"] - |> withLangVersion50 - |> typecheck - |> shouldSucceed - - - // SOURCE=W_Hat01.fs COMPILE_ONLY=1 SCFLAGS="--test:ErrorRanges" # W_Hat01.fs - [] - let ``W_Hat01_fs --warnaserror --mlcompatibility`` compilation = - compilation - |> getCompilation - |> asExe - |> withOptions ["--test:ErrorRanges"; "--mlcompatibility"] - |> withLangVersion50 - |> compile - |> shouldSucceed - - - // SOURCE=NoParensInLet01.fs COMPILE_ONLY=1 SCFLAGS="--test:ErrorRanges" # NoParensInLet01.fs - [] - let ``NoParensInLet01_fs`` compilation = - compilation - |> getCompilation - |> asExe - |> compile - |> shouldSucceed - - - // SOURCE=W_MultiArgumentGenericType.fs # W_MultiArgumentGenericType.fs - [] - let ``W_MultiArgumentGenericType_fs``compilation = - compilation - |> getCompilation - |> asExe - |> ignoreWarnings - |> compile - |> shouldFail - |> withDiagnostics [ - (Error 62, Line 10, Col 19, Line 10, Col 48, """This construct is deprecated. The use of multiple parenthesized type parameters before a generic type name such as '(int, int) Map' was deprecated in F# 2.0 and is no longer supported. You can enable this feature by using '--langversion:5.0' and '--mlcompatibility'.""") - ] - - - // SOURCE=OCamlStyleArrayIndexing.fs SCFLAGS="--mlcompatibility" # OCamlStyleArrayIndexing.fs - [] - let ``OCamlStyleArrayIndexing_fs --mlcompatibility`` compilation = - compilation - |> getCompilation - |> asExe - |> withOcamlCompat - |> withLangVersion50 - |> compile - |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlStyleArrayIndexing.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlStyleArrayIndexing.fs deleted file mode 100644 index a774b71f3ed..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/OCamlStyleArrayIndexing.fs +++ /dev/null @@ -1,13 +0,0 @@ -// #OCaml -// Compile with --mlcompatibility --warnaserror ==> should compile clean and run clean -// -let op_ArrayLookup (a : int []) (i : int) = - a.[i] - -let op_ArrayAssign (a : int []) (i : int) (v : int) = - a.[i] <- v - -let a = [|1;2;3;4;5|] - -a.(1) <- 9 ; -a.(1) |> ignore diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W-NoParensInLet01.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W-NoParensInLet01.fs deleted file mode 100644 index a366d074817..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W-NoParensInLet01.fs +++ /dev/null @@ -1,11 +0,0 @@ -// #Regression #OCaml -#light - -// FSB 1117, Bindings that look like function definitions are interpreted as pattern matches without warning. Add a warning for this case to allow for later language design change here. - - -type t = F of int * int - -let F(x, y) = F(1, 2) - -printfn "Finished" diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_Hat01.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_Hat01.fs deleted file mode 100644 index f48a84a11ec..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_Hat01.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #OCaml -// Should compile with a warning -//This construct is for ML compatibility\. Consider using the '\+' operator instead\. This may require a type annotation to indicate it acts on strings\. This message can be disabled using '--nowarn:62' or '#nowarn "62"'\.$ -module TestModule - -let r = "a" ^ "b" -(if r = "ab" then 0 else 1) |> exit diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_IndentOff03.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_IndentOff03.fs deleted file mode 100644 index a52a2a95bb6..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_IndentOff03.fs +++ /dev/null @@ -1,5 +0,0 @@ -// #Regression #OCaml -// Regression test for FSHARP1.0:5984 -//This construct is for ML compatibility\. Consider using a file with extension '\.ml' or '\.mli' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\.$ -#indent "off" -printfn "Finished" diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_IndentOff05.fsx b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_IndentOff05.fsx deleted file mode 100644 index 8a3f18f7329..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_IndentOff05.fsx +++ /dev/null @@ -1,4 +0,0 @@ -// #Regression #OCaml #ReqNOMT -//This construct is for ML compatibility\. Consider using a file with extension '\.ml' or '\.mli' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\.$ -#indent "off" -#q;; diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_MultiArgumentGenericType.fs b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_MultiArgumentGenericType.fs deleted file mode 100644 index 4c307153abc..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_MultiArgumentGenericType.fs +++ /dev/null @@ -1,24 +0,0 @@ -// #Regression #OCaml -// Regression Test for FSharp1.0:2098 - OCaml-compat warning for generics written like this: (string, int)Dictionary -//This construct is for ML compatibility\. The syntax '\(typ,\.\.\.,typ\) ident' is not used in F# code\. Consider using 'ident' instead\. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'\.$ -module TestModule - -open System.Collections.Generic - -type CarStats = { Make : string; Weight : float; MaxSpeed : int; } - -let raceResults : (string, CarStats) Dictionary = new Dictionary() - -let MadMike = { Make = "Ferrari"; - Weight = 2000.00; - MaxSpeed = 300 } - -let SmartJoe = { Make = "BMW"; - Weight = 1890.50; - MaxSpeed = 287 } - - -raceResults.Add("Gold", SmartJoe) -raceResults.Add("Silver", MadMike) - -() diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_mlExtension03.ml b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_mlExtension03.ml deleted file mode 100644 index 53031219eff..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/W_mlExtension03.ml +++ /dev/null @@ -1,3 +0,0 @@ -// #Regression #OCaml -// -printfn "Hello, world" diff --git a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/mlExtension02.ml b/tests/FSharp.Compiler.ComponentTests/OCamlCompat/mlExtension02.ml deleted file mode 100644 index f0f3b61e67e..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/OCamlCompat/mlExtension02.ml +++ /dev/null @@ -1,3 +0,0 @@ -// #OCaml -// -exit 0 diff --git a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx index 6790e4dfbee..f350a5717c5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx @@ -1,6 +1,6 @@ module Core_access -#light + let failures = ref [] let report_failure (s : string) = diff --git a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/measures.fsx b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/measures.fsx index 4f1aba6958b..8254fe4486c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/measures.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/measures.fsx @@ -2,7 +2,7 @@ #if TESTS_AS_APP module Core_measures #endif -#light + let failures = ref [] diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals008.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals008.fs index 0f59aad7cad..ae2b7768b0e 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals008.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals008.fs @@ -4,5 +4,5 @@ // Negative literal with space //Literal enumerations must have type int, uint, int16, uint16, int64, uint64, byte, sbyte or char -#light + type EnumNativeInt = | A1 = -10n // enum on this type are not supported, -ve or +ve diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals009.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals009.fs index 250bf5ef477..02d92124725 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals009.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals009.fs @@ -5,7 +5,7 @@ // As per FSHARP1.0:3714, enums can't be based on floats (pos/neg) -#light + type EnumDouble = | A1 = -1.2 // err type EnumSingle = | A1 = -1.2f // err diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/enumNegativeLiterals001.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/enumNegativeLiterals001.fs index 5306a4073ad..08b90df2356 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/enumNegativeLiterals001.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/NumericLiterals/enumNegativeLiterals001.fs @@ -3,7 +3,7 @@ // Enum type definitions do not support negative literals // Negative literal with no space // See FSHARP1.0:3714 -#light + type EnumInt8 = | A1 = -10y type EnumInt16 = | A1 = -10s diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs index 251673d2e07..ef829012d5a 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs @@ -4,7 +4,7 @@ // No spaces between >> and . // -#light + type ID<'T> = static member id (x:'T) = x diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/Shift/Generics/RightShift002.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/Shift/Generics/RightShift002.fs index ec1187fbd79..43f9b5bd203 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/Shift/Generics/RightShift002.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/Shift/Generics/RightShift002.fs @@ -4,7 +4,7 @@ // 1 space >> and . // -#light + type ID<'T> = static member id (x:'T) = x diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs index 12a6671e882..4f05653288b 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs @@ -3,6 +3,6 @@ // closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token). // -#light + type a1 = { x:list } diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs index 5af95e05e46..fc73641321f 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs @@ -3,6 +3,6 @@ // closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token). // -#light + type a2 = {x:list} diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs index ed3f5860e8a..12e4d4e77ac 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs @@ -3,6 +3,6 @@ // closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token). // -#light + type a3 = {x:list>} diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs index 0065830c2a9..1590945bbdb 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs @@ -3,7 +3,7 @@ // closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token). // -#light + [] type Kg type Y = {mass_at_rest:float} diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs index 6aff7f10196..f94f5ec93fc 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs @@ -3,7 +3,7 @@ // closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token). // -#light + type A<'t> = interface end diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs index 7f23ee0d1e3..a7871f3cf29 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs @@ -3,7 +3,7 @@ // closing square bracket following closing generic type angle bracket is syntax error without whitespace // -#light + let id x = x diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare01.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare01.fs index 2c542fd8ea4..59574d333d3 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare01.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare01.fs @@ -3,7 +3,7 @@ // closing square bracket following closing generic type angle bracket is syntax error without whitespace // -#light + [] type Kg type R4 = { I : list> } diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs index 76e31e183ca..755128d1c60 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs @@ -3,7 +3,7 @@ // closing square bracket following closing generic type angle bracket is syntax error without whitespace // -#light + let id x = x let r6a = [id ] diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicOperators/E_GreaterThanColon002.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicOperators/E_GreaterThanColon002.fs index 1333d1c115f..04baeb0d62b 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicOperators/E_GreaterThanColon002.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicOperators/E_GreaterThanColon002.fs @@ -3,7 +3,7 @@ // Space should not be required between : and > // -#light + type Ix = interface abstract A<'t> : 't->'t // space between > and : diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs index e90463c36ca..66db991943b 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs @@ -3,7 +3,7 @@ // Space should not be required between : and > // -#light + type Ix = interface abstract A<'t> : 't->'t // space between > and : diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/BindingsWithValues01.fsx b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/BindingsWithValues01.fsx index 17833e3436f..0d2e026178f 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/BindingsWithValues01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/BindingsWithValues01.fsx @@ -1,5 +1,5 @@ // #Regression #NoMT #Printing -#light + // Test for FSharp1.0:2581 - FSI should display bound values, not just evaluated expressions (was: FSI should print the value of the last declared value is there is no last expression) diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/CustomExceptions01.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/CustomExceptions01.fs index 9cb3cee090e..5ad26072c33 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/CustomExceptions01.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/CustomExceptions01.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #Printing -#light + // Test for FSharp1.0:4045 - exception printing adds Exception to name of exn constructor // Test for FSharp1.0:4054 - exception printing of constant exceptions adds a unit value (no arguments) diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/CustomExceptions02.fsx b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/CustomExceptions02.fsx index 05d18263962..440696e5ac1 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/CustomExceptions02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/CustomExceptions02.fsx @@ -1,5 +1,5 @@ // #Regression #NoMT #Printing -#light + // Test for FSharp1.0:4086 - accessibility not printed for exceptions //exception internal A of int diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip01.fsx b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip01.fsx index dd63ef87090..e3e944141cb 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip01.fsx +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip01.fsx @@ -4,7 +4,7 @@ //val it: decimal = -2\.0M //val it: float32 = 2\.0f //val it: float = 1\.2 -#light + module M1 = [] type Kg diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip02.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip02.fs index 0a6d7f6c80f..e7fc2dfbe17 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip02.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip02.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3300 // Verify that Pretty-printing of measure identifiers round-trips, i.e. displays the long identified (Namespace.Module.Type) // This is an aux dll which defines UoM inside a namespace/module -#light + namespace A.B.C module M1 = diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip02.fsx b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip02.fsx index abbc42cc153..fe9dfa9a51a 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip02.fsx +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/UnitsOfMeasureIdentifiersRoundTrip02.fsx @@ -4,7 +4,7 @@ //val it: decimal+ //val it: float32+ //val it: float+ -#light + #r "UnitsOfMeasureIdentifiersRoundTrip02.dll" diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/WidthForAFormatter.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/WidthForAFormatter.fs index 849f66782b1..a20d63d0a3b 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/WidthForAFormatter.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Conformance/Printing/WidthForAFormatter.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #Printing -#light + // Regression test for FSHARP1.0:4139 - %A formatter does not accept width, e.g. printf "%10000A" diff --git a/tests/FSharp.Compiler.ComponentTests/resources/tests/Diagnostics/General/W_Keyword_tailcall01.fs b/tests/FSharp.Compiler.ComponentTests/resources/tests/Diagnostics/General/W_Keyword_tailcall01.fs index 13f5d13b9e0..dc4ca1a466b 100644 --- a/tests/FSharp.Compiler.ComponentTests/resources/tests/Diagnostics/General/W_Keyword_tailcall01.fs +++ b/tests/FSharp.Compiler.ComponentTests/resources/tests/Diagnostics/General/W_Keyword_tailcall01.fs @@ -9,7 +9,7 @@ //\(17,33-17,41\).+warning FS0046: The keyword 'tailcall' is reserved for future use by F# //\(18,22-18,30\).+warning FS0046: The keyword 'tailcall' is reserved for future use by F# -#light + namespace tailcall module tailcall = diff --git a/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl b/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl index 318bb051e59..3bafcb89698 100644 --- a/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl +++ b/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl @@ -126,7 +126,6 @@ default) --define: Define conditional compilation symbols (Short form: -d) ---mlcompatibility Ignore ML compatibility warnings --strict-indentation[+|-] Override indentation rules implied by the language version (off by default) diff --git a/tests/FSharp.Test.Utilities/Compiler.fs b/tests/FSharp.Test.Utilities/Compiler.fs index 5df00581c7f..31d29c27a10 100644 --- a/tests/FSharp.Test.Utilities/Compiler.fs +++ b/tests/FSharp.Test.Utilities/Compiler.fs @@ -585,9 +585,6 @@ module rec Compiler = let withNoDebug (cUnit: CompilationUnit) : CompilationUnit = withOptionsHelper [ "--debug-" ] "debug- is only supported on F#" cUnit - let withOcamlCompat (cUnit: CompilationUnit) : CompilationUnit = - withOptionsHelper [ "--mlcompatibility" ] "withOcamlCompat is only supported on F#" cUnit - let withOptions (options: string list) (cUnit: CompilationUnit) : CompilationUnit = withOptionsHelper options "withOptions is only supported for F#" cUnit diff --git a/tests/FSharp.Test.Utilities/ScriptHelpers.fs b/tests/FSharp.Test.Utilities/ScriptHelpers.fs index f7b68ac812e..91e7306c3b9 100644 --- a/tests/FSharp.Test.Utilities/ScriptHelpers.fs +++ b/tests/FSharp.Test.Utilities/ScriptHelpers.fs @@ -22,7 +22,6 @@ type LangVersion = | V90 | Preview | Latest - | SupportsMl type FSharpScript(?additionalArgs: string[], ?quiet: bool, ?langVersion: LangVersion) = @@ -42,7 +41,7 @@ type FSharpScript(?additionalArgs: string[], ?quiet: bool, ?langVersion: LangVer if quiet then "--quiet" match langVersion with | LangVersion.V47 -> "--langversion:4.7" - | LangVersion.V50 | LangVersion.SupportsMl -> "--langversion:5.0" + | LangVersion.V50 -> "--langversion:5.0" | LangVersion.Preview -> "--langversion:preview" | LangVersion.Latest -> "--langversion:latest" | LangVersion.V60 -> "--langversion:6.0" diff --git a/tests/fsharp/perf/graph/test.ml b/tests/fsharp/perf/graph/test.ml deleted file mode 100644 index e19614be84e..00000000000 --- a/tests/fsharp/perf/graph/test.ml +++ /dev/null @@ -1,542 +0,0 @@ -// #Stress -#indent "off" - - module NodeSet = Set - module NodeMap = Map - type node = int - type node_set = node Set - type 'a node_map = (node,'a) Map - - type info = { - succ : node_set; - pred : node_set; - mutable dfNumber : int; - mutable mark1 : int; - mutable mark2 : int; - mutable lowLink : int; - } - - let info() = - { - succ = NodeSet.empty; - pred = NodeSet.empty; - mark1 = 0; - mark2 = 0; - lowLink = 0; - dfNumber = 0; - } - - type t = { - mutable nodes : info node_map; - mutable generation : int; -(* - mutable isLogged : bool; - log : Log.t; -*) - } - - let is_marked t info = info.mark1 = t.generation - let set_mark t info = info.mark1 <- t.generation - let unset_mark t info = info.mark1 <- 0 - - let is_onStack t info = info.mark2 = t.generation - let set_onStack t info = info.mark2 <- t.generation - let set_offStack t info = info.mark2 <- 0 - - let is_marked2 = is_onStack - let set_mark2 = set_onStack - let unset_mark2 = set_offStack - - let set_lowLink t info n = info.lowLink <- n - let get_lowLink t info = info.lowLink - - let set_dfNumber t info n = info.dfNumber <- n - let get_dfNumber t info = info.dfNumber - - let nodeInfo t node = NodeMap.find node t.nodes - -(* constructors *) - let clearGraph t = t.generation <- t.generation + 1 - - let empty() = - { - nodes = NodeMap.empty; - generation = 0; -(* - isLogged = false; - log = Log.empty() -*) - } - - let setInfo t node info oldInfo = - t.nodes <- NodeMap.add node info t.nodes -(* - if t.isLogged then - Log.append t.log - (fun () -> - (match oldInfo with - | None -> t.nodes <- NodeMap.remove node t.nodes - | Some info -> t.nodes <- NodeMap.add node info t.nodes) - ) -*) - - let getInfo t node = - try - let info0 = NodeMap.find node t.nodes in - (Some info0, info0) - with - :? System.Collections.Generic.KeyNotFoundException -> (None, info()) - - let setPred t node fn = - let info0, info1 = getInfo t node in - let info2 = { info1 with pred = fn info1.pred } in - setInfo t node info1 info0 - - let setSucc t node fn = - let info0, info1 = getInfo t node in - let info2 = { info1 with succ = fn info1.succ } in - setInfo t node info2 info0 - - let addPred t src dst = setPred t dst (NodeSet.add src) - let addSucc t src dst = setSucc t src (NodeSet.add dst) - - let edge t src dst = - addSucc t src dst; - addPred t src dst - - -(* inspectors *) - - let nodes t f a = - NodeMap.foldBack (fun key _ a -> f key a) t.nodes a - - let edges t f a = - NodeMap.foldBack - (fun src info a -> - (NodeSet.foldBack (fun dst a -> f src dst a) info.succ a)) - t.nodes a - -(* algorithms *) - exception Cycle of node list - - let findCycle t = - clearGraph t; - let rec pop_until n stack rest = - match stack with - | [] -> rest - | n'::ns -> if n = n' then rest else pop_until n ns (n'::rest) - in - let rec search stack n info = - if is_marked t info then - if is_onStack t info then - raise (Cycle (pop_until n stack [n])) - else - () - else - begin - let stack = n::stack in - set_mark t info; - set_onStack t info; - NodeSet.iter - (fun key -> search stack key (nodeInfo t key)) - info.succ; - set_offStack t info - end - in - try - NodeMap.iter - (fun src info -> if not (is_marked t info) then search [] src info) - t.nodes; - [] - with - | Cycle c -> c - - let assign t dst src = - if src <> dst then - let dstI = nodeInfo t dst in - let srcI = nodeInfo t src in - let updateSet set = NodeSet.add dst (NodeSet.remove src set) in - NodeSet.iter (fun pred -> setSucc t pred updateSet) srcI.pred; - NodeSet.iter (fun succ -> setPred t succ updateSet) srcI.succ - -module Dfs0 = begin - - (* DFS just using the call-stack *) - let dfs t pre post succPre succPost node nodeI acc = - let rec dfsNode node nodeI acc = - let acc = pre node nodeI acc in - let acc = NodeSet.foldBack (dfsSucc node nodeI) nodeI.succ acc in - post node nodeI acc - and dfsSucc node nodeI succ acc = - let succI = nodeInfo t succ in - if succPre node nodeI succ succI then - let acc = dfsNode succ succI acc in - succPost node nodeI succ succI acc - else - acc - in - - dfsNode node nodeI acc - -end -module Dfs0b = begin - - let rec dfsNode ((pre,post,_,_,_) as funs) node nodeI acc = - let acc = pre node nodeI acc in - let acc = NodeSet.foldBack (dfsSucc funs node nodeI) nodeI.succ acc in - post node nodeI acc - and dfsSucc ((_,_,succPre,succPost,t) as funs) node nodeI succ acc = - let succI = nodeInfo t succ in - if succPre node nodeI succ succI then - let acc = dfsNode funs succ succI acc in - succPost node nodeI succ succI acc - else - acc - - (* DFS just using the call-stack *) - let inline dfs t pre post succPre succPost node nodeI acc = - dfsNode (pre,post,succPre,succPost,t) node nodeI acc - -end - - - type sccs = node list list - - type 'a stack = - | Nil - | Cons of ('a stack -> 'a -> ('a * ('a stack))) * ('a stack) - - let cons f stack = Cons(f,stack) - let nil = Nil - - let rec eval (a, stack) = - match stack with - | Nil -> a - | Cons (f,stack) -> eval (f stack a) - -(* requires rectypes - - type 'a stack1 = ('a stack1 -> 'a -> ('a * 'a stack1)) list - - let cons1 f stack = f::stack - - let rec eval1 (a, stack) = - match stack with - | [] -> a - | f::stack -> eval1 (f stack a) -*) - - (* DFS building up a custom call-stack *) - - module Dfs1 = begin - - let dfs t pre post succPre succPost node nodeI acc = - let wrap f node nodeI stack acc = (f node nodeI acc,stack) in - let pre = wrap pre in - let post = wrap post in - let succPost n nI s sI stack acc = (succPost n nI s sI acc,stack) in - (* DFS search on a node *) - let rec dfsNode node nodeI stack = - cons - (pre node nodeI) - (cons - (fun stack acc -> - (acc, NodeSet.foldBack (dfsSucc node nodeI) nodeI.succ stack)) - (cons - (post node nodeI) - stack)) - (* DFS search on the successor *) - and dfsSucc node nodeI succ stack = - let succI = nodeInfo t succ in - if succPre node nodeI succ succI then - cons - (fun stack acc -> (acc, dfsNode succ succI stack)) - (cons - (succPost node nodeI succ succI) - stack) - else - stack - in - eval (acc, dfsNode node nodeI nil) - - end - - module Dfs1b = begin - let rec dfsNode ((pre,post,succPre,succPost,t) as funs) node nodeI stack = - cons - (pre node nodeI) - (cons - (fun stack acc -> - (acc, NodeSet.foldBack (dfsSucc funs node nodeI) nodeI.succ stack)) - (cons - (post node nodeI) - stack)) - (* DFS search on the successor *) - and dfsSucc ((pre,post,succPre,succPost,t) as funs) node nodeI succ stack = - let succI = nodeInfo t succ in - if succPre node nodeI succ succI then - cons - (fun stack acc -> (acc, dfsNode funs succ succI stack)) - (cons - (succPost node nodeI succ succI) - stack) - else - stack - - - (* DFS building up a custom call-stack *) - let dfs t pre post succPre succPost node nodeI acc = - let wrap f node nodeI stack acc = (f node nodeI acc,stack) in - let pre = wrap pre in - let post = wrap post in - let succPost n nI s sI stack acc = (succPost n nI s sI acc,stack) in - (* DFS search on a node *) - eval (acc, dfsNode (pre,post,succPre,succPost,t) node nodeI nil) - end - - -(*------------------------------------------------------------------------- - findSCCs is based upon Tarjan's algorithm, - as explained in Aho, Hopcroft and Ullman. - It finds all the strongly connected components of a graph. - It requires the call-stack to traverse the graph. - ------------------------------------------------------------------------*) - - let findSCCsBase dfs t = - clearGraph t; - let count = ref 0 in - let stack = ref [] in - let rec pop_until node result = - match !stack with - | [] -> result - | ((node',info')::rest) -> - stack := rest; - set_offStack t info'; - let result = node'::result in - if node = node' then - result - else - pop_until node result - in - (* called every time visiting a new node *) - let pre node nodeI sccs = - assert (not(is_marked t nodeI)); - set_mark t nodeI; - set_dfNumber t nodeI !count; - set_lowLink t nodeI !count; - set_onStack t nodeI; - count := !count + 1; - stack := (node,nodeI)::(!stack); - sccs - in - (* called every time backtracking from a node *) - let post node nodeI sccs = - if get_dfNumber t nodeI = get_lowLink t nodeI then - (pop_until node [])::sccs - else - sccs - in - (* called to filter out successor nodes *) - let succPre node nodeI succ succI = - if is_marked t succI then - begin - let dfNext = get_dfNumber t succI in - let dfMe = get_dfNumber t nodeI in - if (dfNext < dfMe && is_onStack t succI) then - set_lowLink t nodeI (min (get_lowLink t nodeI) dfNext); - false - end - else - true - in - (* called when backtracking from successor nodes *) - let succPost node nodeI succ succI sccs = - set_lowLink t nodeI - (min (get_lowLink t nodeI) (get_lowLink t succI)); - sccs - in - let findSCC node nodeI sccs = - if is_marked t nodeI then - sccs - else - let rec dfsNode node nodeI acc = - let acc = pre node nodeI acc in - let acc = NodeSet.foldBack (dfsSucc node nodeI) nodeI.succ acc in - post node nodeI acc - and dfsSucc node nodeI succ acc = - let succI = nodeInfo t succ in - if succPre node nodeI succ succI then - let acc = dfsNode succ succI acc in - succPost node nodeI succ succI acc - else - acc in - - (* DFS just using the call-stack *) - let dfs t pre post succPre succPost node nodeI acc = - dfsNode node nodeI acc in - dfs t pre post succPre succPost node nodeI sccs - in - NodeMap.foldBack findSCC t.nodes [] - - let findSCCs = findSCCsBase Dfs1.dfs - - let push t = () -(* - t.isLogged <- true; - Log.push t.log -*) - - let pop t = () -(* - Log.pop t.log -*) - exception Found - - let connected t n1 n2 = - clearGraph t; - let rec search node = - if node = n2 then - raise Found - else - let nodeI = nodeInfo t node in - if not (is_marked t nodeI) then - begin - set_mark t nodeI; - NodeSet.iter search nodeI.succ - end - in - try - search n1; - false - with - | Found -> true - - -(* Check whether there is an edge from node to itself *) - let selfLoop t node = - let nodeI = nodeInfo t node in - NodeSet.contains node nodeI.succ - - - (* find shortest path from initial to final, if any *) - (* instance of bfs *) - - exception FoundPath of node list - - let shortestPath t initial final = - clearGraph t; - List.iter (fun n -> set_mark2 t (nodeInfo t n)) final; - let expandOne path frontier n = - let nodeI = nodeInfo t n in - if is_marked2 t nodeI then - raise (FoundPath (n::path)) - else if is_marked t nodeI then - frontier - else - begin - set_mark t nodeI; - (n::path, nodeI.succ)::frontier - end - in - let expandList frontier (path,succ) = - NodeSet.foldBack - (fun node frontier -> expandOne path frontier node) - succ - frontier - in - let rec loop frontier = - if [] = frontier then - None - else - loop (List.fold expandList [] frontier) - in - try - loop (List.fold (expandOne []) [] initial) - with - FoundPath path -> Some (List.rev path) - -(*------------------------------------------------------------------------ - Apply fn to all nodes reachable from initial. - -----------------------------------------------------------------------*) - - let foldReachable t initial fn a = - clearGraph t; - let rec reach a node = - let nodeI = nodeInfo t node in - if is_marked t nodeI then - a - else - let a = fn node a in - begin - set_mark t nodeI; - NodeSet.foldBack reach nodeI.succ a - end - in - List.fold reach a initial - - -(*module UnitTest = *) - - let printGraph t = - (*Graph.*)nodes t (fun n () -> Printf.printf "node: %d\n" n) (); - (*Graph.*)edges t (fun s d () -> Printf.printf "edge: %d->%d\n" s d) () - - - let printSccs = - List.iter (fun scc -> - Printf.printf "Scc\n"; - List.iter (fun node -> Printf.printf "%d\n" node) scc) - - let time () = (System.Diagnostics.Process.GetCurrentProcess()).UserProcessorTime.TotalSeconds - - let timeIt f x = - let t1 = time() in - let y = f x in - let y = f x in - let y = f x in - let y = f x in - let y = f x in - let y = f x in - let y = f x in - let y = f x in - let y = f x in - let y = f x in - let t2 = time() in - Printf.printf "time: %f\n" (t2 - t1); - y - - let test() = - let t = (*Graph.*)empty() in - let _ = (*Graph.*)edge t 1 2 in - let _ = (*Graph.*)edge t 2 3 in - let _ = (*Graph.*)edge t 3 1 in - let _ = (*Graph.*)edge t 1 4 in - let _ = (*Graph.*)edge t 4 5 in - let _ = printGraph t in - - let sccs = (*Graph.*)findSCCs t in - let _ = printSccs sccs in - (* check use of call-stack *) - let _ = - for i = 6 to 100 do - (*Graph.*)edge t i (i+1) - done; - (*Graph.*)edge t 99 6 - in - - Printf.printf "call stack, inner loop: "; - let sccs = timeIt (*Graph.*)(findSCCsBase Dfs0.dfs) t in - Printf.printf "call stack, outer loop: "; - let sccs = timeIt (*Graph.*)(findSCCsBase Dfs0b.dfs) t in - Printf.printf "heap stack, inner loop; "; - let sccs = timeIt (*Graph.*)(findSCCsBase Dfs1.dfs) t in - Printf.printf "heap stack, outer loop: "; - let sccs = timeIt (*Graph.*)(findSCCsBase Dfs1b.dfs) t in - Printf.printf "done.\n"; - () - - let _ = test() - -do (System.Console.WriteLine "Test Passed"; - printf "TEST PASSED OK"; - exit 0) diff --git a/tests/fsharp/perf/nbody/test.ml b/tests/fsharp/perf/nbody/test.ml deleted file mode 100644 index 06b94f4c674..00000000000 --- a/tests/fsharp/perf/nbody/test.ml +++ /dev/null @@ -1,148 +0,0 @@ -// #Stress -#indent "off" -(* - http://shootout.alioth.debian.org/benchmark.php?test=nbody&lang=all&sort=cpu -*) - -let pi = 3.141592653589793 -let solar_mass = 4. * pi * pi -let days_per_year = 365.24 - - - -type planet = { - mutable x : float; mutable y : float; mutable z : float; - mutable vx: float; mutable vy: float; mutable vz: float; - mass : float; -} - - -let advance bodies dt = - let n = Array.length bodies - 1 in - for i = 0 to n do - let b = bodies.[i] in - for j = i+1 to n do - let b2 = bodies.[j] in - let dx = b.x - b2.x in let dy = b.y - b2.y in let dz = b.z - b2.z in - let distance = sqrt(dx*dx + dy*dy + dz*dz) in - let mag = dt / (distance * distance * distance) in - - b.vx <- b.vx - dx * b2.mass * mag; - b.vy <- b.vy - dy * b2.mass * mag; - b.vz <- b.vz - dz * b2.mass * mag; - - b2.vx <- b2.vx + dx * b.mass * mag; - b2.vy <- b2.vy + dy * b.mass * mag; - b2.vz <- b2.vz + dz * b.mass * mag; - done - done; - for i = 0 to n do - let b = bodies.[i] in - b.x <- b.x + dt * b.vx; - b.y <- b.y + dt * b.vy; - b.z <- b.z + dt * b.vz; - done - - -let energy bodies = - let e = ref 0. in - for i = 0 to Array.length bodies - 1 do - let b = bodies.[i] in - e := !e + 0.5 * b.mass * (b.vx * b.vx + b.vy * b.vy + b.vz * b.vz); - for j = i+1 to Array.length bodies - 1 do - let b2 = bodies.[j] in - let dx = b.x - b2.x in let dy = b.y - b2.y in let dz = b.z - b2.z in - let distance = sqrt(dx * dx + dy * dy + dz * dz) in - e := !e - (b.mass * b2.mass) / distance - done - done; - !e - - -let offset_momentum bodies = - let px = ref 0. in let py = ref 0. in let pz = ref 0. in - for i = 0 to Array.length bodies - 1 do - px := !px + bodies.[i].vx * bodies.[i].mass; - py := !py + bodies.[i].vy * bodies.[i].mass; - pz := !pz + bodies.[i].vz * bodies.[i].mass; - done; - bodies.[0].vx <- - !px / solar_mass; - bodies.[0].vy <- - !py / solar_mass; - bodies.[0].vz <- - !pz / solar_mass - - -let bodies() = -let jupiter = { - x = 4.84143144246472090e+00; - y = -1.16032004402742839e+00; - z = -1.03622044471123109e-01; - vx = 1.66007664274403694e-03 * days_per_year; - vy = 7.69901118419740425e-03 * days_per_year; - vz = -6.90460016972063023e-05 * days_per_year; - mass = 9.54791938424326609e-04 * solar_mass; -} in - -let saturn = { - x = 8.34336671824457987e+00; - y = 4.12479856412430479e+00; - z = -4.03523417114321381e-01; - vx = -2.76742510726862411e-03 * days_per_year; - vy = 4.99852801234917238e-03 * days_per_year; - vz = 2.30417297573763929e-05 * days_per_year; - mass = 2.85885980666130812e-04 * solar_mass; -} in - -let uranus = { - x = 1.28943695621391310e+01; - y = -1.51111514016986312e+01; - z = -2.23307578892655734e-01; - vx = 2.96460137564761618e-03 * days_per_year; - vy = 2.37847173959480950e-03 * days_per_year; - vz = -2.96589568540237556e-05 * days_per_year; - mass = 4.36624404335156298e-05 * solar_mass; -} in - -let neptune = { - x = 1.53796971148509165e+01; - y = -2.59193146099879641e+01; - z = 1.79258772950371181e-01; - vx = 2.68067772490389322e-03 * days_per_year; - vy = 1.62824170038242295e-03 * days_per_year; - vz = -9.51592254519715870e-05 * days_per_year; - mass = 5.15138902046611451e-05 * solar_mass; -} in - -let sun = { - x = 0.0; y = 0.0; z = 0.0; vx = 0.0; vy = 0.0; vz = 0.0; - mass= solar_mass; -} in - -let bodies = [| sun; jupiter; saturn; uranus; neptune |] in -bodies - -let main n = - let bodies = bodies() in - offset_momentum bodies; - - Printf.printf "Energy prior = %.9f\n" (energy bodies); - for i = 1 to n do - advance bodies 0.01 - done; - Printf.printf "Energy posterior = %.9f\n" (energy bodies); - Printf.sprintf "%.9f" (energy bodies) - -let _ = main 500000 - -let failures = ref false -let report_failure () = - System.Console.Error.WriteLine " NO"; failures := true -let test (s:string) b = System.Console.Error.Write s; if b then System.Console.Error.WriteLine " OK" else report_failure() - -let _ = test "dce98nj" (main 500000 = "-0.169096567") - - - -do (System.Console.WriteLine "Test Passed"; - printf "TEST PASSED OK"; - exit 0) - diff --git a/tests/service/data/SyntaxTree/Type/Type 10.fs b/tests/service/data/SyntaxTree/Type/Type 10.fs index b7b29bc728e..495b3c706f9 100644 --- a/tests/service/data/SyntaxTree/Type/Type 10.fs +++ b/tests/service/data/SyntaxTree/Type/Type 10.fs @@ -1,5 +1,4 @@ // #NoMT #CompilerOptions -#light namespace N From e28fb47972a77f7bb5a5981c593926d809b50598 Mon Sep 17 00:00:00 2001 From: kerams Date: Mon, 8 Dec 2025 13:08:41 +0100 Subject: [PATCH 02/25] Remove `^` from FsLexYacc --- buildtools/fsyacc/fsyaccast.fs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/buildtools/fsyacc/fsyaccast.fs b/buildtools/fsyacc/fsyaccast.fs index 23dcd7fcbd3..94ba33ab5ff 100644 --- a/buildtools/fsyacc/fsyaccast.fs +++ b/buildtools/fsyacc/fsyaccast.fs @@ -38,7 +38,7 @@ type Symbols = Symbol list //--------------------------------------------------------------------- // Output Raw Parser Spec AST -let StringOfSym sym = match sym with Terminal s -> "'" ^ s ^ "'" | NonTerminal s -> s +let StringOfSym sym = match sym with Terminal s -> String.Concat("'", s, "'") | NonTerminal s -> s let OutputSym os sym = fprintf os "%s" (StringOfSym sym) @@ -367,7 +367,7 @@ let CompilerLalrParserSpec logf (spec : ProcessedParserSpec): CompiledSpec = stopWatch.Start() // Augment the grammar - let fakeStartNonTerminals = spec.StartSymbols |> List.map(fun nt -> "_start"^nt) + let fakeStartNonTerminals = spec.StartSymbols |> List.map(fun nt -> String.Concat("_start", nt)) let nonTerminals = fakeStartNonTerminals@spec.NonTerminals let endOfInputTerminal = "$$" let dummyLookahead = "#" @@ -480,7 +480,7 @@ let CompilerLalrParserSpec logf (spec : ProcessedParserSpec): CompiledSpec = let IsStartItem item0 = fakeStartNonTerminalsSet.Contains(ntIdx_of_item0 item0) let IsKernelItem item0 = (IsStartItem item0 || dotIdx_of_item0 item0 <> 0) - let StringOfSym sym = match sym with PTerminal s -> "'" ^ termTab.OfIndex s ^ "'" | PNonTerminal s -> ntTab.OfIndex s + let StringOfSym sym = match sym with PTerminal s -> String.Concat("'", termTab.OfIndex s, "'") | PNonTerminal s -> ntTab.OfIndex s let OutputSym os sym = fprintf os "%s" (StringOfSym sym) From de94830cdf140c3540b4a3dd345471b78bc3a667 Mon Sep 17 00:00:00 2001 From: kerams Date: Mon, 8 Dec 2025 13:23:03 +0100 Subject: [PATCH 03/25] Remove more tests --- .../CompilerDirectives/Line.fs | 1 - .../Miscellaneous/MigratedTypeCheckTests.fs | 6 - .../HashIfExpression.fs | 3 +- tests/fsharp/typecheck/misc/test.ml | 37 ----- tests/fsharp/typecheck/sigs/neg03.bsl | 116 ------------- tests/fsharp/typecheck/sigs/neg03.fs | 154 ------------------ 6 files changed, 1 insertion(+), 316 deletions(-) delete mode 100644 tests/fsharp/typecheck/misc/test.ml delete mode 100644 tests/fsharp/typecheck/sigs/neg03.bsl delete mode 100644 tests/fsharp/typecheck/sigs/neg03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/Line.fs b/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/Line.fs index 882e116ceb1..51a171b3ac4 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/Line.fs +++ b/tests/FSharp.Compiler.ComponentTests/CompilerDirectives/Line.fs @@ -129,7 +129,6 @@ printfn "" let lexargs = mkLexargs ( [], - IndentationAwareSyntaxStatus(true, false), LexResourceManager(), [], DiscardErrorsLogger, diff --git a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedTypeCheckTests.fs b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedTypeCheckTests.fs index 13744a2e39e..6dd98875ce6 100644 --- a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedTypeCheckTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedTypeCheckTests.fs @@ -6,18 +6,12 @@ open FSharp.Test open FSharp.Test.ScriptHelpers open Miscellaneous.FsharpSuiteMigrated.TestFrameworkAdapter -[] -let misc () = singleTestBuildAndRunVersion "typecheck/misc" FSC_OPTIMIZED LangVersion.SupportsMl - [] let ``type check neg01`` () = singleNegTest ( "typecheck/sigs") "neg01" [] let ``type check neg02`` () = singleVersionedNegTest ( "typecheck/sigs") LangVersion.V60 "neg02" -[] -let ``type check neg03`` () = singleVersionedNegTest ( "typecheck/sigs") LangVersion.SupportsMl "neg03" - [] let ``type check neg04`` () = singleNegTest ( "typecheck/sigs") "neg04" diff --git a/tests/FSharp.Compiler.Service.Tests/HashIfExpression.fs b/tests/FSharp.Compiler.Service.Tests/HashIfExpression.fs index 2032b625f3e..c7fee42d664 100644 --- a/tests/FSharp.Compiler.Service.Tests/HashIfExpression.fs +++ b/tests/FSharp.Compiler.Service.Tests/HashIfExpression.fs @@ -57,12 +57,11 @@ type public HashIfExpression() = member _.ErrorCount = errors.Count } - let indentationSyntaxStatus = IndentationAwareSyntaxStatus(true, false) let resourceManager = LexResourceManager () let defines = [] let applyLineDirectives = true let startPos = Position.Empty - let args = mkLexargs (defines, indentationSyntaxStatus, resourceManager, [], diagnosticsLogger, PathMap.empty, applyLineDirectives) + let args = mkLexargs (defines, resourceManager, [], diagnosticsLogger, PathMap.empty, applyLineDirectives) DiagnosticsThreadStatics.DiagnosticsLogger <- diagnosticsLogger diff --git a/tests/fsharp/typecheck/misc/test.ml b/tests/fsharp/typecheck/misc/test.ml deleted file mode 100644 index 14bc16ae51f..00000000000 --- a/tests/fsharp/typecheck/misc/test.ml +++ /dev/null @@ -1,37 +0,0 @@ -// #TypeInference #Regression -(* Avoid ;; since it allows fsi to recover from type errors *) - -open System.Collections.Generic -let repro (ie : IEnumerable<'a>) = None -(* avoid ;; -- to avoid fsi error recovery *) - -(* Bug693: user annotated 'a generalised, and then picked up (out of scope) from tpenv *) -let create() = new Event<_>() -let f () = - // let sendM,_ = Event.create() in // : ('a -> unit) * 'a IEvent in - let sendM = create().Trigger in // : ('a -> unit) in - // let sendM = create() : ('a -> unit) in - let delegateSendM msg = new System.Converter<'a,unit>(fun _ -> sendM msg) in - let send (msg:'a) = delegateSendM msg in - send -(* avoid ;; -- to avoid fsi error recovery *) - -let Memoize f = - let t = new Dictionary<_,_>(1000) in - fun x -> - let ok,v = t.TryGetValue(x) in - if ok then Some v else None -(* avoid ;; -- to avoid fsi error recovery *) - -(* Bug 1143: are generated signatures correct for these? *) -let fA<'a> = printf "\nRUN at %s\n" (typeof<'a>).FullName;12;; -let fB<'a> (x:int) = printf "\nRUN at %s\n" (typeof<'a>).FullName;12;; -let fC<'a,'b> (x:'a) = printf "\nRUN at %s\n" (typeof<'a>).FullName;12;; - -let _ = - (* May not be enough if fsi does error recovery... - * So avoid using ;; - *) - System.Console.WriteLine "Test Passed"; - printf "TEST PASSED OK"; - exit 0 diff --git a/tests/fsharp/typecheck/sigs/neg03.bsl b/tests/fsharp/typecheck/sigs/neg03.bsl deleted file mode 100644 index 0963be5a7b1..00000000000 --- a/tests/fsharp/typecheck/sigs/neg03.bsl +++ /dev/null @@ -1,116 +0,0 @@ - -neg03.fs(7,20,7,70): typecheck error FS0763: The field 'field3' has been given a value, but is not present in the type 'myRecord1' - -neg03.fs(8,20,8,70): typecheck error FS0763: The field 'field1' has been given a value, but is not present in the type 'myRecord2' - -neg03.fs(9,20,9,54): typecheck error FS0764: No assignment given for field 'field2' of type 'Neg03.myRecord1' - -neg03.fs(10,20,10,56): typecheck error FS0764: No assignment given for field 'field1' of type 'Neg03.myRecord1' - -neg03.fs(11,20,11,54): typecheck error FS0764: No assignment given for field 'field2' of type 'Neg03.myRecord2' - -neg03.fs(14,5,14,8): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[_;_]' may indicate a case not covered by the pattern(s). - -neg03.fs(16,8,16,11): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[_;_]' may indicate a case not covered by the pattern(s). - -neg03.fs(22,39,22,42): typecheck error FS0026: This rule will never be matched - -neg03.fs(25,9,25,13): typecheck error FS0001: The type 'bool' does not support the operator '<<<' - -neg03.fs(26,9,26,13): typecheck error FS0001: This expression was expected to have type - 'int' -but here has type - 'bool' - -neg03.fs(27,15,27,19): typecheck error FS0001: This expression was expected to have type - 'int' -but here has type - 'bool' - -neg03.fs(28,15,28,19): typecheck error FS0001: This expression was expected to have type - 'int32' -but here has type - 'bool' - -neg03.fs(40,31,40,36): typecheck error FS0193: Type constraint mismatch. The type - 'Map' -is not compatible with type - 'Map' - - -neg03.fs(45,20,45,26): typecheck error FS0685: The generic function 'typeof' must be given explicit type argument(s) - -neg03.fs(46,20,46,26): typecheck error FS0685: The generic function 'sizeof' must be given explicit type argument(s) - -neg03.fs(52,15,52,17): typecheck error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'a has been constrained to be type 'int'. - -neg03.fs(53,15,53,17): typecheck error FS0001: Type mismatch. Expecting a - 'string list ref' -but given a - 'int list ref' -The type 'string' does not match the type 'int' - -neg03.fs(59,9,59,10): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '0' may indicate a case not covered by the pattern(s). - -neg03.fs(61,9,61,16): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '0' may indicate a case not covered by the pattern(s). - -neg03.fs(62,9,62,16): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '0' may indicate a case not covered by the pattern(s). - -neg03.fs(64,9,64,14): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '(_,0)' may indicate a case not covered by the pattern(s). - -neg03.fs(66,9,66,18): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value 'Some (0)' may indicate a case not covered by the pattern(s). - -neg03.fs(68,9,68,17): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value 'None' may indicate a case not covered by the pattern(s). - -neg03.fs(70,9,70,22): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value 'Some (_)' may indicate a case not covered by the pattern(s). - -neg03.fs(71,9,71,32): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value 'Some (0)' may indicate a case not covered by the pattern(s). - -neg03.fs(72,9,72,28): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value 'Some (0)' may indicate a case not covered by the pattern(s). - -neg03.fs(73,9,73,28): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value 'Some (0)' may indicate a case not covered by the pattern(s). - -neg03.fs(74,9,74,24): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '(_,0)' may indicate a case not covered by the pattern(s). - -neg03.fs(76,9,76,14): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[|_|]' may indicate a case not covered by the pattern(s). - -neg03.fs(77,9,77,18): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[|_; _; _|]' may indicate a case not covered by the pattern(s). - -neg03.fs(78,9,78,18): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[|_; 0|]' may indicate a case not covered by the pattern(s). - -neg03.fs(79,9,79,16): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[|0|]' may indicate a case not covered by the pattern(s). - -neg03.fs(81,9,81,12): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '"a"' may indicate a case not covered by the pattern(s). - -neg03.fs(83,9,83,21): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '"a"' may indicate a case not covered by the pattern(s). - -neg03.fs(84,9,84,23): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '"a"' may indicate a case not covered by the pattern(s). - -neg03.fs(85,9,85,27): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '"a"' may indicate a case not covered by the pattern(s). - -neg03.fs(86,9,86,13): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '``some-non-null-value``' may indicate a case not covered by the pattern(s). - -neg03.fs(87,19,87,26): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '``some-other-subtype``' may indicate a case not covered by the pattern(s). - -neg03.fs(91,11,91,20): typecheck error FS0026: This rule will never be matched - -neg03.fs(97,11,97,20): typecheck error FS0026: This rule will never be matched - -neg03.fs(100,9,100,12): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[_]' may indicate a case not covered by the pattern(s). - -neg03.fs(101,9,101,16): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[_;_;_]' may indicate a case not covered by the pattern(s). - -neg03.fs(102,9,102,16): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[_;_;_]' may indicate a case not covered by the pattern(s). - -neg03.fs(103,9,103,14): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[_;_]' may indicate a case not covered by the pattern(s). - -neg03.fs(106,15,106,17): typecheck error FS0025: Incomplete pattern matches on this expression. For example, the value '[0]' may indicate a case not covered by the pattern(s). - -neg03.fs(148,23,148,26): typecheck error FS0003: This value is not a function and cannot be applied. - -neg03.fs(151,9,151,23): typecheck error FS0002: This function takes too many arguments, or is used in a context where a function is not expected - -neg03.fs(154,9,154,10): typecheck error FS0001: This expression was expected to have type - 'int -> int' -but here has type - 'int' diff --git a/tests/fsharp/typecheck/sigs/neg03.fs b/tests/fsharp/typecheck/sigs/neg03.fs deleted file mode 100644 index 2e930c946ca..00000000000 --- a/tests/fsharp/typecheck/sigs/neg03.fs +++ /dev/null @@ -1,154 +0,0 @@ -module Neg03 -type myRecord1 = { field1: int; field2: string } -type myRecord2 = { field2: string; field3: int } -let myGoodRecord1 = { new myRecord1 with field1 = 3 and field2 = "3" } -let myGoodRecord2 = { new myRecord2 with field3 = 3 and field2 = "3" } -let myGoodRecord3 = { new myRecord2 with field2 = "3" and field3 = 3; } -let myBadRecord1 = { new myRecord1 with field1 = 3 and field3 = "3" } -let myBadRecord2 = { new myRecord2 with field3 = 3 and field1 = "3" } -let myBadRecord3 = { new myRecord1 with field1 = 1 } -let myBadRecord4 = { new myRecord1 with field2 = "a" } -let myBadRecord5 = { new myRecord2 with field3 = 1 } - -// check location of incomplete and redundant match warnings -let [1] = [2] - -let f1 [1] = 1 - -let f2 () = match [2] with [3] -> 4 | _ -> 5 - -let f3 () = match [2] with | [3] -> 4 | _ -> 5 - -let f4 () = match [2] with | x -> 4 | [3] -> 5 - -let (lsl) (a:int) (b:int) = a <<< b -let _ = true <<< 4 -let _ = true lsl 4 -let _ = 4 lsl true -let _ = 4 <<< true - - -type C() = class - let t = ref (Map.empty) - let f x = (!t).Add("3",x) - member x.M() = !t - -end - -let x = C() -let v1 : Map = x.M() -let v2 : Map = x.M() - - -// check we're taking notice of RequiresExplicitTypeArgumentsAttribute -module GeneralizationOfTypeFunctionChecks = begin - let test3257 = typeof - let test3254 = sizeof - - // check type functions are not generalizeable by default - let r<'a> = printfn "abc"; ref ([] : 'a list) - let x1 = r<'a> - - let x2 = (x1 : int list ref) - let x3 = (x1 : string list ref) -end - - - -module IncompletePatternWarningTests = begin - let 1 = 3 - - let (1 | 2) = 3 - let (2 | 1) = 3 - - let (1,2) = 4,5 - - let (Some(1)) = Some(1) - - let (Some _) = Some(1) - let None = Some(1) - let (None | None) = Some(1) - let (None | None | Some(1)) = Some(1) - let (Some(2) | Some(1)) = Some(1) - let (Some(2) & Some(1)) = Some(1) - let ((1,2) | (2,1)) = 2,3 - - let [| |] = [| 2 |] - let [| _;_ |] = [| 2 |] - let [| 1;2 |] = [| 2 |] - let [| 1 |] = [| 2 |] - - let "1" = "3" - - let ("1" | "1a") = "3" - let ("1aa" | "1a") = "3" - let ("1aa" | "ssssss") = "3" - let null = "3" - let _ = match box "3" with :? string -> 1 - let _ = - match box "3" with - | :? string -> 1 - | :? string -> 1 // check this rule is marked as 'never be matched' - | _ -> 2 - - let _ = - match box "3" with - | :? System.IComparable -> 1 - | :? string -> 1 // check this rule is marked as 'never be matched' - | _ -> 2 - - let [ ] = [ 2 ] - let [ _;_ ] = [ 2 ] - let [ 1;2 ] = [ 2 ] - let [ 1 ] = [ 2 ] - - let _ = - match [] with - | [] -> () - | [1] -> () - | h1::h2::t -> () -(* - let _ = - match 1N with - | 2N -> () - | 3N -> () // suggests "13N" - - let _ = - match 1N with - | 2N -> () - | 3N -> () - | 13N -> () // suggests "113N" - - let _ = - match 1N with - | 2N -> () - | 2N -> () // check this rule is marked as 'never be matched' - | _ -> () - - let _ = - match 1I with - | 2I -> () - | 3I -> () // suggests "13I" - - - let _ = - match 1I with - | 2I -> () - | 3I -> () - | 13I -> () // suggests "113I" - - let _ = - match 1I with - | 2I -> () - | 2I -> () // check this rule is marked as 'never be matched' - | _ -> () - *) -end - -let foo (arr : int) = arr 1 - -let goo (f : int ) = () -do goo (fun x -> x + 1) - -let goo2 (f : int -> int) = () -do goo2 1 From 5f508eaeeadbbfda8f9c89a25c1acd088c006e39 Mon Sep 17 00:00:00 2001 From: kerams Date: Mon, 8 Dec 2025 13:51:57 +0100 Subject: [PATCH 04/25] Fixes --- src/FSharp.Core/prim-types.fs | 2 ++ src/FSharp.Core/prim-types.fsi | 5 +++++ .../CompilerServiceBenchmarks/CompilerServiceBenchmarks.fs | 1 - 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/FSharp.Core/prim-types.fs b/src/FSharp.Core/prim-types.fs index cc1c030732b..b2a195d5ea9 100644 --- a/src/FSharp.Core/prim-types.fs +++ b/src/FSharp.Core/prim-types.fs @@ -4558,6 +4558,8 @@ namespace Microsoft.FSharp.Core let inline (<<) func2 func1 x = func2 (func1 x) + let (^) (s1: string) (s2: string) = String.Concat(s1, s2) + [] let defaultArg arg defaultValue = match arg with None -> defaultValue | Some v -> v diff --git a/src/FSharp.Core/prim-types.fsi b/src/FSharp.Core/prim-types.fsi index 93987d46d37..3e71f128461 100644 --- a/src/FSharp.Core/prim-types.fsi +++ b/src/FSharp.Core/prim-types.fsi @@ -3271,6 +3271,11 @@ namespace Microsoft.FSharp.Core [] val defaultValueArg: arg: 'T voption -> defaultValue: 'T -> 'T + /// Concatenate two strings. Use the '+' operator instead. + [] + [] + val (^): s1:string -> s2:string -> string + /// Raises an exception /// /// The exception to raise. diff --git a/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/CompilerServiceBenchmarks.fs b/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/CompilerServiceBenchmarks.fs index a3eb749868f..aa7f623cad0 100644 --- a/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/CompilerServiceBenchmarks.fs +++ b/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/CompilerServiceBenchmarks.fs @@ -84,7 +84,6 @@ type CompilerServiceBenchmarks() = LangVersionText = "default" IsInteractive = false ApplyLineDirectives = false - IndentationAwareSyntax = None StrictIndentation = None CompilingFSharpCore = false IsExe = false From 31710a252a4c1877c3cdf0fa7dba1e2a794f68f6 Mon Sep 17 00:00:00 2001 From: kerams Date: Mon, 8 Dec 2025 16:57:48 +0100 Subject: [PATCH 05/25] Remove or $, fix tests --- .../Checking/Expressions/CheckExpressions.fs | 10 ++-- src/Compiler/FSComp.txt | 3 +- src/Compiler/Service/ServiceLexing.fs | 9 ---- src/Compiler/Service/ServiceLexing.fsi | 1 - src/Compiler/Service/SynExpr.fs | 4 +- src/Compiler/SyntaxTree/ParseHelpers.fs | 9 +--- src/Compiler/SyntaxTree/ParseHelpers.fsi | 1 - src/Compiler/SyntaxTree/PrettyNaming.fs | 17 +------ src/Compiler/TypedTree/TcGlobals.fs | 4 -- src/Compiler/TypedTree/TcGlobals.fsi | 4 -- src/Compiler/lex.fsl | 39 ---------------- src/Compiler/pars.fsy | 24 +--------- src/Compiler/xlf/FSComp.txt.cs.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.de.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.es.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.fr.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.it.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.ja.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.ko.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.pl.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.pt-BR.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.ru.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.tr.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.zh-Hans.xlf | 9 +--- src/Compiler/xlf/FSComp.txt.zh-Hant.xlf | 9 +--- src/FSharp.Core/prim-types.fsi | 6 ++- .../E_CyclicReference01.fs | 9 ---- .../RecursiveSafetyAnalysis.fs | 15 ------ .../TestLegacyThingsThatRegressedDuringRFC.fs | 17 ------- .../innerpoly.fsx | 19 -------- .../libtest.fsx | 46 ++++++------------- tests/fsharp/core/libtest/test.fsx | 46 ++++++------------- tests/fsharp/core/seq/test.fsx | 4 +- 33 files changed, 70 insertions(+), 334 deletions(-) delete mode 100644 tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/E_CyclicReference01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/IWSAMsAndSRTPs/testFiles/TestLegacyThingsThatRegressedDuringRFC.fs diff --git a/src/Compiler/Checking/Expressions/CheckExpressions.fs b/src/Compiler/Checking/Expressions/CheckExpressions.fs index c29c98283cb..48266834255 100644 --- a/src/Compiler/Checking/Expressions/CheckExpressions.fs +++ b/src/Compiler/Checking/Expressions/CheckExpressions.fs @@ -3789,14 +3789,12 @@ let buildApp (cenv: cenv) expr resultTy arg m = // Special rule for building applications of the 'x && y' operator | ApplicableExpr(expr=Expr.App (Expr.Val (vref, _, _), _, _, [x0], _)), _ - when valRefEq g vref g.and_vref - || valRefEq g vref g.and2_vref -> + when valRefEq g vref g.and2_vref -> MakeApplicableExprNoFlex cenv (mkLazyAnd g m x0 arg), resultTy // Special rule for building applications of the 'x || y' operator | ApplicableExpr(expr=Expr.App (Expr.Val (vref, _, _), _, _, [x0], _)), _ - when valRefEq g vref g.or_vref - || valRefEq g vref g.or2_vref -> + when valRefEq g vref g.or2_vref -> MakeApplicableExprNoFlex cenv (mkLazyOr g m x0 arg ), resultTy // Special rule for building applications of the 'reraise' operator @@ -8608,9 +8606,7 @@ and TcApplicationThen (cenv: cenv) (overallTy: OverallTy) env tpenv mExprAndArg match leftExpr with | ApplicableExpr(expr=Expr.Val (vref, _, _)) | ApplicableExpr(expr=Expr.App (Expr.Val (vref, _, _), _, _, [_], _)) - when valRefEq g vref g.and_vref - || valRefEq g vref g.and2_vref - || valRefEq g vref g.or_vref + when valRefEq g vref g.and2_vref || valRefEq g vref g.or2_vref -> { env with eIsControlFlow = true } | _ -> env diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index 4e7af3b07b5..b57bfe3c82c 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -391,7 +391,6 @@ csOverloadCandidateIndexedArgumentTypeMismatch,"Argument at index %d doesn't mat 516,parsEofInComment,"End of file in comment begun at or before here" 517,parsEofInStringInComment,"End of file in string embedded in comment begun at or before here" 518,parsEofInVerbatimStringInComment,"End of file in verbatim string embedded in comment begun at or before here" -519,parsEofInIfOcaml,"End of file in IF-OCAML section begun at or before here" 520,parsEofInDirective,"End of file in directive begun at or before here" 521,parsNoHashEndIfFound,"No #endif found for #if or #else" 522,parsAttributesIgnored,"Attributes have been ignored in this construct" @@ -1445,7 +1444,7 @@ keywordDescriptionNot,"Not actually a keyword. However, not struct in combinatio keywordDescriptionNull,"Indicates the absence of an object. Also used in generic parameter constraints." keywordDescriptionOf,"Used in discriminated unions to indicate the type of categories of values, and in delegate and exception declarations." keywordDescriptionOpen,"Used to make the contents of a namespace or module available without qualification." -keywordDescriptionOr,"Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints." +keywordDescriptionOr,"Used in member constraints." keywordDescriptionOverride,"Used to implement a version of an abstract or virtual method that differs from the base version." keywordDescriptionPrivate,"Restricts access to a member to code in the same type or module." keywordDescriptionPublic,"Allows access to a member from outside the type." diff --git a/src/Compiler/Service/ServiceLexing.fs b/src/Compiler/Service/ServiceLexing.fs index b6c1b21836b..7fbdf0c4d84 100644 --- a/src/Compiler/Service/ServiceLexing.fs +++ b/src/Compiler/Service/ServiceLexing.fs @@ -466,7 +466,6 @@ type FSharpTokenizerColorState = | Comment = 5 | StringInComment = 6 | VerbatimStringInComment = 7 - | CamlOnly = 8 | VerbatimString = 9 | SingleLineComment = 10 | EndLineThenSkip = 11 @@ -719,8 +718,6 @@ module internal LexerStateEncoding = | LexerStringStyle.ExtendedInterpolated -> FSharpTokenizerColorState.TripleQuoteStringInComment encodeLexCont (state, int64 n, m.Start, ifdefs, LexerStringKind.String, stringNest, 0) - | LexCont.MLOnly(ifdefs, stringNest, m) -> - encodeLexCont (FSharpTokenizerColorState.CamlOnly, 0L, m.Start, ifdefs, LexerStringKind.String, stringNest, 0) let decodeLexInt (state: FSharpTokenizerLexState) = let tag, n1, p1, ifdefs, stringKind, stringNest, delimLen = decodeLexCont state @@ -738,7 +735,6 @@ module internal LexerStateEncoding = LexCont.StringInComment(ifdefs, stringNest, LexerStringStyle.Verbatim, n1, mkRange "file" p1 p1) | FSharpTokenizerColorState.TripleQuoteStringInComment -> LexCont.StringInComment(ifdefs, stringNest, LexerStringStyle.TripleQuote, n1, mkRange "file" p1 p1) - | FSharpTokenizerColorState.CamlOnly -> LexCont.MLOnly(ifdefs, stringNest, mkRange "file" p1 p1) | FSharpTokenizerColorState.VerbatimString -> LexCont.String(ifdefs, stringNest, LexerStringStyle.Verbatim, stringKind, delimLen, mkRange "file" p1 p1) | FSharpTokenizerColorState.TripleQuoteString -> @@ -919,11 +915,6 @@ type FSharpLineTokenizer(lexbuf: UnicodeLexing.Lexbuf, maxLength: int option, fi | LexerStringStyle.TripleQuote | LexerStringStyle.ExtendedInterpolated -> Lexer.tripleQuoteStringInComment n m lexargs skip lexbuf - | LexCont.MLOnly(ifdefs, stringNest, m) -> - lexargs.ifdefStack <- ifdefs - lexargs.stringNest <- stringNest - Lexer.mlOnly m lexargs skip lexbuf - let columnsOfCurrentToken () = let leftp = lexbuf.StartPos let rightp = lexbuf.EndPos diff --git a/src/Compiler/Service/ServiceLexing.fsi b/src/Compiler/Service/ServiceLexing.fsi index 1129be724ef..a9d4060d933 100755 --- a/src/Compiler/Service/ServiceLexing.fsi +++ b/src/Compiler/Service/ServiceLexing.fsi @@ -27,7 +27,6 @@ type FSharpTokenizerColorState = | Comment = 5 | StringInComment = 6 | VerbatimStringInComment = 7 - | CamlOnly = 8 | VerbatimString = 9 | SingleLineComment = 10 | EndLineThenSkip = 11 diff --git a/src/Compiler/Service/SynExpr.fs b/src/Compiler/Service/SynExpr.fs index 896e9c7289c..d1d0c6eb4c3 100644 --- a/src/Compiler/Service/SynExpr.fs +++ b/src/Compiler/Service/SynExpr.fs @@ -257,8 +257,8 @@ module SynExpr = match trimmed[0], originalNotation with | _, ":=" -> ValueSome ColonEquals - | _, ("||" | "or") -> ValueSome(BarBar(OriginalNotation originalNotation)) - | _, ("&" | "&&") -> ValueSome(AmpAmp(OriginalNotation originalNotation)) + | _, "||" -> ValueSome(BarBar(OriginalNotation originalNotation)) + | _, "&&" -> ValueSome(AmpAmp(OriginalNotation originalNotation)) | '|', _ | '&', _ | '<', _ diff --git a/src/Compiler/SyntaxTree/ParseHelpers.fs b/src/Compiler/SyntaxTree/ParseHelpers.fs index ee2ffc99f58..5b91850432d 100644 --- a/src/Compiler/SyntaxTree/ParseHelpers.fs +++ b/src/Compiler/SyntaxTree/ParseHelpers.fs @@ -166,7 +166,6 @@ type LexerContinuation = style: LexerStringStyle * int * range: range - | MLOnly of ifdef: LexerIfdefStackEntries * nesting: LexerInterpolatedStringNesting * range: range | EndLine of ifdef: LexerIfdefStackEntries * nesting: LexerInterpolatedStringNesting * LexerEndlineContinuation static member Default = LexCont.Token([], []) @@ -179,8 +178,7 @@ type LexerContinuation = | LexCont.Comment(ifdef = ifd) | LexCont.SingleLineComment(ifdef = ifd) | LexCont.StringInComment(ifdef = ifd) - | LexCont.EndLine(ifdef = ifd) - | LexCont.MLOnly(ifdef = ifd) -> ifd + | LexCont.EndLine(ifdef = ifd) -> ifd member x.LexerInterpStringNesting = match x with @@ -190,8 +188,7 @@ type LexerContinuation = | LexCont.Comment(nesting = nesting) | LexCont.SingleLineComment(nesting = nesting) | LexCont.StringInComment(nesting = nesting) - | LexCont.EndLine(nesting = nesting) - | LexCont.MLOnly(nesting = nesting) -> nesting + | LexCont.EndLine(nesting = nesting) -> nesting and LexCont = LexerContinuation @@ -807,8 +804,6 @@ let checkEndOfFileError t = | LexCont.StringInComment(_, _, LexerStringStyle.TripleQuote, _, m) -> reportParseErrorAt m (FSComp.SR.parsEofInTripleQuoteStringInComment ()) - | LexCont.MLOnly(_, _, m) -> reportParseErrorAt m (FSComp.SR.parsEofInIfOcaml ()) - | LexCont.EndLine(_, _, LexerEndlineContinuation.IfdefSkip(_, m)) -> reportParseErrorAt m (FSComp.SR.parsEofInDirective ()) | LexCont.EndLine(endifs, nesting, LexerEndlineContinuation.Token) diff --git a/src/Compiler/SyntaxTree/ParseHelpers.fsi b/src/Compiler/SyntaxTree/ParseHelpers.fsi index 637516d56ca..6b3973cc586 100644 --- a/src/Compiler/SyntaxTree/ParseHelpers.fsi +++ b/src/Compiler/SyntaxTree/ParseHelpers.fsi @@ -92,7 +92,6 @@ type LexerContinuation = style: LexerStringStyle * int * range: range - | MLOnly of ifdef: LexerIfdefStackEntries * nesting: LexerInterpolatedStringNesting * range: range | EndLine of ifdef: LexerIfdefStackEntries * nesting: LexerInterpolatedStringNesting * LexerEndlineContinuation member LexerIfdefStack: LexerIfdefStackEntries diff --git a/src/Compiler/SyntaxTree/PrettyNaming.fs b/src/Compiler/SyntaxTree/PrettyNaming.fs index a2d7db4f165..334619c7748 100755 --- a/src/Compiler/SyntaxTree/PrettyNaming.fs +++ b/src/Compiler/SyntaxTree/PrettyNaming.fs @@ -255,27 +255,14 @@ let keywordsWithDescription: (string * string) list = let keywordLookup = set (List.map fst keywordsWithDescription) -// Some legacy compat operator names are not encode using op_XYZ and this -// do not carry sufficient information to distinguish between -// let (or) x y = x || y -// let ``or`` x y = x || y -// let (land) x y = x || y -// let ``land`` x y = x || y -// All are deprecated except 'mod'. All except those two get double-backticks let IsUnencodedOpName (name: string) = match name with | "mod" -> true | _ -> false -let IsUnencodedLegacyOpName (name: string) = - match name with - | "or" -> true - | _ -> false - let IsIdentifierName (name: string) = not (keywordLookup.Contains name) && not (IsUnencodedOpName name) - && not (IsUnencodedLegacyOpName name) && let nameLen = name.Length in nameLen > 0 @@ -423,7 +410,7 @@ let CompileOpName op = match standardOpNames.TryGetValue op with | true, x -> x | false, _ -> - if IsUnencodedOpName op || IsUnencodedLegacyOpName op || IsIdentifierName op then + if IsUnencodedOpName op || IsIdentifierName op then op else compileCustomOpName op @@ -771,8 +758,6 @@ let IsLogicalOpName (logicalName: string) = let (|Control|Equality|Relational|Indexer|FixedTypes|Other|) opName = match opName with - | "&" - | "or" | "&&" | "||" -> Control | "<>" diff --git a/src/Compiler/TypedTree/TcGlobals.fs b/src/Compiler/TypedTree/TcGlobals.fs index e205193951c..3e0bdfd0905 100644 --- a/src/Compiler/TypedTree/TcGlobals.fs +++ b/src/Compiler/TypedTree/TcGlobals.fs @@ -688,11 +688,9 @@ type TcGlobals( let v_memoize_file = MemoizationTable("v_memoize_file", compute, keyComparer = HashIdentity.Structural) - let v_and_info = makeIntrinsicValRef(fslib_MFIntrinsicOperators_nleref, CompileOpName "&" , None , None , [], mk_rel_sig v_bool_ty) let v_addrof_info = makeIntrinsicValRef(fslib_MFIntrinsicOperators_nleref, CompileOpName "~&" , None , None , [vara], ([[varaTy]], mkByrefTy varaTy)) let v_addrof2_info = makeIntrinsicValRef(fslib_MFIntrinsicOperators_nleref, CompileOpName "~&&" , None , None , [vara], ([[varaTy]], mkNativePtrTy varaTy)) let v_and2_info = makeIntrinsicValRef(fslib_MFIntrinsicOperators_nleref, CompileOpName "&&" , None , None , [], mk_rel_sig v_bool_ty) - let v_or_info = makeIntrinsicValRef(fslib_MFIntrinsicOperators_nleref, "or" , None , Some "Or" , [], mk_rel_sig v_bool_ty) let v_or2_info = makeIntrinsicValRef(fslib_MFIntrinsicOperators_nleref, CompileOpName "||" , None , None , [], mk_rel_sig v_bool_ty) let v_compare_operator_info = makeIntrinsicValRef(fslib_MFOperators_nleref, "compare" , None , Some "Compare", [vara], mk_compare_sig varaTy) let v_equals_operator_info = makeIntrinsicValRef(fslib_MFOperators_nleref, CompileOpName "=" , None , None , [vara], mk_rel_sig varaTy) @@ -1574,11 +1572,9 @@ type TcGlobals( member _.new_decimal_info = v_new_decimal_info member _.seq_info = v_seq_info member val seq_vref = (ValRefForIntrinsic v_seq_info) - member val and_vref = (ValRefForIntrinsic v_and_info) member val and2_vref = (ValRefForIntrinsic v_and2_info) member val addrof_vref = (ValRefForIntrinsic v_addrof_info) member val addrof2_vref = (ValRefForIntrinsic v_addrof2_info) - member val or_vref = (ValRefForIntrinsic v_or_info) member val splice_expr_vref = (ValRefForIntrinsic v_splice_expr_info) member val splice_raw_expr_vref = (ValRefForIntrinsic v_splice_raw_expr_info) member val or2_vref = (ValRefForIntrinsic v_or2_info) diff --git a/src/Compiler/TypedTree/TcGlobals.fsi b/src/Compiler/TypedTree/TcGlobals.fsi index cb05786cde9..e69bc7b5e80 100644 --- a/src/Compiler/TypedTree/TcGlobals.fsi +++ b/src/Compiler/TypedTree/TcGlobals.fsi @@ -278,8 +278,6 @@ type internal TcGlobals = member and2_vref: TypedTree.ValRef - member and_vref: TypedTree.ValRef - member array2D_get_info: IntrinsicValRef member array2D_get_vref: TypedTree.ValRef @@ -931,8 +929,6 @@ type internal TcGlobals = member or2_vref: TypedTree.ValRef - member or_vref: TypedTree.ValRef - member outref_tcr: TypedTree.EntityRef member pathMap: Internal.Utilities.PathMap diff --git a/src/Compiler/lex.fsl b/src/Compiler/lex.fsl index 63f3948e9eb..90f664ae547 100644 --- a/src/Compiler/lex.fsl +++ b/src/Compiler/lex.fsl @@ -600,11 +600,6 @@ rule token (args: LexArgs) (skip: bool) = parse if not skip then COMMENT (LexCont.Comment(args.ifdefStack, args.stringNest, 1, m)) else comment (1,m,args) skip lexbuf } - | "(*IF-CAML*)" | "(*IF-OCAML*)" - { let m = lexbuf.LexemeRange - if not skip then COMMENT (LexCont.MLOnly(args.ifdefStack, args.stringNest, m)) - else mlOnly m args skip lexbuf } - | '"' { let buf, fin, m = startString args lexbuf @@ -1869,37 +1864,3 @@ and tripleQuoteStringInComment (n: int) (m: range) (args: LexArgs) (skip: bool) | _ { if not skip then COMMENT (LexCont.StringInComment(args.ifdefStack, args.stringNest, LexerStringStyle.TripleQuote, n, m)) else tripleQuoteStringInComment n m args skip lexbuf } - - -and mlOnly (m: range) (args: LexArgs) (skip: bool) = parse - | "\"" - { let buf = ByteBuffer.Create StringCapacity - let m2 = lexbuf.LexemeRange - let _ = singleQuoteString (buf, LexerStringFinisher.Default, m2, LexerStringKind.String, args) skip lexbuf - if not skip then COMMENT (LexCont.MLOnly(args.ifdefStack, args.stringNest, m)) - else mlOnly m args skip lexbuf } - - | newline - { incrLine lexbuf - if not skip then COMMENT (LexCont.MLOnly(args.ifdefStack, args.stringNest, m)) - else mlOnly m args skip lexbuf } - - | "(*ENDIF-CAML*)" - { if not skip then COMMENT (LexCont.Token(args.ifdefStack, args.stringNest)) - else token args skip lexbuf } - - | "(*ENDIF-OCAML*)" - { if not skip then COMMENT (LexCont.Token(args.ifdefStack, args.stringNest)) - else token args skip lexbuf } - - | [^ '(' '"' '\n' '\r' ]+ - { if not skip then COMMENT (LexCont.MLOnly(args.ifdefStack, args.stringNest, m)) - else mlOnly m args skip lexbuf } - - | eof - { EOF (LexCont.MLOnly(args.ifdefStack, args.stringNest, m)) } - - | surrogateChar surrogateChar - | _ - { if not skip then COMMENT (LexCont.MLOnly(args.ifdefStack, args.stringNest, m)) - else mlOnly m args skip lexbuf } diff --git a/src/Compiler/pars.fsy b/src/Compiler/pars.fsy index 18c8f466918..ea55075ad20 100644 --- a/src/Compiler/pars.fsy +++ b/src/Compiler/pars.fsy @@ -348,8 +348,7 @@ let parse_error_rich = Some(fun (ctxt: ParseErrorContext<_>) -> %nonassoc interpolation_fill /* "...{3,N4}..." .NET style fill has higher precedence than "e COMMA e" */ %nonassoc paren_pat_colon %nonassoc paren_pat_attribs -%left OR BAR_BAR JOIN_IN -%left AND +%left BAR_BAR JOIN_IN %left AND_BANG %left AMP AMP_AMP %nonassoc pat_conj @@ -4667,21 +4666,6 @@ declExpr: reportParseErrorAt mOp (FSComp.SR.parsUnfinishedExpression $2) mkSynInfix mOp $1 $2 (arbExpr ("declExprInfixBarOp", mOp.EndRange)) } - | declExpr OR declExpr - { mkSynInfix (rhs parseState 2) $1 "or" $3 } - - | declExpr OR ends_coming_soon_or_recover - { reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression "or") - mkSynInfix (rhs parseState 2) $1 "or" (arbExpr ("declExprInfixOr", (rhs parseState 3).StartRange)) } - - | declExpr AMP declExpr - { mkSynInfix (rhs parseState 2) $1 "&" $3 } - - | declExpr AMP ends_coming_soon_or_recover - { let mOp = rhs parseState 2 - reportParseErrorAt mOp (FSComp.SR.parsUnfinishedExpression "&") - mkSynInfix mOp $1 "&" (arbExpr ("declExprInfixAmp", mOp.EndRange)) } - | declExpr AMP_AMP declExpr { mkSynInfix (rhs parseState 2) $1 "&&" $3 } @@ -6858,9 +6842,6 @@ operatorName: | EQUALS { "=" } - | OR - { "or" } - | LESS { "<" } @@ -6870,9 +6851,6 @@ operatorName: | QMARK { "?" } - | AMP - { "&" } - | AMP_AMP { "&&" } diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index e002c868aac..64ab9eb7b89 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -3637,11 +3637,6 @@ Konec souboru začal v doslovném řetězci vloženém do komentáře na této pozici nebo před ní. - - End of file in IF-OCAML section begun at or before here - Konec souboru začal v oddílu IF-OCAML na této pozici nebo před ní. - - End of file in directive begun at or before here Konec souboru začal v direktivě na této pozici nebo před ní. @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - Používá se v logických podmínkách jako logický operátor or. Ekvivalent ||. Používá se také v omezeních členů. + Used in member constraints. + Používá se v logických podmínkách jako logický operátor or. Ekvivalent ||. Používá se také v omezeních členů. diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index c9585c11259..ba35635a687 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -3637,11 +3637,6 @@ Dateiende in einer in den Kommentar eingebetteten ausführlichen Zeichenfolge, die an oder vor dieser Stelle begonnen wurde. - - End of file in IF-OCAML section begun at or before here - Dateiende in einem IF-OCAML-Abschnitt, der an oder vor dieser Stelle begonnen wurde. - - End of file in directive begun at or before here Dateiende in einer Direktive, die an oder vor dieser Stelle begonnen wurde. @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - Wird mit booleschen Bedingungen als boolescher Wert oder Operator verwendet. Entspricht ||. Wird auch in Memberbeschränkungen verwendet. + Used in member constraints. + Wird mit booleschen Bedingungen als boolescher Wert oder Operator verwendet. Entspricht ||. Wird auch in Memberbeschränkungen verwendet. diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index b299490230e..7d1b3220030 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -3637,11 +3637,6 @@ El final del archivo en la cadena textual incrustada en el comentario comenzaba aquí o antes. - - End of file in IF-OCAML section begun at or before here - El final del archivo en la sección IF-OCAML comenzaba aquí o antes. - - End of file in directive begun at or before here El final del archivo en la directiva comenzaba aquí o antes. @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - Se usa con las condiciones booleanas como operador booleano or. Equivale a ||. También se usa en las restricciones de miembro. + Used in member constraints. + Se usa con las condiciones booleanas como operador booleano or. Equivale a ||. También se usa en las restricciones de miembro. diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index 67897872e6a..c22f50aa4a8 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -3637,11 +3637,6 @@ Fin de fichier dans la chaîne textuelle incorporée dans le commentaire ayant débuté à cet emplacement ou avant - - End of file in IF-OCAML section begun at or before here - Fin de fichier dans la section IF-OCAML ayant débuté à cet emplacement ou avant - - End of file in directive begun at or before here Fin de fichier dans la directive ayant débuté à cet emplacement ou avant @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - Utilisé avec les conditions booléennes en tant qu'opérateur or booléen. Équivaut à ||. Utilisé également dans les contraintes de membre. + Used in member constraints. + Utilisé avec les conditions booléennes en tant qu'opérateur or booléen. Équivaut à ||. Utilisé également dans les contraintes de membre. diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index c6c6afd021a..86993517c7f 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -3637,11 +3637,6 @@ La fine del file nella stringa verbatim incorporata nel commento inizia in questa posizione o prima di essa - - End of file in IF-OCAML section begun at or before here - La fine del file nella sezione IF-OCAML inizia in questa posizione o prima di essa - - End of file in directive begun at or before here La fine del file nella direttiva inizia in questa posizione o prima di essa @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - Usata con le condizioni booleane come operatore or booleano. Equivalente a ||. Usata anche nei vincoli di membro. + Used in member constraints. + Usata con le condizioni booleane come operatore or booleano. Equivalente a ||. Usata anche nei vincoli di membro. diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index bfc1f15ee84..d03532962e9 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -3637,11 +3637,6 @@ この位置以前に始まったコメントに埋め込まれた verbatim 文字列の途中でファイルの終わりが見つかりました - - End of file in IF-OCAML section begun at or before here - この位置以前に始まった IF-OCAML セクションの途中でファイルの終わりが見つかりました - - End of file in directive begun at or before here この位置以前に始まったディレクティブの途中でファイルの終わりが見つかりました @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - ブール値の or 演算子としてブール条件で使用します。|| に相当します。メンバー制約でも使用します。 + Used in member constraints. + ブール値の or 演算子としてブール条件で使用します。|| に相当します。メンバー制約でも使用します。 diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index 30e411f3665..f4098ed0952 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -3637,11 +3637,6 @@ 주석에 포함된 축자 문자열의 파일 끝이 여기에서 또는 여기 앞에서 시작되었습니다. - - End of file in IF-OCAML section begun at or before here - IF-OCAML 섹션의 파일 끝이 여기에서 또는 여기 앞에서 시작되었습니다. - - End of file in directive begun at or before here 지시문의 파일 끝이 여기에서 또는 여기 앞에서 시작되었습니다. @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - 부울 또는 연산자로 부울 조건과 함께 사용됩니다. ||와 같습니다. 멤버 제약 조건에도 사용됩니다. + Used in member constraints. + 부울 또는 연산자로 부울 조건과 함께 사용됩니다. ||와 같습니다. 멤버 제약 조건에도 사용됩니다. diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index 6ee8ce5d267..d0d1d9b7f4a 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -3637,11 +3637,6 @@ Koniec pliku w ciągu dosłownego wyrażenia osadzonym w komentarzu rozpoczętym w tym miejscu lub przed nim - - End of file in IF-OCAML section begun at or before here - Koniec pliku w sekcji IF-OCAML rozpoczętej w tym miejscu lub przed nim - - End of file in directive begun at or before here Koniec pliku w dyrektywie rozpoczętej w tym miejscu lub przed nim @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - Używane z warunkami wartości logicznej jako wartość logiczna lub operator. Odpowiednik symbolu ||. Używane również w ograniczeniach elementu członkowskiego. + Used in member constraints. + Używane z warunkami wartości logicznej jako wartość logiczna lub operator. Odpowiednik symbolu ||. Używane również w ograniczeniach elementu członkowskiego. diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index d8822f5baf6..4734459949c 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -3637,11 +3637,6 @@ Fim de arquivo na cadeia de caracteres textual inserida no comentário iniciado aqui ou anteriormente - - End of file in IF-OCAML section begun at or before here - Fim de arquivo na seção de IF-OCAML iniciada aqui ou anteriormente - - End of file in directive begun at or before here Fim de arquivo na diretiva iniciada aqui ou anteriormente @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - Usado com condições Boolianas como um Booliano ou operador. Equivalente a ||. Também usado em restrições de membro. + Used in member constraints. + Usado com condições Boolianas como um Booliano ou operador. Equivalente a ||. Também usado em restrições de membro. diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index 54a0a33e3ac..c3d936010bc 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -3637,11 +3637,6 @@ Конец файла во встроенной в комментарий строке verbatim начался в этой позиции или до нее - - End of file in IF-OCAML section begun at or before here - Конец файла в разделе IF-OCAML начался в этой позиции или до нее - - End of file in directive begun at or before here Конец файла в директиве начался в этой позиции или до нее @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - Используется с логическими условиями в качестве логического значения или оператора. Эквивалентно ||. Также используется в ограничениях членов. + Used in member constraints. + Используется с логическими условиями в качестве логического значения или оператора. Эквивалентно ||. Также используется в ограничениях членов. diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index 187284efc89..91e14d0e6c6 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -3637,11 +3637,6 @@ Açıklamaya gömülü tam dizede dosya sonu burada veya daha önce başlatıldı - - End of file in IF-OCAML section begun at or before here - IF-OCAML bölümünde dosya sonu burada veya daha önce başlatıldı - - End of file in directive begun at or before here Yönergede dosya sonu burada veya daha önce başlatıldı @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - Bir Boolean değeri veya işleci olarak Boolean koşullarıyla birlikte kullanılır. Eşdeğeri || simgesidir. Ayrıca üye kısıtlamalarında kullanılır. + Used in member constraints. + Bir Boolean değeri veya işleci olarak Boolean koşullarıyla birlikte kullanılır. Eşdeğeri || simgesidir. Ayrıca üye kısıtlamalarında kullanılır. diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index f53f9024dda..8c4272e51a9 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -3637,11 +3637,6 @@ 文件尾在此处或之前开始的注释中嵌入的原义字符串中 - - End of file in IF-OCAML section begun at or before here - 文件尾在此处或之前开始的 IF-OCAML 节中 - - End of file in directive begun at or before here 文件尾在此处或之前开始的指令中 @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - 与布尔条件配合使用,作为布尔值或运算符。相当于 ||。另外,也用于成员约束。 + Used in member constraints. + 与布尔条件配合使用,作为布尔值或运算符。相当于 ||。另外,也用于成员约束。 diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index 7a52d290260..2497ef6d835 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -3637,11 +3637,6 @@ 內嵌在註解中的逐字字串中的檔案結尾於此處或之前開始 - - End of file in IF-OCAML section begun at or before here - IF-OCAML 區段中的檔案結尾於此處或之前開始 - - End of file in directive begun at or before here 指示詞中的檔案結尾於此處或之前開始 @@ -8463,8 +8458,8 @@ - Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - 搭配布林值條件使用,作為布林值或運算子。相當於 ||。也用於成員條件約束。 + Used in member constraints. + 搭配布林值條件使用,作為布林值或運算子。相當於 ||。也用於成員條件約束。 diff --git a/src/FSharp.Core/prim-types.fsi b/src/FSharp.Core/prim-types.fsi index 3e71f128461..afa3592b1a1 100644 --- a/src/FSharp.Core/prim-types.fsi +++ b/src/FSharp.Core/prim-types.fsi @@ -1733,7 +1733,8 @@ namespace Microsoft.FSharp.Core module IntrinsicOperators = /// Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand. - [] + [] + [] val (&): e1: bool -> e2: bool -> bool /// Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand @@ -1746,7 +1747,8 @@ namespace Microsoft.FSharp.Core /// Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand. [] - [] + [] + [] val (or): e1: bool -> e2: bool -> bool /// Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/E_CyclicReference01.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/E_CyclicReference01.fs deleted file mode 100644 index dd82ad25185..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/E_CyclicReference01.fs +++ /dev/null @@ -1,9 +0,0 @@ -// #Regression #Conformance #TypeInference #Recursion -// FS1 952, VS crash due to bad recursive type definition - - - -type bogusType = (int, bogusType) Map - -let empty : bogusType = Map.empty - diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs index ecc99ef26e7..b5c14c445a9 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs @@ -14,21 +14,6 @@ module RecursiveSafetyAnalysis = |> withOptions ["--warnaserror+"; "--nowarn:988"] |> compileExeAndRun - // SOURCE=E_CyclicReference01.fs SCFLAGS="--mlcompatibility --test:ErrorRanges --flaterrors" # E_CyclicReference01.fs - [] - let ``E_CyclicReference01_fs`` compilation = - compilation - |> getCompilation - |> withOptions ["--mlcompatibility"; "--flaterrors"] - |> withLangVersion50 - |> asExe - |> compile - |> shouldFail - |> withDiagnostics [ - (Error 953, Line 6, Col 6, Line 6, Col 15, "This type definition involves an immediate cyclic reference through an abbreviation") - (Error 1, Line 8, Col 25, Line 8, Col 34, "This expression was expected to have type 'bogusType' but here has type 'Map<'a,'b>'") - ] - // SOURCE=E_DuplicateRecursiveRecords.fs SCFLAGS="--test:ErrorRanges" # E_DuplicateRecursiveRecords.fs [] let``E_DuplicateRecursiveRecords_fs`` compilation = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/IWSAMsAndSRTPs/testFiles/TestLegacyThingsThatRegressedDuringRFC.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/IWSAMsAndSRTPs/testFiles/TestLegacyThingsThatRegressedDuringRFC.fs deleted file mode 100644 index b7080061a72..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/IWSAMsAndSRTPs/testFiles/TestLegacyThingsThatRegressedDuringRFC.fs +++ /dev/null @@ -1,17 +0,0 @@ -#nowarn "62" - -module TestLegacyThingsThatRegressedDuringRFC = - let legacyConcat1 (x: string) (y: string) = x ^ y - let legacyConcat2 (x: string) (y: string) = x ^y - let legacyConcat3 (x: string) (y: string) = x^ y - let legacyConcat4 (x: string) (y: string) = x^y - - let testSlicingOne() = - let arr = [| 1;2;3;4;5 |] - arr.[^3..] - - let testSlicingTwo() = - let arr = [| 1;2;3;4;5 |] - arr[^3..] - - printfn "" diff --git a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/innerpoly.fsx b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/innerpoly.fsx index d30645bf0b2..ed663eceb06 100644 --- a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/innerpoly.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/innerpoly.fsx @@ -34,25 +34,6 @@ let f (x:'a) = g1 "a" 1, g1 1 "a", g2 "a" "b", g2 3 4 -#if OCAML_RECORD_FIELDS -type z = { x : 'a. int -> 'a } - -let z2 = { x = (fun x -> failwith "a") } - -let f3 (x:int) = failwith "a" -let z3 = { x = f3 } - -let f2 n = - let z2 = { x = (fun (x:int) -> failwith (string_of_int (x+n))) } in - let f3 (x:int) = failwith "a" in - z2 - -let _ : string = try (f2 3).x(3) ^ "unused" with Failure _ -> "" -#endif - - - - let id x = x type ('a,'b) r = {a : 'a list; b: 'b list list } diff --git a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/libtest.fsx b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/libtest.fsx index 515e1428697..7314daaa04f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/libtest.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/libtest.fsx @@ -16,8 +16,8 @@ let reportFailure s = stdout.WriteLine "\n................TEST FAILED...............\n"; failures.Value <- failures.Value @ [s] let check s e r = - if r = e then stdout.WriteLine (s^": YES") - else (stdout.WriteLine ("\n***** "^s^": FAIL\n"); reportFailure s) + if r = e then stdout.WriteLine (s+": YES") + else (stdout.WriteLine ("\n***** "+s+": FAIL\n"); reportFailure s) let test s b = if b then ( (* stdout.WriteLine ("passed: " + s) *) ) @@ -1288,7 +1288,7 @@ let _ = pri "concat" (List.concat [[1;2]; [3;4]; [5;6]]) let prs s l = printString s; printString ": "; List.iter printString l; printNewLine () let _ = prs "none" ["1";"2";"3";"4";"5";"6"] let _ = prs "rev" (List.rev ["6";"5";"4";"3";"2";"1"]) -let _ = prs "map" (List.map (fun x -> x ^ ".0") (["1";"2";"3"])) +let _ = prs "map" (List.map (fun x -> x + ".0") (["1";"2";"3"])) let _ = prs "@" (["1";"2";"3"] @ ["4";"5";"6"]) let _ = prs "concat" (List.concat [["1";"2"]; ["3";"4"]; ["5";"6"]]) @@ -2020,8 +2020,8 @@ let _ = sort_test compare [0;1;2;3;4;5] let _ = sort_test (fun x y -> -(compare x y)) [5;4;3;2;1;0] *) module StrangeOperatorTest = - let (&&&) x y = x^y - let (<<<) (x:string) (y:string) = x ^y^x + let (&&&) x y = x+y + let (<<<) (x:string) (y:string) = x +y+x let e1 = ("0" &&& ("1" <<< "2")) let e2= (("0" &&& "1") <<< "2") @@ -2297,9 +2297,9 @@ module IEnumerableTests = begin do check "IEnumerableTest.exists" (Seq.forall ((=) "a") [| "1"; "a" |]) false do check "IEnumerableTest.map on finite" ([| "a" |] |> Seq.map (fun x -> x.Length) |> Seq.toArray) [| 1 |] do check "IEnumerableTest.filter on finite" ([| "a";"ab";"a" |] |> Seq.filter (fun x -> x.Length = 1) |> Seq.toArray) [| "a";"a" |] - do check "IEnumerableTest.choose on finite" ([| "a";"ab";"a" |] |> Seq.choose (fun x -> if x.Length = 1 then Some(x^"a") else None) |> Seq.toArray) [| "aa";"aa" |] - do check "Seq.tryPick on finite (succeeding)" ([| "a";"ab";"a" |] |> Seq.tryPick (fun x -> if x.Length = 1 then Some(x^"a") else None)) (Some "aa") - do check "Seq.tryPick on finite (failing)" ([| "a";"ab";"a" |] |> Seq.tryPick (fun x -> if x.Length = 6 then Some(x^"a") else None)) None + do check "IEnumerableTest.choose on finite" ([| "a";"ab";"a" |] |> Seq.choose (fun x -> if x.Length = 1 then Some(x+"a") else None) |> Seq.toArray) [| "aa";"aa" |] + do check "Seq.tryPick on finite (succeeding)" ([| "a";"ab";"a" |] |> Seq.tryPick (fun x -> if x.Length = 1 then Some(x+"a") else None)) (Some "aa") + do check "Seq.tryPick on finite (failing)" ([| "a";"ab";"a" |] |> Seq.tryPick (fun x -> if x.Length = 6 then Some(x+"a") else None)) None do check "IEnumerableTest.find on finite (succeeding)" ([| "a";"ab";"a" |] |> Seq.find (fun x -> x.Length = 1)) "a" do check "IEnumerableTest.find on finite (failing)" (try Some ([| "a";"ab";"a" |] |> Seq.find (fun x -> x.Length = 6)) with :? System.Collections.Generic.KeyNotFoundException -> None) None do check "IEnumerableTest.map_with_type (string up to obj,finite)" ([| "a" |] |> Seq.cast |> Seq.toArray) [| ("a" :> obj) |] @@ -2558,13 +2558,13 @@ module SeqTestsOnEnumerableEnforcingDisposalAtEnd = begin do check "" numActiveEnumerators 0 do check "IEnumerableTest.filter on finite" ([| "a";"ab";"a" |] |> Seq.filter (fun x -> x.Length = 1) |> countEnumeratorsAndCheckedDisposedAtMostOnceAtEnd |> Seq.toArray) [| "a";"a" |] do check "" numActiveEnumerators 0 - do check "IEnumerableTest.choose on finite" ([| "a";"ab";"a" |] |> Seq.choose (fun x -> if x.Length = 1 then Some(x^"a") else None) |> Seq.toArray) [| "aa";"aa" |] + do check "IEnumerableTest.choose on finite" ([| "a";"ab";"a" |] |> Seq.choose (fun x -> if x.Length = 1 then Some(x+"a") else None) |> Seq.toArray) [| "aa";"aa" |] do check "" numActiveEnumerators 0 - do check "Seq.pick on finite (succeeding)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.pick (fun x -> if x.Length = 1 then Some(x^"a") else None)) "aa" + do check "Seq.pick on finite (succeeding)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.pick (fun x -> if x.Length = 1 then Some(x+"a") else None)) "aa" do check "" numActiveEnumerators 0 - do check "Seq.tryPick on finite (succeeding)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.tryPick (fun x -> if x.Length = 1 then Some(x^"a") else None)) (Some "aa") + do check "Seq.tryPick on finite (succeeding)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.tryPick (fun x -> if x.Length = 1 then Some(x+"a") else None)) (Some "aa") do check "" numActiveEnumerators 0 - do check "Seq.tryPick on finite (failing)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.tryPick (fun x -> if x.Length = 6 then Some(x^"a") else None)) None + do check "Seq.tryPick on finite (failing)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.tryPick (fun x -> if x.Length = 6 then Some(x+"a") else None)) None do check "" numActiveEnumerators 0 do check "IEnumerableTest.find on finite (succeeding)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.find (fun x -> x.Length = 1)) "a" do check "" numActiveEnumerators 0 @@ -2730,24 +2730,6 @@ module SeqTestsOnEnumerableEnforcingDisposalAtEnd = begin end -let (lsr) (a:int) (b:int) = int32 (uint32 a >>> b) -let (lsl) (a:int) (b:int) = a <<< b -let (lor) (a:int) (b:int) = a ||| b -let (lxor) (a:int) (b:int) = a ^^^ b -let (land) (a:int) (b:int) = a &&& b -// check precedence of lsl, lsr etc. -let _ = fun (x:int) -> x > x lsr 1 -let _ = fun (x:int) -> x > (x lsr 1) -let _ = fun (x:int) -> x > x lsl 1 -let _ = fun (x:int) -> x > (x lsl 1) -let _ = fun (x:int) -> x > x lor 1 -let _ = fun (x:int) -> x > (x lor 1) -let _ = fun (x:int) -> x > x lxor 1 -let _ = fun (x:int) -> x > (x lxor 1) -let _ = fun (x:int) -> x > x land 1 -let _ = fun (x:int) -> x > (x land 1) - - // check ordering of NaN (* The predefined floating-point comparison operators are: @@ -4181,8 +4163,8 @@ do printf "FilterTests: next:\n"; stdout.Flush() module FilterTests = begin do printf "FilterTests: start:\n" let check s e r = - if r = e then stdout.WriteLine (s^": YES") - else (stdout.WriteLine ("\n***** "^s^": FAIL\n"); reportFailure "basic test Q") + if r = e then stdout.WriteLine (s+": YES") + else (stdout.WriteLine ("\n***** "+s+": FAIL\n"); reportFailure "basic test Q") let degen() = let map = diff --git a/tests/fsharp/core/libtest/test.fsx b/tests/fsharp/core/libtest/test.fsx index fae232ae5e9..085f26fdf4a 100644 --- a/tests/fsharp/core/libtest/test.fsx +++ b/tests/fsharp/core/libtest/test.fsx @@ -12,8 +12,8 @@ let reportFailure s = stdout.WriteLine "\n................TEST FAILED...............\n"; failures := !failures @ [s] let check s e r = - if r = e then stdout.WriteLine (s^": YES") - else (stdout.WriteLine ("\n***** "^s^": FAIL\n"); reportFailure s) + if r = e then stdout.WriteLine (s+": YES") + else (stdout.WriteLine ("\n***** "+s+": FAIL\n"); reportFailure s) let test s b = if b then ( (* stdout.WriteLine ("passed: " + s) *) ) @@ -1283,7 +1283,7 @@ let _ = pri "concat" (List.concat [[1;2]; [3;4]; [5;6]]) let prs s l = printString s; printString ": "; List.iter printString l; printNewLine () let _ = prs "none" ["1";"2";"3";"4";"5";"6"] let _ = prs "rev" (List.rev ["6";"5";"4";"3";"2";"1"]) -let _ = prs "map" (List.map (fun x -> x ^ ".0") (["1";"2";"3"])) +let _ = prs "map" (List.map (fun x -> x + ".0") (["1";"2";"3"])) let _ = prs "@" (["1";"2";"3"] @ ["4";"5";"6"]) let _ = prs "concat" (List.concat [["1";"2"]; ["3";"4"]; ["5";"6"]]) @@ -2015,8 +2015,8 @@ let _ = sort_test compare [0;1;2;3;4;5] let _ = sort_test (fun x y -> -(compare x y)) [5;4;3;2;1;0] *) module StrangeOperatorTest = - let (&&&) x y = x^y - let (<<<) (x:string) (y:string) = x ^y^x + let (&&&) x y = x+y + let (<<<) (x:string) (y:string) = x +y+x let e1 = ("0" &&& ("1" <<< "2")) let e2= (("0" &&& "1") <<< "2") @@ -2292,9 +2292,9 @@ module IEnumerableTests = begin do check "IEnumerableTest.exists" (Seq.forall ((=) "a") [| "1"; "a" |]) false do check "IEnumerableTest.map on finite" ([| "a" |] |> Seq.map (fun x -> x.Length) |> Seq.toArray) [| 1 |] do check "IEnumerableTest.filter on finite" ([| "a";"ab";"a" |] |> Seq.filter (fun x -> x.Length = 1) |> Seq.toArray) [| "a";"a" |] - do check "IEnumerableTest.choose on finite" ([| "a";"ab";"a" |] |> Seq.choose (fun x -> if x.Length = 1 then Some(x^"a") else None) |> Seq.toArray) [| "aa";"aa" |] - do check "Seq.tryPick on finite (succeeding)" ([| "a";"ab";"a" |] |> Seq.tryPick (fun x -> if x.Length = 1 then Some(x^"a") else None)) (Some "aa") - do check "Seq.tryPick on finite (failing)" ([| "a";"ab";"a" |] |> Seq.tryPick (fun x -> if x.Length = 6 then Some(x^"a") else None)) None + do check "IEnumerableTest.choose on finite" ([| "a";"ab";"a" |] |> Seq.choose (fun x -> if x.Length = 1 then Some(x+"a") else None) |> Seq.toArray) [| "aa";"aa" |] + do check "Seq.tryPick on finite (succeeding)" ([| "a";"ab";"a" |] |> Seq.tryPick (fun x -> if x.Length = 1 then Some(x+"a") else None)) (Some "aa") + do check "Seq.tryPick on finite (failing)" ([| "a";"ab";"a" |] |> Seq.tryPick (fun x -> if x.Length = 6 then Some(x+"a") else None)) None do check "IEnumerableTest.find on finite (succeeding)" ([| "a";"ab";"a" |] |> Seq.find (fun x -> x.Length = 1)) "a" do check "IEnumerableTest.find on finite (failing)" (try Some ([| "a";"ab";"a" |] |> Seq.find (fun x -> x.Length = 6)) with :? System.Collections.Generic.KeyNotFoundException -> None) None do check "IEnumerableTest.map_with_type (string up to obj,finite)" ([| "a" |] |> Seq.cast |> Seq.toArray) [| ("a" :> obj) |] @@ -2553,13 +2553,13 @@ module SeqTestsOnEnumerableEnforcingDisposalAtEnd = begin do check "" numActiveEnumerators 0 do check "IEnumerableTest.filter on finite" ([| "a";"ab";"a" |] |> Seq.filter (fun x -> x.Length = 1) |> countEnumeratorsAndCheckedDisposedAtMostOnceAtEnd |> Seq.toArray) [| "a";"a" |] do check "" numActiveEnumerators 0 - do check "IEnumerableTest.choose on finite" ([| "a";"ab";"a" |] |> Seq.choose (fun x -> if x.Length = 1 then Some(x^"a") else None) |> Seq.toArray) [| "aa";"aa" |] + do check "IEnumerableTest.choose on finite" ([| "a";"ab";"a" |] |> Seq.choose (fun x -> if x.Length = 1 then Some(x+"a") else None) |> Seq.toArray) [| "aa";"aa" |] do check "" numActiveEnumerators 0 - do check "Seq.pick on finite (succeeding)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.pick (fun x -> if x.Length = 1 then Some(x^"a") else None)) "aa" + do check "Seq.pick on finite (succeeding)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.pick (fun x -> if x.Length = 1 then Some(x+"a") else None)) "aa" do check "" numActiveEnumerators 0 - do check "Seq.tryPick on finite (succeeding)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.tryPick (fun x -> if x.Length = 1 then Some(x^"a") else None)) (Some "aa") + do check "Seq.tryPick on finite (succeeding)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.tryPick (fun x -> if x.Length = 1 then Some(x+"a") else None)) (Some "aa") do check "" numActiveEnumerators 0 - do check "Seq.tryPick on finite (failing)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.tryPick (fun x -> if x.Length = 6 then Some(x^"a") else None)) None + do check "Seq.tryPick on finite (failing)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.tryPick (fun x -> if x.Length = 6 then Some(x+"a") else None)) None do check "" numActiveEnumerators 0 do check "IEnumerableTest.find on finite (succeeding)" ([| "a";"ab";"a" |] |> countEnumeratorsAndCheckedDisposedAtMostOnce |> Seq.find (fun x -> x.Length = 1)) "a" do check "" numActiveEnumerators 0 @@ -2725,24 +2725,6 @@ module SeqTestsOnEnumerableEnforcingDisposalAtEnd = begin end -let (lsr) (a:int) (b:int) = int32 (uint32 a >>> b) -let (lsl) (a:int) (b:int) = a <<< b -let (lor) (a:int) (b:int) = a ||| b -let (lxor) (a:int) (b:int) = a ^^^ b -let (land) (a:int) (b:int) = a &&& b -// check precedence of lsl, lsr etc. -let _ = fun (x:int) -> x > x lsr 1 -let _ = fun (x:int) -> x > (x lsr 1) -let _ = fun (x:int) -> x > x lsl 1 -let _ = fun (x:int) -> x > (x lsl 1) -let _ = fun (x:int) -> x > x lor 1 -let _ = fun (x:int) -> x > (x lor 1) -let _ = fun (x:int) -> x > x lxor 1 -let _ = fun (x:int) -> x > (x lxor 1) -let _ = fun (x:int) -> x > x land 1 -let _ = fun (x:int) -> x > (x land 1) - - // check ordering of NaN (* The predefined floating-point comparison operators are: @@ -4176,8 +4158,8 @@ do printf "FilterTests: next:\n"; stdout.Flush() module FilterTests = begin do printf "FilterTests: start:\n" let check s e r = - if r = e then stdout.WriteLine (s^": YES") - else (stdout.WriteLine ("\n***** "^s^": FAIL\n"); reportFailure "basic test Q") + if r = e then stdout.WriteLine (s+": YES") + else (stdout.WriteLine ("\n***** "+s+": FAIL\n"); reportFailure "basic test Q") let degen() = let map = diff --git a/tests/fsharp/core/seq/test.fsx b/tests/fsharp/core/seq/test.fsx index 62f39fe5f3c..41dc22cd0cc 100644 --- a/tests/fsharp/core/seq/test.fsx +++ b/tests/fsharp/core/seq/test.fsx @@ -17,8 +17,8 @@ let reportFailure (s : string) = (* TEST SUITE FOR STANDARD LIBRARY *) let check s e r = - if r = e then stdout.WriteLine (s^": YES") - else (stdout.WriteLine ("\n***** "^s^": FAIL\n"); reportFailure s) + if r = e then stdout.WriteLine (s+": YES") + else (stdout.WriteLine ("\n***** "+s+": FAIL\n"); reportFailure s) let test s b = if b then ( (* stdout.WriteLine ("passed: " + s) *) ) From 0ff6ac47b9b1da08fe92522d644a2eaa47216384 Mon Sep 17 00:00:00 2001 From: kerams Date: Mon, 8 Dec 2025 19:36:55 +0100 Subject: [PATCH 06/25] Fix FSharp.Core operators --- src/FSharp.Core/prim-types.fs | 7 ++++--- src/FSharp.Core/prim-types.fsi | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/FSharp.Core/prim-types.fs b/src/FSharp.Core/prim-types.fs index b2a195d5ea9..13c1340eaa0 100644 --- a/src/FSharp.Core/prim-types.fs +++ b/src/FSharp.Core/prim-types.fs @@ -643,10 +643,11 @@ namespace Microsoft.FSharp.Core //------------------------------------------------------------------------- // Lazy and/or. Laziness added by the F# compiler. - let (&) e1 e2 = if e1 then e2 else false + [] + let __obsoleteAnd e1 e2 = if e1 then e2 else false let (&&) e1 e2 = if e1 then e2 else false [] - let (or) e1 e2 = if e1 then true else e2 + let __obsoleteOr e1 e2 = if e1 then true else e2 let (||) e1 e2 = if e1 then true else e2 //------------------------------------------------------------------------- @@ -723,7 +724,7 @@ namespace Microsoft.FSharp.Core // worst case: nothing known about source or destination let UnboxGeneric<'T>(source: objnull) = - if notnullPrim(source) or TypeInfo<'T>.TypeInfo <> TypeNullnessSemantics_NullNotLiked then + if notnullPrim(source) || TypeInfo<'T>.TypeInfo <> TypeNullnessSemantics_NullNotLiked then unboxPrim<'T>(source) else //System.Console.WriteLine("UnboxGeneric, x = {0}, 'T = {1}", x, typeof<'T>) diff --git a/src/FSharp.Core/prim-types.fsi b/src/FSharp.Core/prim-types.fsi index afa3592b1a1..d140a943a7e 100644 --- a/src/FSharp.Core/prim-types.fsi +++ b/src/FSharp.Core/prim-types.fsi @@ -1733,9 +1733,10 @@ namespace Microsoft.FSharp.Core module IntrinsicOperators = /// Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand. + [] [] [] - val (&): e1: bool -> e2: bool -> bool + val __obsoleteAnd: e1: bool -> e2: bool -> bool /// Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand /// @@ -1749,7 +1750,7 @@ namespace Microsoft.FSharp.Core [] [] [] - val (or): e1: bool -> e2: bool -> bool + val __obsoleteOr: e1: bool -> e2: bool -> bool /// Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand /// From dfd4521527fc68c31a8ad10312d7ddb97fe9d21c Mon Sep 17 00:00:00 2001 From: kerams Date: Mon, 8 Dec 2025 21:07:02 +0100 Subject: [PATCH 07/25] Test fixes --- src/Compiler/pars.fsy | 3 +- .../libtest.fsx | 3 +- tests/fsharp/core/patterns/test.fsx | 4 +- .../RemoveUnnecessaryParenthesesTests.fs | 24 +++-- .../SyntacticColorizationServiceTests.fs | 88 +------------------ 5 files changed, 16 insertions(+), 106 deletions(-) diff --git a/src/Compiler/pars.fsy b/src/Compiler/pars.fsy index ea55075ad20..48eb91becf7 100644 --- a/src/Compiler/pars.fsy +++ b/src/Compiler/pars.fsy @@ -348,7 +348,8 @@ let parse_error_rich = Some(fun (ctxt: ParseErrorContext<_>) -> %nonassoc interpolation_fill /* "...{3,N4}..." .NET style fill has higher precedence than "e COMMA e" */ %nonassoc paren_pat_colon %nonassoc paren_pat_attribs -%left BAR_BAR JOIN_IN +%left OR BAR_BAR JOIN_IN +%left AND %left AND_BANG %left AMP AMP_AMP %nonassoc pat_conj diff --git a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/libtest.fsx b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/libtest.fsx index 7314daaa04f..a0c0dcef212 100644 --- a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/libtest.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/libtest.fsx @@ -8,7 +8,6 @@ let (:=) (r: 'T ref) (v: 'T) = r.Value <- v let incr (r: int ref) = r.Value <- r.Value + 1 let decr (r: int ref) = r.Value <- r.Value - 1 -#nowarn "62" #nowarn "44" let failures = ref [] @@ -2021,7 +2020,7 @@ let _ = sort_test (fun x y -> -(compare x y)) [5;4;3;2;1;0] *) module StrangeOperatorTest = let (&&&) x y = x+y - let (<<<) (x:string) (y:string) = x +y+x + let (<<<) (x:string) (y:string) = x + y + x let e1 = ("0" &&& ("1" <<< "2")) let e2= (("0" &&& "1") <<< "2") diff --git a/tests/fsharp/core/patterns/test.fsx b/tests/fsharp/core/patterns/test.fsx index dce360f5996..f1e7a582a62 100644 --- a/tests/fsharp/core/patterns/test.fsx +++ b/tests/fsharp/core/patterns/test.fsx @@ -10,8 +10,6 @@ module Core_patterns open System open System.Reflection -#light - let failures = ref [] let report_failure (s : string) = @@ -888,7 +886,7 @@ module ActivePatternsFromTheHub = let (|NightTime|_|) (time:System.DateTime) = let hourOfDay = time.TimeOfDay.Hours in - predicate (hourOfDay < 5 or hourOfDay > 19) + predicate (hourOfDay < 5 || hourOfDay > 19) let (|International|_|) cc = predicate (cc <> "") diff --git a/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs b/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs index a7b90207877..7901df88801 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs +++ b/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs @@ -2192,7 +2192,7 @@ let _ = (2 + 2) { return 5 } match s[0], s with | '*', _ when s.Length > 1 && s[1] = '*' -> "**op" | ':', _ - | _, ("$" | "||" | "or" | "&" | "&&") -> s + | _, ("$" | "||" | "&&") -> s | '!', _ -> "!=op" | c, _ -> $"{c}op" @@ -2242,12 +2242,12 @@ let _ = (2 + 2) { return 5 } | OuterLeft(_, ("=op" | "|op" | "&op" | "$" | ">op" | " fixable pair | OuterLeft(("=op" | "|op" | "&op" | "$" | ">op" | " unfixable pair | OuterLeft(_, (":>" | ":?>")) -> fixable pair - | OuterLeft(("&" | "&&"), ("&" | "&&")) -> if pair.Identical then fixable pair else unfixable pair - | OuterLeft(_, ("&" | "&&")) -> fixable pair - | OuterLeft(("&" | "&&"), _) -> unfixable pair - | OuterLeft(("||" | "or"), ("||" | "or")) -> if pair.Identical then fixable pair else unfixable pair - | OuterLeft(_, ("||" | "or")) -> fixable pair - | OuterLeft(("||" | "or"), _) -> unfixable pair + | OuterLeft("&&", "&&") -> fixable pair + | OuterLeft(_, "&&") -> fixable pair + | OuterLeft("&&", _) -> unfixable pair + | OuterLeft("||", "||") -> fixable pair + | OuterLeft(_, "||") -> fixable pair + | OuterLeft("||", _) -> unfixable pair | OuterLeft(":=", ":=") -> fixable pair | OuterRight((":?" | ":>" | ":?>"), _) -> invalidPairing @@ -2267,10 +2267,10 @@ let _ = (2 + 2) { return 5 } | OuterRight(("=op" | "|op" | "&op" | "$" | ">op" | " fixable pair | OuterRight(_, ("=op" | "|op" | "&op" | "$" | ">op" | " unfixable pair | OuterRight(_, (":>" | ":?>")) -> unfixable pair - | OuterRight(("&" | "&&"), _) -> fixable pair - | OuterRight(_, ("&" | "&&")) -> unfixable pair - | OuterRight(("||" | "or"), _) -> fixable pair - | OuterRight(_, ("||" | "or")) -> unfixable pair + | OuterRight("&&", _) -> fixable pair + | OuterRight(_, "&&") -> unfixable pair + | OuterRight("||", _) -> fixable pair + | OuterRight(_, "||") -> unfixable pair | OuterRight(":=", ":=") -> unfixable pair | _ -> unfixable pair @@ -2303,9 +2303,7 @@ let _ = (2 + 2) { return 5 } ":>" ":?>" "&&" - "&" "||" - "or" ":=" ] diff --git a/vsintegration/tests/FSharp.Editor.Tests/SyntacticColorizationServiceTests.fs b/vsintegration/tests/FSharp.Editor.Tests/SyntacticColorizationServiceTests.fs index 04ab8dd2448..f92bcd78d81 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/SyntacticColorizationServiceTests.fs +++ b/vsintegration/tests/FSharp.Editor.Tests/SyntacticColorizationServiceTests.fs @@ -660,91 +660,6 @@ type SyntacticClassificationServiceTests() = classificationType = ClassificationTypeNames.StringLiteral ) - // Regression test for FSHARP1.0:4279 - [] - member this.Keyword_OCaml_asr() = - this.VerifyColorizerAtStartOfMarker( - fileContents = - """ - let foo a = - match a with - | Some(asr, b) -> () - |_ -> ()""", - marker = "asr", - defines = [], - classificationType = ClassificationTypeNames.Keyword - ) - - [] - member this.Keyword_OCaml_land() = - this.VerifyColorizerAtStartOfMarker( - fileContents = - """ - let foo a = - match a with - | Some(land, b) -> () - |_ -> ()""", - marker = "land", - defines = [], - classificationType = ClassificationTypeNames.Keyword - ) - - [] - member this.Keyword_OCaml_lor() = - this.VerifyColorizerAtStartOfMarker( - fileContents = - """ - let foo a = - match a with - | Some(lor, b) -> () - |_ -> ()""", - marker = "lor", - defines = [], - classificationType = ClassificationTypeNames.Keyword - ) - - [] - member this.Keyword_OCaml_lsl() = - this.VerifyColorizerAtStartOfMarker( - fileContents = - """ - let foo a = - match a with - | Some(lsl, b) -> () - |_ -> ()""", - marker = "lsl", - defines = [], - classificationType = ClassificationTypeNames.Keyword - ) - - [] - member this.Keyword_OCaml_lsr() = - this.VerifyColorizerAtStartOfMarker( - fileContents = - """ - let foo a = - match a with - | Some(lsr, b) -> () - |_ -> ()""", - marker = "lsr", - defines = [], - classificationType = ClassificationTypeNames.Keyword - ) - - [] - member this.Keyword_OCaml_lxor() = - this.VerifyColorizerAtStartOfMarker( - fileContents = - """ - let foo a = - match a with - | Some(lxor, b) -> () - |_ -> ()""", - marker = "lxor", - defines = [], - classificationType = ClassificationTypeNames.Keyword - ) - [] member this.Keyword_OCaml_mod() = this.VerifyColorizerAtStartOfMarker( @@ -1075,7 +990,6 @@ type SyntacticClassificationServiceTests() = /// FEATURE: Preprocessor keywords #light\#if\#else\#endif are colored with the PreprocessorKeyword color. /// FEATURE: All code in the inactive side of #if\#else\#endif is colored with the InactiveCode color. [] - [] [] [] [] @@ -1088,7 +1002,7 @@ type SyntacticClassificationServiceTests() = member public this.Preprocessor_Keywords(marker: string, classificationType: string) = this.VerifyColorizerAtStartOfMarker( fileContents = - "#light (*Light*) + " #if UNDEFINED //(*If*) let x = 1(*Inactive*) #else //(*Else*) From bddc14eb662eb53bdb3aec3fd46d3226b6cd3b61 Mon Sep 17 00:00:00 2001 From: kerams Date: Mon, 8 Dec 2025 21:40:08 +0100 Subject: [PATCH 08/25] Fix tests --- tests/fsharp/core/libtest/test.fsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/fsharp/core/libtest/test.fsx b/tests/fsharp/core/libtest/test.fsx index 085f26fdf4a..725daf87897 100644 --- a/tests/fsharp/core/libtest/test.fsx +++ b/tests/fsharp/core/libtest/test.fsx @@ -2016,7 +2016,7 @@ let _ = sort_test (fun x y -> -(compare x y)) [5;4;3;2;1;0] *) module StrangeOperatorTest = let (&&&) x y = x+y - let (<<<) (x:string) (y:string) = x +y+x + let (<<<) (x:string) (y:string) = x + y + x let e1 = ("0" &&& ("1" <<< "2")) let e2= (("0" &&& "1") <<< "2") From 06034f2d2b9cc5fbef86fc693a78e2fd8dc15aaa Mon Sep 17 00:00:00 2001 From: kerams Date: Tue, 9 Dec 2025 10:18:34 +0100 Subject: [PATCH 09/25] Baselines --- ...iler.Service.SurfaceArea.netstandard20.bsl | 46 +------------------ ..._FSharp.Compiler.Service_Debug_net10.0.bsl | 4 +- ....Compiler.Service_Debug_netstandard2.0.bsl | 4 +- ...Sharp.Compiler.Service_Release_net10.0.bsl | 4 +- ...ompiler.Service_Release_netstandard2.0.bsl | 4 +- ...leteNestedModuleSigShouldBePresent.fsi.bsl | 2 +- tests/service/data/SyntaxTree/Type/Type 10.fs | 1 + 7 files changed, 11 insertions(+), 54 deletions(-) diff --git a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl index bd46be604f5..de9ee4a9635 100644 --- a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl @@ -2235,16 +2235,14 @@ FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 GetHashCode() FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Int32 GetHashCode(System.Collections.IEqualityComparer) FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Microsoft.FSharp.Collections.FSharpList`1[System.String] ConditionalDefines FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Microsoft.FSharp.Collections.FSharpList`1[System.String] get_ConditionalDefines() -FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Microsoft.FSharp.Core.FSharpOption`1[System.Boolean] IndentationAwareSyntax FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Microsoft.FSharp.Core.FSharpOption`1[System.Boolean] StrictIndentation -FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Microsoft.FSharp.Core.FSharpOption`1[System.Boolean] get_IndentationAwareSyntax() FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Microsoft.FSharp.Core.FSharpOption`1[System.Boolean] get_StrictIndentation() FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: System.String LangVersionText FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: System.String ToString() FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: System.String get_LangVersionText() FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: System.String[] SourceFiles FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: System.String[] get_SourceFiles() -FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Void .ctor(System.String[], Boolean, Microsoft.FSharp.Collections.FSharpList`1[System.String], FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions, System.String, Boolean, Microsoft.FSharp.Core.FSharpOption`1[System.Boolean], Microsoft.FSharp.Core.FSharpOption`1[System.Boolean], Boolean, Boolean) +FSharp.Compiler.CodeAnalysis.FSharpParsingOptions: Void .ctor(System.String[], Boolean, Microsoft.FSharp.Collections.FSharpList`1[System.String], FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions, System.String, Boolean, Microsoft.FSharp.Core.FSharpOption`1[System.Boolean], Boolean, Boolean) FSharp.Compiler.CodeAnalysis.FSharpProjectContext: FSharp.Compiler.CodeAnalysis.FSharpProjectOptions ProjectOptions FSharp.Compiler.CodeAnalysis.FSharpProjectContext: FSharp.Compiler.CodeAnalysis.FSharpProjectOptions get_ProjectOptions() FSharp.Compiler.CodeAnalysis.FSharpProjectContext: FSharp.Compiler.Symbols.FSharpAccessibilityRights AccessibilityRights @@ -11199,7 +11197,6 @@ FSharp.Compiler.Tokenization.FSharpLexer: Void Tokenize(FSharp.Compiler.Text.ISo FSharp.Compiler.Tokenization.FSharpLexerFlags: FSharp.Compiler.Tokenization.FSharpLexerFlags Compiling FSharp.Compiler.Tokenization.FSharpLexerFlags: FSharp.Compiler.Tokenization.FSharpLexerFlags CompilingFSharpCore FSharp.Compiler.Tokenization.FSharpLexerFlags: FSharp.Compiler.Tokenization.FSharpLexerFlags Default -FSharp.Compiler.Tokenization.FSharpLexerFlags: FSharp.Compiler.Tokenization.FSharpLexerFlags LightSyntaxOn FSharp.Compiler.Tokenization.FSharpLexerFlags: FSharp.Compiler.Tokenization.FSharpLexerFlags SkipTrivia FSharp.Compiler.Tokenization.FSharpLexerFlags: FSharp.Compiler.Tokenization.FSharpLexerFlags UseLexFilter FSharp.Compiler.Tokenization.FSharpLexerFlags: Int32 value__ @@ -11281,7 +11278,6 @@ FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Ampersand FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 AmpersandAmpersand FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 And FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 As -FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Asr FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Assert FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Bar FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 BarBar @@ -11339,7 +11335,6 @@ FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 Hash FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 HashElse FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 HashEndIf FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 HashIf -FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 HashLight FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 HashLine FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 HighPrecedenceBracketApp FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 HighPrecedenceParenthesisApp @@ -11351,15 +11346,9 @@ FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 If FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 In FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InactiveCode FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixAmpersandOperator -FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixAsr FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixAtHatOperator FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixBarOperator FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixCompareOperator -FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixLand -FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixLor -FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixLsl -FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixLsr -FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixLxor FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixMod FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixStarDivideModuloOperator FSharp.Compiler.Tokenization.FSharpTokenKind+Tags: Int32 InfixStarStarOperator @@ -11479,7 +11468,6 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsAmpersand FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsAmpersandAmpersand FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsAnd FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsAs -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsAsr FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsAssert FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsBar FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsBarBar @@ -11537,7 +11525,6 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsHash FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsHashElse FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsHashEndIf FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsHashIf -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsHashLight FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsHashLine FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsHighPrecedenceBracketApp FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsHighPrecedenceParenthesisApp @@ -11549,15 +11536,9 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsIf FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsIn FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInactiveCode FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixAmpersandOperator -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixAsr FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixAtHatOperator FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixBarOperator FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixCompareOperator -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixLand -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixLor -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixLsl -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixLsr -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixLxor FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixMod FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixStarDivideModuloOperator FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean IsInfixStarStarOperator @@ -11673,7 +11654,6 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsAmpersand() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsAmpersandAmpersand() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsAnd() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsAs() -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsAsr() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsAssert() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsBar() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsBarBar() @@ -11731,7 +11711,6 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsHash() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsHashElse() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsHashEndIf() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsHashIf() -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsHashLight() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsHashLine() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsHighPrecedenceBracketApp() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsHighPrecedenceParenthesisApp() @@ -11743,15 +11722,9 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsIf() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsIn() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInactiveCode() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixAmpersandOperator() -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixAsr() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixAtHatOperator() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixBarOperator() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixCompareOperator() -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixLand() -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixLor() -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixLsl() -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixLsr() -FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixLxor() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixMod() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixStarDivideModuloOperator() FSharp.Compiler.Tokenization.FSharpTokenKind: Boolean get_IsInfixStarStarOperator() @@ -11867,7 +11840,6 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind AmpersandAmpersand FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind And FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind As -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Asr FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Assert FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind Bar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind BarBar @@ -11925,7 +11897,6 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind HashElse FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind HashEndIf FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind HashIf -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind HashLight FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind HashLine FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind HighPrecedenceBracketApp FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind HighPrecedenceParenthesisApp @@ -11937,15 +11908,9 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind In FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InactiveCode FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixAmpersandOperator -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixAsr FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixAtHatOperator FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixBarOperator FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixCompareOperator -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixLand -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixLor -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixLsl -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixLsr -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixLxor FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixMod FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixStarDivideModuloOperator FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind InfixStarStarOperator @@ -12061,7 +12026,6 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_AmpersandAmpersand() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_And() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_As() -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Asr() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Assert() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_Bar() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_BarBar() @@ -12119,7 +12083,6 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_HashElse() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_HashEndIf() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_HashIf() -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_HashLight() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_HashLine() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_HighPrecedenceBracketApp() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_HighPrecedenceParenthesisApp() @@ -12131,15 +12094,9 @@ FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FShar FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_In() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InactiveCode() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixAmpersandOperator() -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixAsr() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixAtHatOperator() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixBarOperator() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixCompareOperator() -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixLand() -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixLor() -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixLsl() -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixLsr() -FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixLxor() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixMod() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixStarDivideModuloOperator() FSharp.Compiler.Tokenization.FSharpTokenKind: FSharp.Compiler.Tokenization.FSharpTokenKind get_InfixStarStarOperator() @@ -12395,7 +12352,6 @@ FSharp.Compiler.Tokenization.FSharpTokenTriggerClass: FSharp.Compiler.Tokenizati FSharp.Compiler.Tokenization.FSharpTokenTriggerClass: FSharp.Compiler.Tokenization.FSharpTokenTriggerClass ParamNext FSharp.Compiler.Tokenization.FSharpTokenTriggerClass: FSharp.Compiler.Tokenization.FSharpTokenTriggerClass ParamStart FSharp.Compiler.Tokenization.FSharpTokenTriggerClass: Int32 value__ -FSharp.Compiler.Tokenization.FSharpTokenizerColorState: FSharp.Compiler.Tokenization.FSharpTokenizerColorState CamlOnly FSharp.Compiler.Tokenization.FSharpTokenizerColorState: FSharp.Compiler.Tokenization.FSharpTokenizerColorState Comment FSharp.Compiler.Tokenization.FSharpTokenizerColorState: FSharp.Compiler.Tokenization.FSharpTokenizerColorState EndLineThenSkip FSharp.Compiler.Tokenization.FSharpTokenizerColorState: FSharp.Compiler.Tokenization.FSharpTokenizerColorState EndLineThenToken diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net10.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net10.0.bsl index 470ea6b368f..203ed9f800e 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net10.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_net10.0.bsl @@ -39,8 +39,8 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerOptions+attempt::Invoke([FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1)][offset 0x00000E9F][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+::Invoke(int32)][offset 0x00000030][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+::Invoke(int32)][offset 0x00000039][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000062B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000634][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000061D][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000626][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.PatternMatchCompilation::isProblematicClause([FSharp.Compiler.Service]FSharp.Compiler.PatternMatchCompilation+MatchClause)][offset 0x00000065][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : .$FSharp.Compiler.PatternMatchCompilation::.cctor()][offset 0x00000015][found Boolean] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.TypeProviders::ValidateExpectedName([FSharp.Compiler.Service]FSharp.Compiler.Text.Range, string[], string, [FSharp.Compiler.Service]FSharp.Compiler.Tainted`1)][offset 0x000000AD][found Char] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl index 61040597ad0..c584493399c 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Debug_netstandard2.0.bsl @@ -56,8 +56,8 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+::Invoke(int32)][offset 0x00000030][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+::Invoke(int32)][offset 0x00000039][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerImports+line::Invoke(string)][offset 0x0000000B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000062B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000634][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000061D][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000626][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.PatternMatchCompilation::isProblematicClause([FSharp.Compiler.Service]FSharp.Compiler.PatternMatchCompilation+MatchClause)][offset 0x00000065][found Byte] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : .$FSharp.Compiler.PatternMatchCompilation::.cctor()][offset 0x00000015][found Boolean] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.NicePrint+TastDefinitionPrinting+meths::Invoke([FSharp.Compiler.Service]FSharp.Compiler.Infos+MethInfo)][offset 0x000000BE][found Char] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net10.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net10.0.bsl index e29bd8bbaec..f3f3611b02c 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net10.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_net10.0.bsl @@ -41,8 +41,8 @@ [IL]: Error [StackUnderflow]: : FSharp.Compiler.CompilerOptions::DoWithColor([System.Console]System.ConsoleColor, [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2)][offset 0x0000005E] Stack underflow. [IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode::Invoke(int32)][offset 0x00000031][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode::Invoke(int32)][offset 0x0000003A][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000059C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x000005A5][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000590][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000599][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.IlxGen::HashRangeSorted([S.P.CoreLib]System.Collections.Generic.IDictionary`2>)][offset 0x00000011][found ref '[FSharp.Compiler.Service]FSharp.Compiler.IlxGen+HashRangeSorted'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.IlxGen::HashRangeSorted([S.P.CoreLib]System.Collections.Generic.IDictionary`2>)][offset 0x00000012][found ref '[FSharp.Compiler.Service]FSharp.Compiler.IlxGen+HashRangeSorted'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,T0>'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.PatternMatchCompilation::isProblematicClause([FSharp.Compiler.Service]FSharp.Compiler.PatternMatchCompilation+MatchClause)][offset 0x00000040][found Byte] Unexpected type on the stack. diff --git a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl index 2d4250700df..ac583186653 100644 --- a/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl +++ b/tests/ILVerify/ilverify_FSharp.Compiler.Service_Release_netstandard2.0.bsl @@ -59,8 +59,8 @@ [IL]: Error [StackUnexpected]: : FSharp.Compiler.ParseAndCheckInputs+CheckMultipleInputsUsingGraphMode::Invoke(int32)][offset 0x0000003A][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerImports+TcConfig-TryResolveLibWithDirectories::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x00000021][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerImports+TcConfig-TryResolveLibWithDirectories::Invoke([FSharp.Core]Microsoft.FSharp.Core.Unit)][offset 0x0000003B][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x0000059C][found Char] Unexpected type on the stack. -[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x000005A5][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000590][found Char] Unexpected type on the stack. +[IL]: Error [StackUnexpected]: : FSharp.Compiler.CompilerConfig+TcConfig::.ctor([FSharp.Compiler.Service]FSharp.Compiler.CompilerConfig+TcConfigBuilder, bool)][offset 0x00000599][found Char] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.IlxGen::HashRangeSorted([S.P.CoreLib]System.Collections.Generic.IDictionary`2>)][offset 0x00000011][found ref '[FSharp.Compiler.Service]FSharp.Compiler.IlxGen+HashRangeSorted'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.IlxGen::HashRangeSorted([S.P.CoreLib]System.Collections.Generic.IDictionary`2>)][offset 0x00000012][found ref '[FSharp.Compiler.Service]FSharp.Compiler.IlxGen+HashRangeSorted'][expected ref '[FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,T0>'] Unexpected type on the stack. [IL]: Error [StackUnexpected]: : FSharp.Compiler.PatternMatchCompilation::isProblematicClause([FSharp.Compiler.Service]FSharp.Compiler.PatternMatchCompilation+MatchClause)][offset 0x00000040][found Byte] Unexpected type on the stack. diff --git a/tests/service/data/SyntaxTree/NestedModule/IncompleteNestedModuleSigShouldBePresent.fsi.bsl b/tests/service/data/SyntaxTree/NestedModule/IncompleteNestedModuleSigShouldBePresent.fsi.bsl index 7cd76d669db..dd1fced8df7 100644 --- a/tests/service/data/SyntaxTree/NestedModule/IncompleteNestedModuleSigShouldBePresent.fsi.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/IncompleteNestedModuleSigShouldBePresent.fsi.bsl @@ -28,4 +28,4 @@ SigFile WarnDirectives = [] CodeComments = [] }, set [])) -(3,9)-(5,0) parse error Incomplete structured construct at or before this point in signature file. Expected ':', '=' or other token. +(3,9)-(5,0) parse error Incomplete structured construct at or before this point in signature file. Expected '=' or other token. diff --git a/tests/service/data/SyntaxTree/Type/Type 10.fs b/tests/service/data/SyntaxTree/Type/Type 10.fs index 495b3c706f9..c79ce3754f1 100644 --- a/tests/service/data/SyntaxTree/Type/Type 10.fs +++ b/tests/service/data/SyntaxTree/Type/Type 10.fs @@ -1,5 +1,6 @@ // #NoMT #CompilerOptions + namespace N module M = From 9ba1269e6b395c1bb29a4e50a9fca85648581d11 Mon Sep 17 00:00:00 2001 From: kerams Date: Tue, 9 Dec 2025 11:23:12 +0100 Subject: [PATCH 10/25] .ml disassociation, test removals --- .../CreateFSharpManifestResourceName.fs | 3 +- .../Miscellaneous/FsharpSuiteMigrated.fs | 3 +- tests/fsharp/core/fsi-reload/test1.ml | 77 -- tests/fsharp/core/fsi-reload/test1a.ml | 15 - tests/fsharp/core/fsi-reload/test1b.ml | 18 - tests/fsharp/core/hiding/client.ml | 23 - tests/fsharp/core/hiding/lib.ml | 14 - tests/fsharp/core/hiding/lib.mli | 11 - tests/fsharp/core/hiding/lib2.ml | 13 - tests/fsharp/core/hiding/lib2.mli | 11 - tests/fsharp/core/hiding/lib3.ml | 22 - tests/fsharp/core/hiding/libv.ml | 15 - tests/fsharp/core/internalsvisible/key.snk | Bin 596 -> 0 bytes tests/fsharp/core/internalsvisible/library.fs | 26 - .../fsharp/core/internalsvisible/library.fsi | 14 - .../fsharp/core/internalsvisible/librarycs.cs | 36 - tests/fsharp/core/internalsvisible/main.fs | 52 - tests/fsharp/core/parsing/crlf.ml | 2 - tests/fsharp/core/parsing/toplet.ml | 15 - tests/fsharp/core/resources/Icon1.ico | Bin 1078 -> 0 bytes tests/fsharp/core/resources/Image1.bmp | Bin 3382 -> 0 bytes .../fsharp/core/resources/Resources.resources | Bin 61223 -> 0 bytes tests/fsharp/core/resources/Resources.resx | 134 --- tests/fsharp/core/resources/TextFile1.txt | 3 - tests/fsharp/core/resources/chimes.wav | Bin 55776 -> 0 bytes tests/fsharp/core/resources/test.fs | 32 - tests/fsharp/core/topinit/lib.ml | 13 - tests/fsharp/core/topinit/test.cs | 34 - tests/fsharp/regression/26/test.ml | 32 - tests/fsharp/regression/321/test.ml | 29 - tests/fsharp/regression/321/test.mli | 3 - tests/fsharp/regression/655/main.fs | 13 - tests/fsharp/regression/655/xlibC.ml | 15 - tests/fsharp/regression/656/filehelper.fs | 36 - tests/fsharp/regression/656/form.fs | 932 ------------------ tests/fsharp/regression/656/formshelper.fs | 169 ---- tests/fsharp/regression/656/mathhelper.fs | 136 --- tests/fsharp/regression/656/misc.fs | 30 - tests/fsharp/regression/656/playerrecord.fs | 89 -- tests/fsharp/regression/656/plot.fs | 174 ---- tests/fsharp/regression/656/trackedplayers.fs | 375 ------- tests/fsharp/regression/656/traj.fs | 255 ----- tests/fsharp/regression/83/test.ml | 46 - tests/fsharp/regression/84/test.ml | 11 - tests/fsharp/regression/85/Category.ml | 8 - tests/fsharp/regression/85/category.dll | Bin 20480 -> 0 bytes tests/fsharp/regression/86/test.ml | 11 - tests/fsharp/regression/tuple-bug-1/test.ml | 30 - tests/fsharp/single-test.fs | 11 +- tests/fsharp/tests.fs | 187 ---- .../tools/bundle/test-one-fsharp-module.fs | 9 - .../test_two_fsharp_modules_module_1.fs | 12 - .../test_two_fsharp_modules_module_2.fs | 8 - tests/fsharp/typecheck/sigs/pos01a.fs | 46 - tests/fsharp/typecheck/sigs/pos01a.fsi | 29 - .../fsc/Removed/deprecated_ml-keywords01.fs | 5 - .../LanguageService/LanguageService.fs | 4 - .../ProjectSitesAndFiles.fs | 2 +- .../FSharp.ProjectSystem.FSharp/Project.fs | 4 - 59 files changed, 7 insertions(+), 3290 deletions(-) delete mode 100644 tests/fsharp/core/fsi-reload/test1.ml delete mode 100644 tests/fsharp/core/fsi-reload/test1a.ml delete mode 100644 tests/fsharp/core/fsi-reload/test1b.ml delete mode 100644 tests/fsharp/core/hiding/client.ml delete mode 100644 tests/fsharp/core/hiding/lib.ml delete mode 100644 tests/fsharp/core/hiding/lib.mli delete mode 100644 tests/fsharp/core/hiding/lib2.ml delete mode 100644 tests/fsharp/core/hiding/lib2.mli delete mode 100644 tests/fsharp/core/hiding/lib3.ml delete mode 100644 tests/fsharp/core/hiding/libv.ml delete mode 100644 tests/fsharp/core/internalsvisible/key.snk delete mode 100644 tests/fsharp/core/internalsvisible/library.fs delete mode 100644 tests/fsharp/core/internalsvisible/library.fsi delete mode 100644 tests/fsharp/core/internalsvisible/librarycs.cs delete mode 100644 tests/fsharp/core/internalsvisible/main.fs delete mode 100644 tests/fsharp/core/parsing/crlf.ml delete mode 100644 tests/fsharp/core/parsing/toplet.ml delete mode 100644 tests/fsharp/core/resources/Icon1.ico delete mode 100644 tests/fsharp/core/resources/Image1.bmp delete mode 100644 tests/fsharp/core/resources/Resources.resources delete mode 100644 tests/fsharp/core/resources/Resources.resx delete mode 100644 tests/fsharp/core/resources/TextFile1.txt delete mode 100644 tests/fsharp/core/resources/chimes.wav delete mode 100644 tests/fsharp/core/resources/test.fs delete mode 100644 tests/fsharp/core/topinit/lib.ml delete mode 100644 tests/fsharp/core/topinit/test.cs delete mode 100644 tests/fsharp/regression/26/test.ml delete mode 100644 tests/fsharp/regression/321/test.ml delete mode 100644 tests/fsharp/regression/321/test.mli delete mode 100644 tests/fsharp/regression/655/main.fs delete mode 100644 tests/fsharp/regression/655/xlibC.ml delete mode 100644 tests/fsharp/regression/656/filehelper.fs delete mode 100644 tests/fsharp/regression/656/form.fs delete mode 100644 tests/fsharp/regression/656/formshelper.fs delete mode 100644 tests/fsharp/regression/656/mathhelper.fs delete mode 100644 tests/fsharp/regression/656/misc.fs delete mode 100644 tests/fsharp/regression/656/playerrecord.fs delete mode 100644 tests/fsharp/regression/656/plot.fs delete mode 100644 tests/fsharp/regression/656/trackedplayers.fs delete mode 100644 tests/fsharp/regression/656/traj.fs delete mode 100644 tests/fsharp/regression/83/test.ml delete mode 100644 tests/fsharp/regression/84/test.ml delete mode 100644 tests/fsharp/regression/85/Category.ml delete mode 100644 tests/fsharp/regression/85/category.dll delete mode 100644 tests/fsharp/regression/86/test.ml delete mode 100644 tests/fsharp/regression/tuple-bug-1/test.ml delete mode 100644 tests/fsharp/tools/bundle/test-one-fsharp-module.fs delete mode 100644 tests/fsharp/tools/bundle/test_two_fsharp_modules_module_1.fs delete mode 100644 tests/fsharp/tools/bundle/test_two_fsharp_modules_module_2.fs delete mode 100644 tests/fsharp/typecheck/sigs/pos01a.fs delete mode 100644 tests/fsharp/typecheck/sigs/pos01a.fsi delete mode 100644 tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_ml-keywords01.fs diff --git a/src/FSharp.Build/CreateFSharpManifestResourceName.fs b/src/FSharp.Build/CreateFSharpManifestResourceName.fs index c39f7ae3da0..bb91742a7b4 100644 --- a/src/FSharp.Build/CreateFSharpManifestResourceName.fs +++ b/src/FSharp.Build/CreateFSharpManifestResourceName.fs @@ -56,5 +56,4 @@ type CreateFSharpManifestResourceName public () = override _.IsSourceFile(fileName: string) = let extension = Path.GetExtension(fileName) - (String.Equals(extension, ".fs", StringComparison.OrdinalIgnoreCase) - || String.Equals(extension, ".ml", StringComparison.OrdinalIgnoreCase)) + String.Equals(extension, ".fs", StringComparison.OrdinalIgnoreCase) diff --git a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs index 0cd09930302..cf006f59a8f 100644 --- a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs +++ b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs @@ -12,7 +12,7 @@ open FSharp.Test.ScriptHelpers module Configuration = - let supportedNames = set ["testlib.fsi";"testlib.fs";"test.mli";"test.ml";"test.fsi";"test.fs";"test2.fsi";"test2.fs";"test.fsx";"test2.fsx"] + let supportedNames = set ["testlib.fsi";"testlib.fs";"test.fsi";"test.fs";"test2.fsi";"test2.fs";"test.fsx";"test2.fsx"] [] type ScriptSessionIsolation = Shared | Isolated @@ -111,7 +111,6 @@ module TestFrameworkAdapter = let mainFile,otherFiles = match files.Length with - | 0 -> Directory.GetFiles(absFolder,"*.ml") |> Array.exactlyOne, [||] | 1 -> files |> Array.exactlyOne, [||] | _ -> let mainFile,dependencies = diff --git a/tests/fsharp/core/fsi-reload/test1.ml b/tests/fsharp/core/fsi-reload/test1.ml deleted file mode 100644 index 9cc77a02eb1..00000000000 --- a/tests/fsharp/core/fsi-reload/test1.ml +++ /dev/null @@ -1,77 +0,0 @@ -// #Conformance #FSI - -#light - -#load "test1a.ml";; - -printf "test: %d\n" Test1.x;; -printf "test: %b\n" (Test1.X Test1.x = Test1.X 3) ;; -printf "test: %d\n" (3 : Test1.x_t);; -printf "test: %d\n" Test1.Nested.x;; -printf "test: %b\n" (Test1.Nested.X Test1.Nested.x = Test1.Nested.X 3) ;; -printf "test: %d\n" (3 : Test1.Nested.x_t);; -open Test1 -printf "test: %d\n" x;; -printf "test: %b\n" (X x = X 1) ;; -printf "test: %d\n" (1 : x_t);; -printf "x = %d\n" Nested.x;; -printf "x = %b\n" (Nested.X Nested.x = Nested.X 3) ;; -printf "x = %d\n" (3 : Nested.x_t);; -open Nested -printf "x = %d\n" x;; -printf "x = %b\n" (X x = X 3) ;; -printf "x = %d\n" (3 : x_t);; - -#load "test1b.ml";; - -printf "test: %d\n" Test1.y -printf "test: %d\n" (3 : Test1.y_t) -open Test1 -printf "test: %d\n" y -printf "test: %d\n" (3 : y_t) - -printf "test: %s\n" Test1.x;; -printf "test: %b\n" (Test1.X Test1.x = Test1.X "a") ;; -printf "test: %s\n" ("a\n" : Test1.x_t);; -printf "test: %s\n" Test1.Nested.x;; -printf "test: %b\n" (Test1.Nested.X Test1.x = Test1.Nested.X "a") ;; -printf "test: %s\n" ("a\n" : Test1.Nested.x_t);; -open Test1 -printf "test: %s\n" x;; -printf "test: %b\n" (X x = X "a") ;; -printf "test: %s\n" ("a\n" : x_t);; -printf "test: %s\n" Nested.x;; -printf "test: %b\n" (Nested.X Test1.x = Nested.X "a") ;; -printf "test: %s\n" ("a\n" : Nested.x_t);; -open Nested -printf "test: %s\n" x;; -printf "test: %b\n" (X x = X "a") ;; -printf "test: %s\n" ("a\n" : x_t);; - - -// Back to test1a. Not this all happens in one interaction. -#load "test1a.ml" - - -printf "test: %d\n" Test1.x -printf "test: %b\n" (Test1.X Test1.x = Test1.X 3) -printf "test: %d\n" (3 : Test1.x_t) -printf "test: %d\n" Test1.Nested.x -printf "test: %b\n" (Test1.Nested.X Test1.Nested.x = Test1.Nested.X 3) -printf "test: %d\n" (3 : Test1.Nested.x_t) -open Test1 -printf "test: %d\n" x -printf "test: %b\n" (X x = X 1) -printf "test: %d\n" (1 : x_t) -printf "x = %d\n" Nested.x -printf "x = %b\n" (Nested.X Nested.x = Nested.X 3) -printf "x = %d\n" (3 : Nested.x_t) -open Nested -printf "x = %d\n" x -printf "x = %b\n" (X x = X 3) -printf "x = %d\n" (3 : x_t) -;; - -begin ignore (3 : x_t); ignore (3 : Nested.x_t); ignore (3 : Test1.Nested.x_t); ignore (3 : Test1.x_t); printf "TEST PASSED OK" end;; -#quit;; - diff --git a/tests/fsharp/core/fsi-reload/test1a.ml b/tests/fsharp/core/fsi-reload/test1a.ml deleted file mode 100644 index fe3ecf7a1eb..00000000000 --- a/tests/fsharp/core/fsi-reload/test1a.ml +++ /dev/null @@ -1,15 +0,0 @@ -// #Conformance #FSI - -module Test1 - -let x = 1 -type x_t = int -type t = X of int - -module Nested = begin - - let x = 1 - type x_t = int - type t = X of int - -end diff --git a/tests/fsharp/core/fsi-reload/test1b.ml b/tests/fsharp/core/fsi-reload/test1b.ml deleted file mode 100644 index 3c5c55e86d2..00000000000 --- a/tests/fsharp/core/fsi-reload/test1b.ml +++ /dev/null @@ -1,18 +0,0 @@ -// #Conformance #FSI - -module Test1 - -let x = "a" -type x_t = string -let y = 4 -type y_t = int - -type t = X of string - -module Nested = begin - - let x = "a" - type x_t = string - type t = X of string - -end diff --git a/tests/fsharp/core/hiding/client.ml b/tests/fsharp/core/hiding/client.ml deleted file mode 100644 index 0b4946f0719..00000000000 --- a/tests/fsharp/core/hiding/client.ml +++ /dev/null @@ -1,23 +0,0 @@ - -#light - -do Lib2.f1 Lib.x -do Lib2.f2 (Lib.x, Lib.x) - -// Check some simple cases where a separately compiled client tries to access things whose -// potentially-inlined-implementations might use private/internal fields, types and values -let x = Libv.MyRecord.Create(3) -printfn "x.TwiceX = %d" x.TwiceX -printfn "x.TopV = %d" x.TopV -printfn "x.X1 = %d" x.X1 -printfn "x.X2 = %d" x.X2 - - - -printfn "useInternalValue = %A" (Lib3.useInternalValue()) - -printfn "rValue = %A" Lib3.rValue -printfn "useInternalField = %A" (Lib3.useInternalField(Lib3.rValue)) -printfn "useInternalTag = %A" (Lib3.useInternalTag()) -printfn "useInternalType = %A" (Lib3.useInternalType()) - diff --git a/tests/fsharp/core/hiding/lib.ml b/tests/fsharp/core/hiding/lib.ml deleted file mode 100644 index 0040092fcad..00000000000 --- a/tests/fsharp/core/hiding/lib.ml +++ /dev/null @@ -1,14 +0,0 @@ -#light - -type abstractType = { xx : int } - -exception A -exception B of string -exception C = A - -let x = { xx = 3 } - -let e1 = A -let e2 = B("a") -let e3 = C - diff --git a/tests/fsharp/core/hiding/lib.mli b/tests/fsharp/core/hiding/lib.mli deleted file mode 100644 index 79ba516154f..00000000000 --- a/tests/fsharp/core/hiding/lib.mli +++ /dev/null @@ -1,11 +0,0 @@ - -type abstractType - -val x : abstractType - -exception A -exception C = A - -val e1: exn -val e2: exn -val e3: exn diff --git a/tests/fsharp/core/hiding/lib2.ml b/tests/fsharp/core/hiding/lib2.ml deleted file mode 100644 index 5f57e472bcd..00000000000 --- a/tests/fsharp/core/hiding/lib2.ml +++ /dev/null @@ -1,13 +0,0 @@ - - -type hidden = Lib.abstractType -type 'a visible = Lib.abstractType * 'a - -let f1 (x: hidden) = () -let f2 (x: hidden visible) = () - -exception D1 = Lib.A -exception D2 = Lib.C - -let e3 = D1 -let e2 = D2 diff --git a/tests/fsharp/core/hiding/lib2.mli b/tests/fsharp/core/hiding/lib2.mli deleted file mode 100644 index 1988cfb3da6..00000000000 --- a/tests/fsharp/core/hiding/lib2.mli +++ /dev/null @@ -1,11 +0,0 @@ - - -val f1: Lib.abstractType -> unit (* looks OK, but optimization data may refer to hidden type *) -val f2: Lib.abstractType * Lib.abstractType -> unit (* looks OK, but optimization data may refer to hidden type *) - - -val e2: exn -val e3: exn - -exception D1 = Lib.A -exception D2 = Lib.C diff --git a/tests/fsharp/core/hiding/lib3.ml b/tests/fsharp/core/hiding/lib3.ml deleted file mode 100644 index 47d4e076772..00000000000 --- a/tests/fsharp/core/hiding/lib3.ml +++ /dev/null @@ -1,22 +0,0 @@ - -#light - - -let internal x = System.DateTime.Now - -let useInternalValue() = x - - -type r = internal { x : int } - -let rValue = { x = 1 } -let useInternalField(r) = r.x - -type u = internal | C of int - -let useInternalTag() = C(1) - -type internal x = XX | YY - -let useInternalType() = box XX - diff --git a/tests/fsharp/core/hiding/libv.ml b/tests/fsharp/core/hiding/libv.ml deleted file mode 100644 index e3d670b9ceb..00000000000 --- a/tests/fsharp/core/hiding/libv.ml +++ /dev/null @@ -1,15 +0,0 @@ -#light - - - - -let internal topv = 1 -type MyRecord = - { x1 : int; - x2 : int } - member obj.X1 = obj.x1 - member obj.X2 = obj.x2 - member obj.TopV = topv - member obj.TwiceX = obj.x1 + obj.x1 - static member Create(n) = { x1 = n; x2 = n } - diff --git a/tests/fsharp/core/internalsvisible/key.snk b/tests/fsharp/core/internalsvisible/key.snk deleted file mode 100644 index c634706595db89803becb660759863b301ab710e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50098qpwmQWs zWOTRm$O!p*2B;* z@%t#J^jV67HY?fxLy&=R%FIv(Zg$3j=;g=r3yuSN+`c|Ep>{)D84z#Q)!6V?4-zb` zxEK5^t3~&W$2=Kzq*XBFnk{Wd?ybMUke@)VZXjA}`Y=&<<*~Uh9tf0nD-F9NC$dVv zkCBsEKO_Wfz>P`1;HrGQoWi9IV8XZvjeHH0MD5|$%Yx{f#)0XToQuq=#<6N>L03>O zt;Yty^W!2croq2?{6*3eTSb%fx|w{MQ%7tkHv%Ga(-br{MI`Clhz{Wv&agr56z3?> zy&##PhGL{)J_-pRi=|LE#L#~YIh#3j-8iLTNmW&+>AQG1Dq6w3!iSI>rjFJxcgtp7 z=t5=y;L+MwrHCgD8voJl$aDMEk+{(Pj2`&cg|snS4|7pe_XTh2WFP*6CM_N#iByKC iqgDdgmwS^c2u>{2?#EX`w8vcBlbM}z&P%qHYD)`Fawg0G diff --git a/tests/fsharp/core/internalsvisible/library.fs b/tests/fsharp/core/internalsvisible/library.fs deleted file mode 100644 index 1fd4e01e280..00000000000 --- a/tests/fsharp/core/internalsvisible/library.fs +++ /dev/null @@ -1,26 +0,0 @@ -module Library - -open System.Runtime.CompilerServices -// This one would trigger the warning about an invalid assembly name -// It also makes peverify fail on main.exe -// [] -// This one exposes the library internals to the main.exe, note PublicKey obtained via: -// secutil -hex -s main.exe -[] -do() - -module M = - // Recursive functions be sure they will not be inlined. - // If they could be inlined then the compiler could grant them accessibility and inline them, - // and the peverify checks for valid accessibility would be bypassed. - let rec private privateF (x:int) = if x>0 then x*2 else privateF (x+1) - let rec internal internalF (x:int) = if x>0 then x*3 else internalF (x+1) - /// mark internal in signature file, but not at definition - let rec signatureInternalF (x:int) = if x>0 then x*4 else signatureInternalF (x+1) - let rec public publicF (x:int) = if x>0 then x*5 else publicF (x+1) - -module internal P = - type internal InternalClass(x:int) = - member this.X = x - - let internal InternalObject = InternalClass(999) diff --git a/tests/fsharp/core/internalsvisible/library.fsi b/tests/fsharp/core/internalsvisible/library.fsi deleted file mode 100644 index e7c93f0cf67..00000000000 --- a/tests/fsharp/core/internalsvisible/library.fsi +++ /dev/null @@ -1,14 +0,0 @@ - -module Library - -module M : - val internal internalF : int -> int - val internal signatureInternalF : int -> int - val publicF : int -> int - -module internal P : - type internal InternalClass = - new : int -> InternalClass - member X : int - - val internal InternalObject : InternalClass diff --git a/tests/fsharp/core/internalsvisible/librarycs.cs b/tests/fsharp/core/internalsvisible/librarycs.cs deleted file mode 100644 index 3d41d886084..00000000000 --- a/tests/fsharp/core/internalsvisible/librarycs.cs +++ /dev/null @@ -1,36 +0,0 @@ -[assembly:System.Runtime.CompilerServices.InternalsVisibleTo("main, PublicKey=0024000004800000940000000602000000240000525341310004000001000100DDA0D353F027AB6ADC878BFBFE4A07FB00FFD2EDD5F255A14C6474B7F4E561796822B6B3CF83D81716C6AFE9BE5D343D7F99EF98252EAD91E7C3C4DF043FDD71FD3130F6611C3C0F7D4F3E698491E9B74D4DE456042A737F4FC5443A98BF989B7377BEE0969C58B85C26B48EF94FFBC95E68E10545FB573243E249204921AFB8")] -namespace LibraryCS -{ - public class APublicClass - { - private static int PrivateProperty { get { return 2; } } - internal static int InternalProperty { get { return 2; } } - } - internal class AInternalClass - { - private static int PrivateProperty { get { return 2; } } - internal static int InternalProperty { get { return 2; } } - } - internal class APrivateClass - { - private static int PrivateProperty { get { return 2; } } - internal static int InternalProperty { get { return 2; } } - } - public class Class1 - { - public Class1() { } - protected static int ProtectedStatic; - internal static int InternalStatic; - protected internal static int ProtectedInternalStatic; - public static int PublicStatic; - protected int Protected; - internal int Internal; - protected internal int ProtectedInternal; - public int Public; - } -} -namespace Repro -{ - internal delegate string D(int x); - internal class C { public C(D d) { } } -} \ No newline at end of file diff --git a/tests/fsharp/core/internalsvisible/main.fs b/tests/fsharp/core/internalsvisible/main.fs deleted file mode 100644 index 28d261d08b3..00000000000 --- a/tests/fsharp/core/internalsvisible/main.fs +++ /dev/null @@ -1,52 +0,0 @@ - -// F# internalsVisibleTo checks -printf "publicF 2 = %2d\n" (Library.M.publicF 2) -printf "internalF 2 = %2d\n" (Library.M.internalF 2) -printf "signatureInternalF 2 = %2d\n" (Library.M.signatureInternalF 2) - -// C# PublicClass -printf "APublicClass.InternalProperty = %2d\n" LibraryCS.APublicClass.InternalProperty -//printf "APublicClass.PrivateProperty = %2d\n" LibraryCS.APublicClass.PrivateProperty // private members are not visible via InternalsVisibleTo - -// C# InternalClass -printf "AInternalClass.InternalProperty = %2d\n" LibraryCS.AInternalClass.InternalProperty -//printf "AInternalClass.PrivateProperty = %2d\n" LibraryCS.AInternalClass.PrivateProperty // private members are not visible via InternalsVisibleTo - -// C# PrivateClass (is just an internal class) -printf "APrivateClass.InternalProperty = %2d\n" LibraryCS.APrivateClass.InternalProperty // for types, private *IS* visible (private is internal) -//printf "APrivateClass.PrivateProperty = %2d\n" LibraryCS.APrivateClass.PrivateProperty // private members are not visible via InternalsVisibleTo - -//printf "privateF 2 = %d\n" (Library.M.privateF 2) // inaccessible - -module internal Repro1332 = - let c = LibraryCS.Class1() - //c.Protected |> ignore - c.Internal |> ignore - c.ProtectedInternal |> ignore - LibraryCS.Class1.InternalStatic |> ignore - LibraryCS.Class1.ProtectedInternalStatic |> ignore - -type internal Class2() = - inherit LibraryCS.Class1() - member c.M() = - c.Internal |> ignore - c.ProtectedInternal |> ignore - c.Protected |> ignore - LibraryCS.Class1.InternalStatic |> ignore - LibraryCS.Class1.ProtectedInternalStatic |> ignore - LibraryCS.Class1.ProtectedStatic |> ignore - - -(* Check that internalVisibleTo items can be used in internal items *) -module internal Repro3737 = - let internal internalModuleInternalVal_uses_csInternalType (x : LibraryCS.AInternalClass) = 123 - let internal internalModuleInternalVal_uses_fsInternalType (x : Library.P.InternalClass) = 123 - let internal internalModuleInternalVal_uses_fsInternalObject = Library.P.InternalObject - - let internalModuleNormalVal_uses_csInternalType (x : LibraryCS.AInternalClass) = 123 - let internalModuleNormalVal_uses_fsInternalType (x : Library.P.InternalClass) = 123 - let internalModuleNormalVal_uses_fsInternalObject = Library.P.InternalObject - -// https://github.com/Microsoft/visualfsharp/issues/2401 -module ReproFS = - let c = new Repro.C( fun x -> "" ) \ No newline at end of file diff --git a/tests/fsharp/core/parsing/crlf.ml b/tests/fsharp/core/parsing/crlf.ml deleted file mode 100644 index ea3ffa7910f..00000000000 --- a/tests/fsharp/core/parsing/crlf.ml +++ /dev/null @@ -1,2 +0,0 @@ -// #Conformance - diff --git a/tests/fsharp/core/parsing/toplet.ml b/tests/fsharp/core/parsing/toplet.ml deleted file mode 100644 index 03fc7a1ae0f..00000000000 --- a/tests/fsharp/core/parsing/toplet.ml +++ /dev/null @@ -1,15 +0,0 @@ -// #Conformance -let rec loopF n x = function 0 -> x | i -> loopF n (x+1) (i-1) in -let rec loopE n x = function 0 -> x | i -> loopE n (loopF n x n) (i-1) in -let rec loopD n x = function 0 -> x | i -> loopD n (loopE n x n) (i-1) in -let rec loopC n x = function 0 -> x | i -> loopC n (loopD n x n) (i-1) in -let rec loopB n x = function 0 -> x | i -> loopB n (loopC n x n) (i-1) in -let rec loopA n x = function 0 -> x | i -> loopA n (loopB n x n) (i-1) in -let n = - try - System.Int32.Parse(System.Environment.GetCommandLineArgs().[1]) - with - _ -> 1 - in -Printf.printf "%d\n" (loopA n 0 n) - diff --git a/tests/fsharp/core/resources/Icon1.ico b/tests/fsharp/core/resources/Icon1.ico deleted file mode 100644 index 1e452915714ef8ef9f772494933ae659834023e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmcgqJ8r`;41G=uSet!=dMa{@_5?kPH)}IDYRi>;l#Cs-#hdy_Nd^jZNruuQC6W?9 zj|MuNFpeXDSDZWGou_Fk`u7R=qU}tZStfGFdq$hfzk~o>5Gflak7U8NZFFQ`$k|S0 zer7V!Xw8>BUx2p9WJG<@xR|}}&)9`YEbjeY_Ze7>*b{qwm|ys&Cl3XuiQzxV4JX2T zkYQ+CNC*l~#KkvC9v{Pr&z*Y5rwUqnqPf?#Kd;{~?AhOYXbA~E2F8!15aS$+KdUD6 zNs+1^BkT%7^Go0rRW!f58KCGXmDova%od+h3Cz&$s|4v&uQHT=B5!#GRaYig`qSaB z6&5`u7H>(c2aj*{%}0K(A5fK6pFL-ST3?10&;D9JGpjRy?cb_4a01Kr_yivV^04k^ ssq?rYuX^}>KGx^q=g9aM{?cna|3OW-e&vgQ;(>YI$RFgDoUiEe5AJSf;{X5v diff --git a/tests/fsharp/core/resources/Image1.bmp b/tests/fsharp/core/resources/Image1.bmp deleted file mode 100644 index 6c54218a28f1ff7c91fe66834b7e6a173ee85efd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3382 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
d>CVv#$O6B<({AOUHL@T$I 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�BWVjUdpg}JBA1b?1-=iw60C&$9x^*yT(%9_ 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�(bZ4-`GH#p2( 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 diff --git a/tests/fsharp/core/resources/Resources.resx b/tests/fsharp/core/resources/Resources.resx deleted file mode 100644 index 0d2fbdbf8c2..00000000000 --- a/tests/fsharp/core/resources/Resources.resx +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - chimes.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Icon1.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Image1.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Hello - Comment - - - TextFile1.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;iso-8859-1 - - \ No newline at end of file diff --git a/tests/fsharp/core/resources/TextFile1.txt b/tests/fsharp/core/resources/TextFile1.txt deleted file mode 100644 index ce9630d009e..00000000000 --- a/tests/fsharp/core/resources/TextFile1.txt +++ /dev/null @@ -1,3 +0,0 @@ - -Hello. This is a Text File. - diff --git a/tests/fsharp/core/resources/chimes.wav b/tests/fsharp/core/resources/chimes.wav deleted file mode 100644 index 265a37f5dc4f1be9cf72046e9fbc96d9ee2ea11a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55776 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 I+$jkD4`2~&@Bjb+ diff --git a/tests/fsharp/core/resources/test.fs b/tests/fsharp/core/resources/test.fs deleted file mode 100644 index cb0991b961e..00000000000 --- a/tests/fsharp/core/resources/test.fs +++ /dev/null @@ -1,32 +0,0 @@ -// #Conformance -#indent "off" - - -open System.Resources - -type Resources = A - -let foreachE (e : System.Collections.IEnumerator) (f : 'a -> unit) = - while (e.MoveNext()) do - f (unbox e.Current); - done - - -let main() = - let assembly = (typeof).Assembly in - Printf.printf "assembly = %s\n" (assembly.ToString()); - let args = System.Environment.GetCommandLineArgs() in - let rname = if Array.length args > 1 then args.[1] else "Resources" in - let resourceMan = new System.Resources.ResourceManager(rname, (typeof).Assembly) in - let resourceCulture = (null : System.Globalization.CultureInfo) in - let image1 : System.Drawing.Bitmap = resourceMan.GetObject("Image1", resourceCulture) :?> System.Drawing.Bitmap in - let chimes : System.IO.UnmanagedMemoryStream = resourceMan.GetStream("chimes", resourceCulture) in - let icon1 : System.Drawing.Icon = resourceMan.GetObject("Icon1", resourceCulture) :?> System.Drawing.Icon in - Printf.printf "chimes = %s\n" (chimes.ToString()); - Printf.printf "icon1 = %s\n" (icon1.ToString()); - Printf.printf "image1 = %s\n" (image1.ToString()) - - - -do main() - diff --git a/tests/fsharp/core/topinit/lib.ml b/tests/fsharp/core/topinit/lib.ml deleted file mode 100644 index 3b8e1f10b26..00000000000 --- a/tests/fsharp/core/topinit/lib.ml +++ /dev/null @@ -1,13 +0,0 @@ - - -(* Check that a F# library module has its initialization code run *) -(* before a field is accessed. *) -let x = ref 6 -let addToRef (y:int) = x := !x + y; !x - -(* Note that if the above works then just about anything will work *) -(* before a field is accessed. *) -let observableApp = (let r = ref 7 in fun x -> (r := !r + x; !r)) -let addToRef2 (y:int) = observableApp y - - diff --git a/tests/fsharp/core/topinit/test.cs b/tests/fsharp/core/topinit/test.cs deleted file mode 100644 index acef2c55f91..00000000000 --- a/tests/fsharp/core/topinit/test.cs +++ /dev/null @@ -1,34 +0,0 @@ - -using System; -using System.Diagnostics; - -class Maine -{ - public static int failures = 0; - - public static void Fail(string outputString) - { - failures++; - Console.WriteLine(outputString + new StackTrace(true).ToString()); - } - static int Main() - { - if (Lib.addToRef(3) != 9) - Fail("Expected initialized value"); - if (Lib.addToRef(6) != 15) - Fail("Expected initialized value (2)"); - if (Lib.addToRef2(3) != 10) - Fail("Expected initialized value"); - if (Lib.addToRef2(6) != 16) - Fail("Expected initialized value (2)"); - - Console.WriteLine("failures = {0}", failures); - - return failures; - } - - - - - -} diff --git a/tests/fsharp/regression/26/test.ml b/tests/fsharp/regression/26/test.ml deleted file mode 100644 index 287a42bed6a..00000000000 --- a/tests/fsharp/regression/26/test.ml +++ /dev/null @@ -1,32 +0,0 @@ -// #Regression - -let fail m = System.Console.Error.WriteLine (m:string); exit 99 - -let _ = if (compare [| 1 |] [| 2 |] <> -1) then fail "Test Failed (cew90u98f)" -let _ = if (compare [| 2 |] [| 1 |] <> 1) then fail "Test Failed (d23v902)" -let _ = if (compare [| 2 |] [| 2 |] <> 0) then fail "Test Failed (few0vwrlk)" -let _ = if (compare [| |] [| 2 |] <> -1) then fail "Test Failed (cwe0vr9)" -let _ = if (compare [| 2 |] [| |] <> 1) then fail "Test Failed (fwelkm23)" -let _ = if (compare [| |] [| |] <> 0) then fail "Test Failed (cwlvero02)" - -let _ = if (compare [| "1" |] [| "2" |] <> -1) then fail "Test Failed (scew90u98f)" -let _ = if (compare [| "2" |] [| "1" |] <> 1) then fail "Test Failed (sd23v902)" -let _ = if (compare [| "2" |] [| "2" |] <> 0) then fail "Test Failed (sfew0vwrlk)" -let _ = if (compare [| |] [| "2" |] <> -1) then fail "Test Failed (scwe0vr9)" -let _ = if (compare [| "2" |] [| |] <> 1) then fail "Test Failed (sfwelkm23)" -let _ = if (compare [| |] [| |] <> 0) then fail "Test Failed (scwlvero02)" - -type a = A | B -let _ = if (compare [| A |] [| B |] <> -1) then fail "Test Failed (abcew90u98f)" -let _ = if (compare [| B |] [| A |] <> 1) then fail "Test Failed (abd23v902)" -let _ = if (compare [| B |] [| B |] <> 0) then fail "Test Failed (abfew0vwrlk)" -let _ = if (compare [| |] [| B |] <> -1) then fail "Test Failed (abcwe0vr9)" -let _ = if (compare [| B |] [| |] <> 1) then fail "Test Failed (abfwelkm23)" -let _ = if (compare [| |] [| |] <> 0) then fail "Test Failed (abcwlvero02)" - -let _ = System.Console.Error.WriteLine "Test Passed" - -do (System.Console.Out.WriteLine "Test Passed"; - printf "TEST PASSED OK"; - exit 0) - diff --git a/tests/fsharp/regression/321/test.ml b/tests/fsharp/regression/321/test.ml deleted file mode 100644 index 61f99fc21ac..00000000000 --- a/tests/fsharp/regression/321/test.ml +++ /dev/null @@ -1,29 +0,0 @@ -// #Regression -type Name = string -type Attribute = string * string -and Content = - | CElem of Name * Attribute list * Content list - | CText of string - -type CFilter = Content -> Content list - -(* Crude: doesn't do encode entities like ' *) -(* usage: ignore (List.map (ppContent 0) parse) *) -let rec ppContent depth content = - let indent = "" in - let ppA a acc = match a with (n,v) -> System.String.Format(" {0}=\"{1}\"{2}", n, v, acc) in - match content with - | CElem (n, a, c) -> (match (a,c) with - | ([], []) -> System.Console.Write("<{0}/>\n", n) - | _ -> System.Console.Write("<{0}{1}>\n", n, List.foldBack ppA a ""); - ignore (List.map (ppContent depth) c); - System.Console.Write("\n", n)) - | CText s -> System.Console.Write("{0}{1}\n", indent, s) - -exception Bad_xml_structure of string - - -let _ = - (System.Console.Out.WriteLine "Test Passed"; - printf "TEST PASSED OK"; - exit 0) diff --git a/tests/fsharp/regression/321/test.mli b/tests/fsharp/regression/321/test.mli deleted file mode 100644 index 9fa98558524..00000000000 --- a/tests/fsharp/regression/321/test.mli +++ /dev/null @@ -1,3 +0,0 @@ -exception Bad_xml_structure of string - - diff --git a/tests/fsharp/regression/655/main.fs b/tests/fsharp/regression/655/main.fs deleted file mode 100644 index 424f52c3b36..00000000000 --- a/tests/fsharp/regression/655/main.fs +++ /dev/null @@ -1,13 +0,0 @@ -#indent "off" - -open DF -let x = new RawPcapfile() -let xI = x :> Datafile - -let _ = - (System.Console.Out.WriteLine "Test Passed"; - printf "TEST PASSED OK" ; - exit 0) - - - diff --git a/tests/fsharp/regression/655/xlibC.ml b/tests/fsharp/regression/655/xlibC.ml deleted file mode 100644 index 73174957490..00000000000 --- a/tests/fsharp/regression/655/xlibC.ml +++ /dev/null @@ -1,15 +0,0 @@ -// #Regression -module DF - -type Datafile = - interface - abstract member advance: unit -> unit - end - -type RawPcapfile = - class - new() = {} - interface Datafile with - member self.advance () = () - end - end diff --git a/tests/fsharp/regression/656/filehelper.fs b/tests/fsharp/regression/656/filehelper.fs deleted file mode 100644 index 901039c5132..00000000000 --- a/tests/fsharp/regression/656/filehelper.fs +++ /dev/null @@ -1,36 +0,0 @@ -#indent "off" - -module FileHelper - -open System -open System.IO -open System.Windows.Forms - -/// Gets subfolder names from specified path -let GetSubFolderNames path = - let dir = new DirectoryInfo(path) in - dir.GetDirectories() |> Array.map ( fun (info:DirectoryInfo) -> info.Name ) - -/// Gets latest file in specified path matching specified search pattern -let GetLatestFile path searchPattern = - let dir = new DirectoryInfo(path) in - let fileInfos = dir.GetFileSystemInfos(searchPattern) in - if (fileInfos.Length>0 ) then - let latest = Array.fold - ( fun (acc:FileSystemInfo) (info:FileSystemInfo) -> if (info.CreationTime>acc.CreationTime) then info else acc ) - fileInfos.[0] fileInfos in - Some latest.Name - else - None - -/// Create an enumerable stream from specified file -let CreateEnumerableStream (fileName:string) = - let reader = new StreamReader (fileName) in - reader |> Seq.unfold (fun (reader:StreamReader) -> if (reader.EndOfStream) then (reader.Close(); None) else Some(reader.ReadLine(),reader)) - -/// Create an enumerable csv stream from specified file -let CreateEnumerableCSVStream fileName = - CreateEnumerableStream fileName |> Seq.map (fun (s:string) -> s.Split([|','|])) - - - diff --git a/tests/fsharp/regression/656/form.fs b/tests/fsharp/regression/656/form.fs deleted file mode 100644 index de189dba38f..00000000000 --- a/tests/fsharp/regression/656/form.fs +++ /dev/null @@ -1,932 +0,0 @@ -#indent "off" - -// command line build: -// fsc --target-winexe -g --standalone misc.fs mathhelper.fs filehelper.fs formshelper.fs plot.fs traj.fs playerrecord.fs trackedplayers.fs form.fs -o viewer.exe - -open System -open System.IO -open System.Collections.Generic -open System.Windows.Forms -open System.Diagnostics -open System.Drawing -open System.Drawing.Drawing2D -open System.Threading -open System.Xml -open Misc -open MathHelper -open FileHelper -open FormsHelper -open PlayerRecords -open TrackedPlayers -open PlotTrajectory -open Plot -open PlayerRecords - -// Initialise level calculation -do SetLevel !k1 !k2 k3 -let pins = (Array.init (List.length !skillList) (fun _ -> true)) - -/// Base Path to search for results in -let basePath = ref @"c:\" -let argv = System.Environment.GetCommandLineArgs() -do basePath := if (argv |> Array.length > 1) then argv.[1] else @"c:\" - -let gamesPlayedStart = ref 0s -let gamesPlayedEnd = ref 10000s - -let labelK1 = new Label() -let labelK2 = new Label() - -// Create form -let mainForm = CreateForm "Select Experiment (v1.05)" -let tip = new ToolTip() -do tip.ShowAlways <- true; tip.ReshowDelay <- 100; tip.AutoPopDelay <- 1500; tip.InitialDelay <- 100 - -let groupFolder = new GroupBox() -do groupFolder |> BlueFlash -do groupFolder.Text <- "Experiment folder" -do groupFolder.Dock <- DockStyle.Left -do groupFolder.Size <- new Size(mainForm.Size.Width/2,groupFolder.Size.Height) - -// Create table layout panel for folders -let folderPanel = new TableLayoutPanel() -do folderPanel.ColumnCount <- 1 -do folderPanel.RowCount <- 6 -do folderPanel.Dock <- DockStyle.Fill -do groupFolder.Controls.Add(folderPanel) - -let formDock = FormDockLocation.Create mainForm - -/// ComboBox of folder names indicating selected variables -let combos = new List() -let selectedMeasure = ref "Mu" -let lastFileLock = ref (Guid.NewGuid()) -let lastFileName = ref "" -let mutable lastTable = [] - -/// Get measurement function -let GetMeasureFun measure = - match measure with | "TrueSkill" -> (fun (player:PlayerRecord) -> player.TrueSkill) - | "Level" -> (fun (player:PlayerRecord) -> player.Level !k1 !k2 k3 ) - | _ -> (fun (player:PlayerRecord) -> player.mu) - -let mutable brush = new HatchBrush(HatchStyle.HorizontalBrick, Colour.Blue, Colour.Blue) - -let playedEdges =(linspace 0. 500. 101) |> List.map (fun v -> Math.Round(v,0) ) -let playedCounts = Array.init ((List.length playedEdges) + 1) (fun _ -> 0) -let playedTree = System.Double.MinValue :: playedEdges |> List.toArray |> CreateTree 0 - -let ShowGamesPlayed() = - let edges = System.Double.MinValue :: (List.append playedEdges [System.Double.MaxValue]) |> List.toArray in - let playedPairs = List.zip (System.Double.MinValue :: playedEdges) (List.append playedEdges [System.Double.MaxValue]) |> List.toArray in - let funNo = ref 0 in - let rangeFun() = - let vertRange = - match !funNo with - | 0 -> {new Range with min=0.0F; and max=max 1.0F (float32 (Array.fold max 0 playedCounts)); and name="Players" } - | 1 -> {new Range with min=0.0F; and max=max 1.0F (float32 (Array.fold (+) 0 playedCounts)); and name="Cumulative Players" } - | 2 -> {new Range with min=0.0F; and max=100.0F; and name="Cumulative Players %" } - | 3 -> {new Range with min=0.0F; and max=100.0F; and name="Cumulative Players %" } - | _ -> raise (new ApplicationException("error")) - in - let horizRange = {new Range with min=0.0F; and max=500.0F; and name="Played" } in - (vertRange, horizRange) - in - let drawFun gr t = - let playedCumulative, total = playedCounts |> Array.fold ( fun (li,cumulative) i -> let v = cumulative+i in (v :: li, v ) ) ([],0) in - let playedCumulative = playedCumulative |> List.rev in - match !funNo with - | 0 -> - let ar = playedCounts |> Array.mapi (fun i a -> let x1,x2 = playedPairs.[i] in (float32 x1,float32 x2,a) ) in - Array.sub ar 1 (ar.Length-2) |> DrawBarGraph gr t brush - | 1 -> - let ar = playedCumulative |> List.toArray |> Array.mapi (fun i a -> let x1,x2 = playedPairs.[i] in (float32 x1,float32 x2,a) ) in - Array.sub ar 1 (ar.Length-2) |> DrawBarGraph gr t brush; - - let cumulative = playedCumulative |> List.mapi (fun i v -> (edges.[i+1], float v) ) |> List.toArray in - Array.sub cumulative 1 (cumulative.Length-2) |> DrawLineGraph gr t - | 2 -> - let playedPc = playedCumulative |> List.map ( fun i -> if 0=i then 0.0 else let y = float i in let t = float total in - ((y*100.0)/t) ) in - let pc = playedPc |> List.mapi (fun i v -> (edges.[i+1], v) ) |> List.toArray in - Array.sub pc 1 (pc.Length-2) |> DrawLineGraph gr t - | 3 -> - let m = max 1.0F (float32 (Array.fold max 0 playedCounts)) in - let ar = playedCounts |> Array.mapi (fun i a -> let x1,x2 = playedPairs.[i] in (float32 x1,float32 x2, int (float32 a * 100.F/m)) ) in - Array.sub ar 1 (ar.Length-2) |> DrawBarGraph gr t brush; - - let playedPc = playedCumulative |> List.map ( fun i -> if 0=i then 0.0 else let y = float i in let t = float total in - ((y*100.0)/t) ) in - let pc = playedPc |> List.mapi (fun i v -> (edges.[i+1], v) ) |> List.toArray in - Array.sub pc 1 (pc.Length-2) |> DrawLineGraph gr t - - | _ -> raise (new ApplicationException("error")) - in - let form = CreateForm "Games played" in - form.Width <- 1000; form.Height <- 800; - let picture = AddGraph form rangeFun drawFun false in - - let menuFunction = form.Menu.MenuItems.Add("&Function") in - let miHist = new MenuItem("Histogram") in - let miCumulative = new MenuItem("Cumulative") in - let miPc = new MenuItem("Cumulative %")in - let miPcHist = new MenuItem("Cumulative % (+ Histogram)")in - - menuFunction.MenuItems.AddRange([|miHist;miCumulative;miPc;miPcHist|]) |> ignore; - miHist.Click.Add( fun _ -> funNo := 0; form.Invalidate(true) ); - miCumulative.Click.Add( fun _ -> funNo := 1; form.Invalidate(true) ); - miPc.Click.Add( fun _ -> funNo := 2; form.Invalidate(true) ); - miPcHist.Click.Add( fun _ -> funNo := 3; form.Invalidate(true) ); - form.Menu.MenuItems.Add(menuFunction) |> ignore; - - let _ = form.Show() in - form - - -/// Display sample histogram on specified form -let DisplaySample (form:Form) (measure, fileName) = - let skillEdges = (linspace -25. 75. 101) |> List.map (fun v -> Math.Round(v,2) ) in - let skillCounts = Array.init ((List.length skillEdges) + 1) (fun _ -> 0) in - - let dataThread = new Thread( fun() -> - let f = GetMeasureFun measure in - let skillTree = System.Double.MinValue :: skillEdges |> List.toArray |> CreateTree 0 in - form.Invoke( new MethodInvoker( fun _ -> tip.SetToolTip(labelK1, "Mean: calculating" ) )) |> ignore; - form.Invoke( new MethodInvoker( fun _ -> tip.SetToolTip(labelK2, "Standard Deviation: calculating" ) )) |>ignore; - let ShowStatistics count total skills = - let (mean:float) = (total/(float) count ) in - let _ = try if not form.IsDisposed then form.Invoke( new MethodInvoker( - fun _ -> try tip.SetToolTip(labelK1, "Mean: " + mean.ToString() ) with e -> LogWarning e - )) |> ignore with e -> LogWarning e - in - let deltaSquared = skills |> List.fold ( fun acc value -> let delta = (mean-value) in acc + (delta*delta) ) 0.0 in - let sd = Math.Sqrt(deltaSquared / (float count)) in - try if not form.IsDisposed then form.Invoke( new MethodInvoker( - fun _ -> try tip.SetToolTip(labelK2, "Standard Deviation: " + sd.ToString() ) with e -> LogWarning e - )) |>ignore with e -> LogWarning e |> ignore - in - lock lastFileLock ( fun _ -> - if not (fileName = (!lastFileName)) then - ( - Array.fill playedCounts 0 (Array.length playedCounts) 0; - let (table, skills, total, count) = EnumerateLeaderboard fileName |> - Seq.fold (fun (table, skills, total, count) (p:PlayerRecord) -> - addone playedTree playedCounts (Convert.ToDouble(p.games_played)); - if (p.games_played>=(!gamesPlayedStart) && p.games_played<(!gamesPlayedEnd)) then - let v = f(p) in - addone skillTree skillCounts v; // update histogram - let skill = GetSkill p.mu p.sigma in - (p :: table, skill :: skills, total + skill, count + 1) - else - (p :: table, skills, total, count) ) ([], [], 0., 0) in - lastFileName := fileName; lastTable <- table; - ShowStatistics count total skills - ) - else - ( - let skills, total, count = lastTable |> List.fold ( fun (skills,total,count) (p:PlayerRecord) -> - if (p.games_played>=(!gamesPlayedStart) && p.games_played<(!gamesPlayedEnd)) then - let v = f(p) in addone skillTree skillCounts v; // update histogram - let skill = GetSkill p.mu p.sigma in - (skill :: skills, total + skill, count + 1) - else - (skills, total, count) ) ([], 0., 0) - in - ShowStatistics count total skills - ) - ) - ) in dataThread.Start(); - - let finished = ref false in - let drawThread = new Thread( fun () -> - let f() = try if not (form.IsDisposed) then form.Invalidate(true) with e -> LogWarning e in - try - brush <- new HatchBrush(HatchStyle.DiagonalCross, Colour.AliceBlue, Colour.Blue); - while( not form.IsDisposed && not !finished ) do - finished := dataThread.Join(100); - let _ = if !finished then brush <- new HatchBrush(HatchStyle.HorizontalBrick, Colour.Blue, Color.Blue) in - if not (form.IsDisposed) then form.Invoke( new MethodInvoker(f) ) |> ignore - done; - with e -> LogWarning e - ) in drawThread.Start(); - - - - let funNo = ref 0 in - - let edgesArray = skillEdges |> List.map float32 |> List.toArray in - /// Show bar graph - let hlabel = measure in let vlabel = "Players" in - let rangeFun() = - let first = System.Array.FindIndex(skillCounts, ( fun (v:int) -> v>0 ) ) in - let last = System.Array.FindLastIndex(skillCounts, ( fun(v:int) -> v>0 ) ) in - let horizRange = {new Range with min=if -1 = first then 0.F else min 0.F edgesArray.[first]; - and max=if -1 = last then 1.F else edgesArray.[last]; and name=hlabel } in - let vertRange = match !funNo with - | 0 -> {new Range with min=0.0F; and max=max 1.0F (float32 (skillCounts |> Array.fold max 1)); and name=vlabel } - | 1 -> {new Range with min=0.0F; and max=max 1.0F (float32 (skillCounts |> Array.fold (+) 0)); and name=vlabel } - | 2 -> {new Range with min=0.0F; and max=100.0F; and name="Players %" } - | _ -> raise (new ApplicationException("error")) - in - (vertRange, horizRange) - in - let drawFun gr t = - let _, hRange = rangeFun() in - let first, last = max 1 (System.Array.FindIndex(edgesArray, (fun(v) -> hRange.min = v ) )), - System.Array.FindIndex(edgesArray,(fun(v) -> hRange.max = v) )in - let copy = Array.init (last - first) (fun _ -> 0 ) in - System.Array.ConstrainedCopy(skillCounts,first,copy,0,last-first); - - let ar = match !funNo with - | 0 -> copy - | 1 -> let li, t = copy |> Array.fold( fun (li,t) i -> let x = t + i in (x :: li, x) ) ([],0) in li |> List.rev |> List.toArray - | 2 -> let li, t = copy |> Array.fold( fun (li,t) i -> let x = t + i in (x :: li, x) ) ([],0) in - li |> List.map ( fun v -> if v = 0 then 0 else (v*100)/t ) // TODO: fix rounding issue - |> List.rev |> List.toArray - | _ -> raise (new ApplicationException("error")) - in - ar |> Array.mapi (fun i a -> (edgesArray.[i+first-1], edgesArray.[i+first],a) ) |> - DrawBarGraph gr t brush in - let picture = AddGraph form rangeFun drawFun false in - let menuFunction = form.Menu.MenuItems.Add("&Function") in - let miHist = new MenuItem("Histogram") in - let miCumulative = new MenuItem("Cumulative") in - let miPc = new MenuItem("Cumulative %") in - menuFunction.MenuItems.AddRange([|miHist;miCumulative;miPc|]) |> ignore; - miHist.Click.Add( fun _ -> funNo := 0; form.Invalidate(true) ); - miCumulative.Click.Add( fun _ -> funNo := 1; form.Invalidate(true) ); - miPc.Click.Add( fun _ -> funNo := 2; form.Invalidate(true) ); - form.Menu.MenuItems.Add(menuFunction) |> ignore - - - -/// Show leaderboard histogram -let LeaderBoardHandler form measure fileName = - let ShowSample sample = - let f() = try DisplaySample form sample with e -> LogWarning e in - if not form.IsDisposed then try form.Invoke( new MethodInvoker(f) ) |> ignore with e -> LogWarning e else () - in - //AsyncApp (measure,fileName) LoadSample ShowSample; - DisplaySample form (measure,fileName); - form - -/// Handler change to input parameters -let ChangeHandler measure path = - // Check for tracked players file - let trackFile = GetLatestFile path "Track-*.csv" in - let _ = match trackFile with - | Some name -> let title = "Select Tracked Players (" + path + ")" in - let form = match formDock.GetChildForm "track" with - | Some child -> child.Text <- title; child - | None -> let child = CreateForm title in - child.Width <- 1000; - let _ = child.Show() in - formDock.SetChild child "track" 0 mainForm.Height; // Align to bottom left - child - in - let _ = TrackedPlayersHandler form formDock measure (!gamesPlayedStart,!gamesPlayedEnd) (Path.Combine(path,name)) in - () - | None -> () - in - let width = 1000 in - // Check for leader board of players file - let leadFile = GetLatestFile path "Lead-*.csv" in - let _ = match leadFile with - | Some name -> let title = "Bar graph (" + path + ")" in - let form = match formDock.GetChildForm "lead" with - | Some child -> child.Text<-title;child.Controls.Clear();child.Menu.MenuItems.Clear();child - | None -> let child = CreateForm title in child.Show(); - child.Height <- mainForm.Height; - child.Width <- width - mainForm.Width; - formDock.SetChild child "lead" mainForm.Width 0; // Align to top right - child - in - let _ = LeaderBoardHandler form measure (Path.Combine(path,name)) in - () - | None -> () - in () - -/// Get relative path from combos -let GetRelativePath (combos:List) = - let folders = combos.ToArray() |> Array.map ( fun (combo:ComboBox) -> if combo.SelectedItem <> null then combo.SelectedItem.ToString() else "" ) in - System.String.Join(Path.DirectorySeparatorChar.ToString(), folders) - -/// Get selected path from combo boxes -let GetSelectedPath (combos:List) = - let relPath = GetRelativePath combos in - Path.Combine(!basePath,relPath) - -/// ComboBox select event handler -let rec ComboSelectHandler (sender:obj) (e:EventArgs) = - let index = combos.FindIndex((fun combo -> combo.Equals(sender) ) ) in - let relevant = combos.GetRange(0, (index+1)) in - let path = GetSelectedPath relevant in - let folders = GetSubFolderNames path in - let _ = if (folders.Length > 0 ) then - // Remove any combos after this one - let _ = combos.ToArray() |> Array.iteri (fun i combo -> - if( i>index ) then let _ = combos.Remove(combo) in folderPanel.Controls.Remove(combo); () ) in - // Create the new combo - let combo = CreateCombo folders in - let _ = combos.Add(combo) in - let _ = combo.SelectionChangeCommitted.AddHandler( new EventHandler(ComboSelectHandler) ) in - folderPanel.Controls.Add(combo) - in - ChangeHandler !selectedMeasure path - -/// Sets combos from specified path -let SetCombos (relPath:string) = - // Remove current combos - combos.ToArray() |> Array.iter (fun combo -> combos.Remove(combo) |> ignore; folderPanel.Controls.Remove(combo) ); - // Set combos - let path = relPath.Split([|Path.DirectorySeparatorChar|]) |> Array.fold ( fun (acc:string) folder -> - let absPath = Path.Combine( !basePath, acc) in - let folders = GetSubFolderNames absPath in - let combo = CreateCombo folders in - combo.SelectedItem <- folder; - let _ = combos.Add(combo) in - let _ = combo.SelectionChangeCommitted.AddHandler( new EventHandler(ComboSelectHandler) ) in - folderPanel.Controls.Add(combo) |> ignore; - Path.Combine(acc,folder) - ) "" in - ChangeHandler !selectedMeasure (Path.Combine(!basePath,path)) - - -// Create first ComboBox -do let folders = GetSubFolderNames !basePath in - let combo = CreateCombo folders in - let _ = combos.Add(combo) in - combo.SelectionChangeCommitted.AddHandler( new EventHandler(ComboSelectHandler) ); - folderPanel.Controls.Add( combo ) - -// Group box for measurement types -let groupMeasure = new GroupBox() -do groupMeasure |> BlueFlash -do groupMeasure.Dock <- DockStyle.Top -do groupMeasure.Text <- "Measure" - -let tableMeasure = new TableLayoutPanel() -do tableMeasure.ColumnCount <- 3 -do tableMeasure.Dock <- DockStyle.Fill -do tableMeasure |> AddToControl groupMeasure - -do let f = (fun (sender:obj) e -> let radio = sender :?> RadioButton in - if radio.Checked then let path = GetSelectedPath combos in - selectedMeasure := radio.Text; - ChangeHandler radio.Text path - ) in - let r1 = CreateRadio "Mu" f in r1 |> BlueFlash; - let r2 = CreateRadio "TrueSkill" f in r2 |> BlueFlash; r2.Checked <- true; - let r3 = CreateRadio "Level" f in r3 |> BlueFlash; - [|r1;r2;r3|] |> AddArrayToControl tableMeasure - -do tableMeasure |> AddToControl groupMeasure -do groupMeasure.Size <- new Size(groupMeasure.Size.Width, groupMeasure.PreferredSize.Height + tableMeasure.PreferredSize.Height) - -// Create right panel -let rightPanel = new Panel() -do rightPanel.Dock <- DockStyle.Fill - - -do mainForm.Controls.Add(rightPanel) -do mainForm.Controls.Add(groupFolder) -do groupMeasure |> AddToControl mainForm - -// --- Range Group -let rangeGroup = new GroupBox() -do rangeGroup |> BlueFlash -do rangeGroup.FlatStyle <- FlatStyle.Popup -do rangeGroup.Height <- rightPanel.Height/2 -do rangeGroup.Text <- "Games played range" -do rangeGroup.Click.Add( fun _ -> ShowGamesPlayed() |> ignore ) -do rangeGroup.Dock <- DockStyle.Fill //Bottom -do rangeGroup |> AddToControl rightPanel - -let rangeTable = new TableLayoutPanel() -do rangeTable.ColumnStyles.Add( new ColumnStyle(SizeType.Percent,50.0f) ) |> ignore -do rangeTable.ColumnStyles.Add( new ColumnStyle(SizeType.Percent,50.0f) ) |> ignore -do rangeTable.Dock <- DockStyle.Fill -do rangeTable.ColumnCount <- 2 -let labelStart = new Label() -do labelStart.Anchor <- AnchorStyles.Bottom ||| AnchorStyles.Right -do labelStart.Text <- "Start" -do labelStart |> BlueFlash -let editStart = new NumericUpDown() -do editStart.Maximum <- Convert.ToDecimal(100000) -do editStart.Value <- Convert.ToDecimal(!gamesPlayedStart) -do editStart.Increment <- Convert.ToDecimal(10) -do editStart.Anchor <- AnchorStyles.Bottom ||| AnchorStyles.Left -do editStart.Width <- 64 -do editStart.TextChanged.Add( fun _ -> gamesPlayedStart := if editStart.Value<=Convert.ToDecimal(Int16.MaxValue) then Decimal.ToInt16(editStart.Value) else Int16.MaxValue ) -let labelEnd = new Label() -do labelEnd.Anchor <- AnchorStyles.Bottom ||| AnchorStyles.Right -do labelEnd.Text <- "End" -do labelEnd |> BlueFlash -let editEnd = new NumericUpDown() -do editEnd.Maximum <- Convert.ToDecimal(100000) -do editEnd.Value <- Convert.ToDecimal(!gamesPlayedEnd) -do editEnd.Increment <- Convert.ToDecimal(10) -do editEnd.Anchor <- AnchorStyles.Bottom ||| AnchorStyles.Left -do editEnd.Width <- 64 -do editEnd.TextChanged.Add( fun _ -> gamesPlayedEnd := if editEnd.Value<=Convert.ToDecimal(Int16.MaxValue) then Decimal.ToInt16(editEnd.Value) else Int16.MaxValue ) - - -do rangeTable.Controls.Add(labelStart) -do rangeTable.Controls.Add(editStart) -do rangeTable.Controls.Add(labelEnd) -do rangeTable.Controls.Add(editEnd) - -do rangeGroup.Controls.Add(rangeTable) - -let rangeUpdateButton = new Button(); -do rangeUpdateButton.Text <- "Update" -do rangeUpdateButton.Dock <- DockStyle.Bottom -do rangeUpdateButton |> BlueFlash -do rangeGroup.Controls.Add(rangeUpdateButton) - -do rangeUpdateButton.Click.Add( fun _ -> GetSelectedPath combos |> ChangeHandler !selectedMeasure) -// --- - -// --- Level Group ----- -let levelGroup = new GroupBox() -do levelGroup |> BlueFlash -do levelGroup.Height <- (rightPanel.Height/2)+4 -do levelGroup.Text <- "Level parameters" -do levelGroup.Dock <- DockStyle.Top -do levelGroup |> AddToControl rightPanel - - -let levelTable = new TableLayoutPanel() -do levelTable.ColumnStyles.Add( new ColumnStyle(SizeType.Percent,50.0f) ) |> ignore -do levelTable.ColumnStyles.Add( new ColumnStyle(SizeType.Percent,50.0f) ) |> ignore -do levelTable.Dock <- DockStyle.Fill -do levelTable.ColumnCount <- 2 -do labelK1.Anchor <- AnchorStyles.Bottom ||| AnchorStyles.Right -do labelK1.Text <- "K1" -do labelK1 |> BlueFlash -do tip.SetToolTip(labelK1, "Experiment's mean (of mu-n*sigma) will appear on this tip" ) -let editK1 = CreateNumericBox true -do editK1.Anchor <- AnchorStyles.Bottom ||| AnchorStyles.Left -do editK1.Width <- 64 -do editK1.Text <- Convert.ToString(!k1) -do editK1.TextChanged.Add( fun _ -> let v = ref 0.0 in if Double.TryParse(editK1.Text, v) then k1 := !v) -do labelK2.Anchor <- AnchorStyles.Bottom ||| AnchorStyles.Right -do labelK2.Text <- "K2" -do labelK2 |> BlueFlash -do tip.SetToolTip(labelK2, "Experiment's standard deviation (from mu-n*sigma) will appear on this tip" ) -let editK2 = CreateNumericBox false -do editK2.Anchor <- AnchorStyles.Bottom ||| AnchorStyles.Left -do editK2.Width <- 64 -do editK2.Text <- Convert.ToString(!k2) -do editK2.TextChanged.Add( fun _ -> let v = ref 0.0 in if Double.TryParse(editK2.Text, v) then k2 := !v) - -let labelSigma = CreateLabel "Sigma" -do labelSigma.Anchor <- AnchorStyles.Bottom ||| AnchorStyles.Right -do labelSigma |> BlueFlash -do tip.SetToolTip(labelSigma, "Experiment's sigma factor used to calculate TrueSkill and Level as mu - n*sigma, default value is 3." ) -let editSigma = CreateNumericBox true -do editSigma.Anchor <- AnchorStyles.Bottom ||| AnchorStyles.Left -do editSigma.Width <- 64 -do editSigma.Text <- Convert.ToString(!SigmaFactor) -do editSigma.TextChanged.Add( fun _ -> let v = ref 0.0 in if Double.TryParse(editSigma.Text, v) then SigmaFactor := !v) - -let labelMap = new Label() -do labelMap.Text <- "Skill map" - -let buttonEditor = new Button(); -do buttonEditor.Text <- "Edit" - -do levelTable.Controls.Add(labelK1) -//do levelTable.Controls.Add(editK1) -do levelTable.Controls.Add(labelK2) -//do levelTable.Controls.Add(editK2) -do levelTable.Controls.Add( labelMap ) -do levelTable.Controls.Add( buttonEditor ) -do levelTable.Controls.Add(labelSigma) -do levelTable.Controls.Add(editSigma) - -do levelGroup.Controls.Add(levelTable) - -let levelUpdateButton = new Button(); -do levelUpdateButton.Text <- "Update" -do levelUpdateButton.Dock <- DockStyle.Bottom -do levelUpdateButton |> BlueFlash -do levelGroup.Controls.Add(levelUpdateButton) - -do levelUpdateButton.Click.Add( fun _ -> GetSelectedPath combos |> ChangeHandler !selectedMeasure) - -// Test code -let showInverse() = - let xs = linspace -10. 70. 81 in - let li = xs |> List.map (fun x -> (x, GetLevelFromSkill x !k1 !k2 k3) ) in - let _ = ShowLineGraph "Level" "TrueSkill" (List.toArray li) in () - -do levelGroup.Click.Add( fun _ -> showInverse() ) - -let resetItem points (pinned: _ []) item = - let mutable low = if item = 0 then 0 else item-1 in - while not pinned.[low] do low <- low - 1 done; - let top = (Array.length points)-1 in - let mutable high = if item = top then top else item+1 in - while not pinned.[high] do high <- high + 1 done; - - for i = (low+1) to high-1 do - let sx, sy = points.[low] in let ex, ey = points.[high] in - let dy = ey - sy in let dx = ex - sx in - let cx, cy = points.[i] in - points.[i] <- (cx, sy + ((dy*(cx-sx))/dx)) - done; - -// Skill mapping editor -do buttonEditor.Click.Add( fun _ -> - let lt = ref {new Transformation2d with origin = (new PointF(0.F,0.F)); and scale = (new SizeF(0.F,0.F)) } in - let rects = ref [||] in - - let xs = linspace 1.0 49. 49 in - //xs |> List.iter ( fun x -> Debug.WriteLine(x) ); - let on = Array.init (List.length xs) (fun i -> true) in - pins |> Array.iteri (fun i x -> on.[i] <- x ); - - let skillArray = !skillList |> List.toArray in - let data = xs |> List.mapi (fun i x -> (x, skillArray.[i]) //(norminv (x/k3))*(!k2) + !k1 ) - ) |> List.toArray in - let original = Array.copy data in - - - let GetCrosshairs (points:PointF array) = - let width = 4.0F in - points |> Array.map ( fun (point:PointF) -> - new RectangleF( point.X - width, point.Y - width, (2.0F*width)+1.0F, (2.0F*width)+1.0F) ) - in - - let DrawLineGraph (gr:Graphics) transform (data:(float * float) array) = - lt := transform; - - // Draw original line - let op = original |> Array.map ( fun (x,y) -> CreatePoint transform (float32 x, float32 y) ) in - gr.DrawLines( new Pen(Colour.Green), op); - - //let opabove = original |> Array.map ( fun (x,y) -> CreatePoint transform (float32 x, float32 (y + 1.0)) ) in - //gr.DrawLines( new Pen(Colour.Honeydew), opabove); - - //let opbelow = original |> Array.map ( fun (x,y) -> CreatePoint transform (float32 x, float32 (y - 1.0)) ) in - //gr.DrawLines( new Pen(Colour.Honeydew), opbelow); - - let points = data |> Array.map ( fun (x,y) -> CreatePoint transform (float32 x, float32 y) ) in - rects := GetCrosshairs points; - - // Draw red line - let pen = new Pen(Colour.Red) in - pen.Width <- 2.0F; - let linePoints = on |> Array.mapi( fun i b -> (b, points.[i]) ) |> Array.filter( fun (b,pt) -> b ) - |> Array.map( fun (b,pt) -> pt ) in - gr.DrawLines(pen, linePoints); - - // Draw red rectangles - let red = !rects |> Array.mapi( fun i x -> (on.[i], x) ) |> Array.filter( fun (b,x) -> b ) - |> Array.map( fun (b,x) -> x ) in - - gr.DrawRectangles(pen, red); - - // Draw blue (disabled) rectangles - let blue = !rects |> Array.mapi( fun i x -> (on.[i], x) ) |> Array.filter( fun (b,x) -> not b ) - |> Array.map( fun (b,x) -> x ) in - - if Array.length blue > 0 then gr.DrawRectangles(new Pen(Colour.Blue), blue) - - in - - let drawFun gr transform = data |> DrawLineGraph gr transform in - - let setItem item ay = - let mutable low = if item = 0 then 0 else item-1 in - while not on.[low] do low <- low - 1 done; - let top = (Array.length data)-1 in - let mutable high = if item = top then top else item+1 in - while not on.[high] do high <- high + 1 done; - let hello = 0.1134 in - let _,miny = if item>0 then data.[low] else (hello, Double.NegativeInfinity) in - let _,maxy = if item Array.fold ( fun acc (x,y) -> - let xl,xh,yl,yh = acc in (min x xl, max x xh, min y yl, max y yh) - ) (Double.MaxValue,Double.MinValue,Double.MaxValue,Double.MinValue) in - let yl,yh = if yl=yh then yl - 1.,yh + 1. else yl,yh in - let horizRange = {new Range with min=min 0.0F (float32 xl); and max=float32 xh; and name="Level" } in - let vertRange = { new Range with min=min 0.0F (float32 (yl - 2.0)); and max=float32 (yh + 2.0); and name="TrueSkill" } in - (vertRange, horizRange) in - let form = CreateForm "Skill mapping editor" in - form.Width <- 1000; form.Height <- 800; - let panel, picture = AddGraph form rangeFun drawFun true in - - - let buttonShow = new Button() in buttonShow.Text <- "Show"; - let buttonUse = new Button() in buttonUse.Text <- "Use"; - let buttonClearAll = new Button() in buttonClearAll.Text <- "Clear All"; - let buttonSetAll = new Button() in buttonSetAll.Text <- "Set All"; - //let buttonInverse = new Button() in buttonInverse.Text <- "Show Inverse"; - let buttonOK = new Button() in buttonOK.Text <- "OK(Commit)"; buttonOK.DialogResult <- DialogResult.OK; - let buttonCancel = new Button() in buttonCancel.Text <- "Cancel(Exit)"; buttonCancel.DialogResult <- DialogResult.Cancel; - - buttonClearAll.Click.Add( fun _ -> - for i=1 to (Array.length on)-2 do on.[i] <- false done; - resetItem data on ((Array.length on)/2); - panel.Invalidate() - ) ; - - buttonSetAll.Click.Add( fun _ -> - for i=1 to (Array.length on)-2 do on.[i] <- true done; - panel.Invalidate() - ); - - buttonShow.Click.Add( fun _ -> - // replot original - let ar = xs |> List.map (fun x -> (x, (norminv (x/k3))*(!k2) + !k1 ) ) |> List.toArray in - ar |> Array.iteri (fun i v -> original.[i] <- v ); - panel.Invalidate() - ); - - buttonUse.Click.Add( fun _ -> - let ar = xs |> List.map (fun x -> (x, (norminv (x/k3))*(!k2) + !k1 ) ) |> List.toArray in - ar |> Array.iteri (fun i v -> original.[i] <- v; data.[i] <-v ); - for i=1 to (Array.length on)-2 do on.[i] <- true done; - panel.Invalidate() - ); - - //buttonInverse.Click.Add( fun _ -> showInverse() ); // Note: doesn't work until values have been committed! - - let labelK1a = new Label() in - let labelK2a = new Label() in - - labelK1a.Text <- "K1"; - labelK1a.Width <- 32; - labelK1a |> BlueFlash; - let editK1 = CreateNumericBox true in - editK1.Width <- 64; - editK1.Text <- Convert.ToString(!k1); - editK1.TextChanged.Add( fun _ -> let v = ref 0.0 in if Double.TryParse(editK1.Text, v) then k1 := !v); - labelK2a.Text <- "K2"; - labelK2a.Width <- 32; - labelK2a |> BlueFlash; - let editK2 = CreateNumericBox false in - editK2.Width <- 64; - editK2.Text <- Convert.ToString(!k2); - editK2.TextChanged.Add( fun _ -> let v = ref 0.0 in if Double.TryParse(editK2.Text, v) then k2 := !v); - - let panel2 = new TableLayoutPanel() in - panel2.ColumnCount <- 12; - panel2.Controls.Add(labelK1a); - panel2.Controls.Add(editK1); - panel2.Controls.Add(labelK2a); - panel2.Controls.Add(editK2); - - panel2.Controls.Add(buttonShow); - panel2.Controls.Add(buttonUse); - panel2.Controls.Add(buttonClearAll); - panel2.Controls.Add(buttonSetAll); - //panel2.Controls.Add(buttonInverse); - panel2.Controls.Add( new Label() ); - panel2.Controls.Add( new Label() ); - panel2.Controls.Add(buttonOK); - panel2.Controls.Add(buttonCancel); - - panel2.Dock <- DockStyle.Bottom; - panel2.Height <- 32; - form.Controls.Add(panel2); - - //form.Load.Add( fun _ -> SendKeys.Send("{F6}") ); - - let GetRectNo x y = System.Array.FindIndex(!rects, (fun rect -> rect.Contains(x,y) )) - in - - // left mouse click - toggle box - right mouse click drag - let dragItem = ref (-1) in - let oldMouseX = ref 0 in - let oldMouseY = ref 0 in - picture.MouseDown.Add (fun me -> - oldMouseX := me.X; oldMouseY := me.Y; - let x,y = float32 me.X, float32 me.Y in - let index = GetRectNo x y in - if index <> -1 then if on.[index] then dragItem := index - else dragItem := -1 - ); - - picture.MouseUp.Add(fun me -> dragItem := -1; panel.Invalidate() ); - - picture.MouseMove.Add (fun me -> - if !dragItem <> -1 then - let x,y = float32 me.X, float32 me.Y in - let ax,ay = (!lt).InverseTransform(x,y) - in - - setItem !dragItem ay - ); - - picture.MouseClick.Add( fun e -> - let x,y = float32 e.X, float32 e.Y in - - let item = GetRectNo x y in - let _ = if item <> -1 && item>0 && item<((Array.length !rects)-1) then on.[item] <- (if on.[item] then false else true) - in () - ; - if item <> -1 then - // Recalc points - resetItem data on item; - panel.Invalidate() - ); - - let result = form.ShowDialog() in - if result = DialogResult.OK then - ( - Debug.WriteLine( "OK" ); - let _ = on |> Array.iteri ( fun i x -> pins.[i] <- x ) in - let ar = data |> Array.map (fun (x,y) -> y ) in - let li = ar |> Array.toList in - let _ = SetLevelList li in - let _ = GetSelectedPath combos |> ChangeHandler !selectedMeasure in - () - ) - ) -// --- - -// -- Menu Code -let memuMain = mainForm.Menu <- new MainMenu() -let menuFile= mainForm.Menu.MenuItems.Add("&File") -let miFileOpen = new MenuItem("&Open") -let miFileExit = new MenuItem("&Exit") -do menuFile.MenuItems.Add(miFileOpen) |> ignore -do menuFile.MenuItems.Add(miFileExit) |> ignore -do miFileOpen.Click.Add( fun _ -> - let browser = new FolderBrowserDialog() in - browser.SelectedPath <- !basePath; - if DialogResult.OK = browser.ShowDialog() then - basePath := browser.SelectedPath; - SetCombos "" ) -do miFileExit.Click.Add( fun _ -> mainForm.Close() ) - -let menuEdit = mainForm.Menu.MenuItems.Add("&Edit") -let miEditCopy = new MenuItem("&Copy") -do miEditCopy.Shortcut <- Shortcut.CtrlC; miEditCopy.ShowShortcut <- true -let miEditPaste = new MenuItem("&Paste") -do miEditPaste.Shortcut <- Shortcut.CtrlV; miEditPaste.ShowShortcut <- true -do menuEdit.MenuItems.Add(miEditCopy) |> ignore -do menuEdit.MenuItems.Add(miEditPaste) |> ignore -do miEditCopy.Click.Add( fun _ -> - let levels = (!skillList) |> List.mapi ( fun i x -> - if pins.[i] then ("\t\t" + x.ToString() + "\r\n") else "") in - let value = "\r\n" + - "\t" + (GetRelativePath combos) + "\r\n" + - "\t" + (!k1).ToString() + "\r\n" + - "\t" + (!k2).ToString() + "\r\n" + - "\t" + (!SigmaFactor).ToString() + "\r\n" + - "\t" + (!gamesPlayedStart).ToString() + "\r\n" + - "\t" + (!gamesPlayedEnd).ToString() + "\r\n" + - "\t\r\n" + System.String.Join("",levels |> List.toArray) + "\t\r\n" + - "\r\n" - in Clipboard.SetDataObject(value) // Copy xml to clip board - ) -do miEditPaste.Click.Add( fun _ -> - // Paste xml from clipboard - let value = Clipboard.GetDataObject() in - match value.GetData(typeof) with - | :? string as xml -> - let _ = try - - Debug.WriteLine(xml); - let doc = new XmlDocument() in - doc.LoadXml( xml ); - let root = doc.FirstChild in - let relPath = (root.Item("folder")).InnerText in - let k1Text = (root.Item("k1")).InnerText in - k1 := Double.Parse(k1Text); - editK1.Text <- Convert.ToString(!k1); - let k2Text = (root.Item("k2")).InnerText in - k2 := Double.Parse(k2Text); - editK2.Text <- Convert.ToString(!k2); - let sigmaNode = root.Item("sigma") in - let _ = if( sigmaNode<>null ) then SigmaFactor := Double.Parse(sigmaNode.InnerText) in - editSigma.Text <- Convert.ToString(!SigmaFactor); - let playedStart = root.Item("playedStart") in - let _ = if playedStart <> null then gamesPlayedStart := XmlConvert.ToInt16(playedStart.InnerText); editStart.Value <- Convert.ToDecimal(!gamesPlayedStart); editStart.Invalidate() in - let playedEnd = root.Item("playedEnd") in - let _ = if playedEnd <> null then gamesPlayedEnd := XmlConvert.ToInt16(playedEnd.InnerText); editEnd.Value <- Convert.ToDecimal(!gamesPlayedEnd); editEnd.Invalidate() in - SetCombos relPath; - // Read levels - let levelsNode = root.Item("levels") in - let _ = if(levelsNode<>null ) then - let xs = linspace 1.0 49. 49 in - let data = xs |> List.mapi (fun i x -> (x, (norminv (x/k3))*(!k2) + !k1 )) |> List.toArray in - pins |> Array.iteri ( fun i _ -> pins.[i] <- false ); - levelsNode.ChildNodes |> Seq.cast |> Seq.iter ( fun (node:XmlNode) -> - Debug.WriteLine( node.InnerText.ToString() ); - let attribute = node.Attributes.GetNamedItem("index") in - Debug.WriteLine( attribute.Value.ToString() ); - let index = System.Int32.Parse( attribute.Value ) - 1 - in pins.[index] <- true; - let x,_ = data.[index] in - data.[index] <- (x, Double.Parse(node.InnerText)); - () - ); - pins |> Array.iteri ( fun i x -> if not x then resetItem data pins i ); - skillList := data |> Array.toList |> List.map ( fun (x,y) -> y ) - in - - () - with e -> MessageBox.Show("Paste failed: " + e.Message) |> ignore - in () - | _ -> () - ) - -let menuHelp = mainForm.Menu.MenuItems.Add("&Help") -let miHelpAbout = new MenuItem("&About") -do menuHelp.MenuItems.Add(miHelpAbout) |> ignore -do miHelpAbout.Click.Add( fun _ -> - let dialog = new Form() in dialog.Text <- "About"; - let box = new RichTextBox() in box.Dock <- DockStyle.Fill; - box.BackColor <- Colour.White; - box.ForeColor <- Colour.Black; - box.SelectionAlignment <- HorizontalAlignment.Center; - box.SelectedText <- "Experiment Viewer\r\n\r\n"; - box.SelectionAlignment <- HorizontalAlignment.Left; - box.SelectedText <- "The starting folder can be specified from the command line or the File Menu.\r\n\r\n" + - "Once an experiment file has loaded the suggested values for K1 & K2 are viewable by hovering the mouse over the respective labels.\r\n" + - "The values for K1 & K2 are calculated as the mean and standard deviation of Mu-(n*Sigma).\r\n\r\n" + - "The setting can be copied and pasted as XML to and from the editable windows using CTRL-C & CTRL-V.\r\n\r\n" + - "The graphs can be panned by moving the mouse with the left mouse button down, and zoomed with the right mouse button down." + - "Press F5 to reset the view, and F3 to toggle the grid off and on."; - box.Enabled <- false; - dialog.Controls.Add(box); - dialog.ShowDialog() |> ignore - ) - - -let testFunc () = - let form = CreateForm "Test" in - - let data = [|(0.0F,1.0F,0);(1.0F,2.0F,1);(2.0F,3.0F,2);(3.0F,4.0F,3)|] in - let controls = data |> Array.map( fun _ -> let control = new Label() in control.Visible <- false; control ) in - controls |> Array.iter (fun control -> form.Controls.Add(control) ); - - let DrawBarGraph2 (gr:Graphics) (transform:Transformation2d) (brush:#Brush) (values:(float32 * float32 * int) array) = - let border = new Pen(Colour.Black) in - values |> Array.iteri (fun i (x1,x2,y) -> - - let tx, ty = transform.Transform (x1, float32 y) in - let bx, by = transform.Transform (x2, 0.0F) in - gr.FillRectangle(brush, tx, ty, bx - tx, by - ty ); - gr.DrawRectangle(border, tx, ty, bx - tx, by - ty ); - () - ) - in - - let horizRange = {new Range with min=0.0F; and max=float32 (Array.length data); and name="x" } in - let vertRange = {new Range with min=0.0F; and max=3.0F; and name="y" } in - let rangeFunc() = (vertRange, horizRange) in - let drawFunc gr t = data |> DrawBarGraph2 gr t (Brushes.Blue) in - let panel, pbox = AddGraph form rangeFunc drawFunc false in - let _ = form.Show() in - () - -do testFunc() - -do mainForm.Paint.Add(fun _ -> Application.Exit());; - -// Run the main code. The attribute marks the startup application thread as "Single -// Thread Apartment" mode, which is necessary for GUI applications. -[] - -// On Vista (don't know about other OS'), if I [a-sazach] am away (e.g. "lock my computer" or if I log out of a TS session) -// then this form just sits there waiting for me to log back in. -// This hack seems to fix that. -let timer = new System.Windows.Forms.Timer() -do timer.Interval <- 2000 (* ms *) -do timer.add_Tick(new EventHandler(fun _ _ -> mainForm.Close()));; -do timer.Start();; - -do Application.Run(mainForm) - -let _ = - (System.Console.Out.WriteLine "Test Passed"; - printf "TEST PASSED OK" ; - exit 0) diff --git a/tests/fsharp/regression/656/formshelper.fs b/tests/fsharp/regression/656/formshelper.fs deleted file mode 100644 index 0437d65c48b..00000000000 --- a/tests/fsharp/regression/656/formshelper.fs +++ /dev/null @@ -1,169 +0,0 @@ -#indent "off" - -module FormsHelper - -open System -open System.Collections.Generic -open System.Windows.Forms -open System.Drawing - -/// Add a control to a control -let AddToControl (parent:#Control) (child:#Control) = parent.Controls.Add(child) - -/// Add controls to a control -let AddArrayToControl (parent:#Control) (children:#Control array) = - parent.Controls.AddRange(children |> Array.map (fun (i:#Control) -> (i :> Control))) - -/// Add a hint of blue when mouse enters control -let BlueFlash (control:#Control) = - let AddBlue n (c:Color) = - Color.FromArgb(int c.R,int c.G, min 255 (int c.B + n)) - in - control.MouseEnter.Add( fun _ -> - control.ForeColor <- Color.DarkBlue; - control.BackColor <- AddBlue 5 Control.DefaultBackColor - ); - control.MouseLeave.Add( fun _ -> - control.ForeColor <- Control.DefaultForeColor; - control.BackColor <- Control.DefaultBackColor ) - -/// Creates a numeric text box -let CreateNumericBox allowNeg = - let edit = new TextBox() in - edit.KeyDown.Add( fun(e:KeyEventArgs) -> if( Keys.D0 <= e.KeyCode && Keys.D9 >= e.KeyCode ) then () - else if (Keys.NumPad0 <= e.KeyCode && Keys.NumPad9 >= e.KeyCode ) then () - else if (Keys.Back = e.KeyCode) then () - else if (Keys.Left = e.KeyCode || Keys.Right = e.KeyCode) then () - else if (Keys.OemPeriod = e.KeyCode) then () - else if (allowNeg && 0 = edit.SelectionStart && Keys.Subtract = e.KeyCode) then () - else if (allowNeg && 0 = edit.SelectionStart && Keys.OemMinus = e.KeyCode) then () - else e.SuppressKeyPress <- true ); - edit - -/// Creates a form with a specified name -let CreateForm name = - let form = new Form() in form.Text <- name; form - -/// Creates a label with the specified text -let CreateLabel text = - let label = new Label() in - label.Text <- text; - label - -/// Creates a radio button -let CreateRadio label changeHandler = - let radio = new RadioButton() in - radio.Text <- label; - radio.CheckedChanged.AddHandler(new EventHandler(changeHandler) ); - radio - -/// Adds tool tip specified text to control -let AddToolTip (control:#Control) (text:string) = - let tip = new ToolTip() in tip.SetToolTip(control, text) - -/// Creates a track bar -let CreateTrackBar label extent tickFreq value changedHandler = - let slider = new TrackBar() in - let tip = new ToolTip() in tip.SetToolTip(slider, label); - slider.Text <- label; - slider.Maximum <- extent; - slider.TickFrequency <- tickFreq; - slider.Value <- value; - slider.ValueChanged.AddHandler(new EventHandler(changedHandler)); - slider - -/// Create a combo box with the specified names -let CreateCombo names = - let combo = new ComboBox() in - Array.iter ( fun name -> let _ = combo.Items.Add(name) in () ) names; - combo - -type OpaqueCheckBox = - class - inherit CheckBox - new () as x = { inherit CheckBox(); } (* then - x.SetStyle(ControlStyles.UserPaint,true); - x.UseVisualStyleBackColor <- true; - x.FlatStyle <- FlatStyle.Flat - override x.OnPaint (p:PaintEventArgs) = ControlPaint.DrawCheckBox(p.Graphics, p.ClipRectangle, if x.Checked then ButtonState.Checked else ButtonState.Normal); - p.Graphics.DrawString( x.Text, new Font(FontFamily.GenericMonospace, 9.0F), Brushes.Black, float32 p.ClipRectangle.Left, float32 p.ClipRectangle.Top) *) - end - -/// Create a check box with given name and handler -let CreateCheckBox name tag eventHandler = - let box = new OpaqueCheckBox() in - box.CheckStateChanged.AddHandler(new EventHandler(eventHandler)); - box.Tag <- tag; box.Text <- name; - box - -/// Create a table layout panel -let CreateTableLayoutPanel columns = - let panel = new TableLayoutPanel() in - panel.GrowStyle <- TableLayoutPanelGrowStyle.AddRows; - panel.ColumnCount <- columns; - panel.Dock <- DockStyle.Fill; - panel - -/// Creates a PictureBox with the specified Bitmap -let CreatePictureBox (bm:Bitmap) = - let pict = new PictureBox() in - pict.Size <- bm.Size; pict.Image <- bm; - pict.Dock <- DockStyle.Fill; - pict - -/// Creates a form from a control -let CreateFormWithControl (title:string) (control:#Control) = - // Create form to contain picture box - let form = CreateForm(title) in - let header = 32 in - form.Size <- new Size(control.Size.Width, control.Size.Height + header); - control.Dock <- DockStyle.Fill; - form.Controls.Add(control); - form - -/// Docks desktop location of parent form with a set of named child forms -type FormDockLocation = - class - val parent : Form // Parent form - val mutable childForms : ((Form * string * int * int) list) // List of child forms - - /// Docks child locations with parent - member instance.DockChildren () = - instance.childForms |> List.iter ( - fun ((child:Form),label,x,y) -> - let point = new Point(instance.parent.DesktopLocation.X + x, instance.parent.DesktopLocation.Y + y ) in - child.DesktopLocation <- point ) - - /// Constructor (would ideally be private) - new (form:Form) = { parent = form; childForms = [] } - - /// Create instance factory method - static member Create (form:Form) = - let instance = new FormDockLocation(form) in - form.Move.Add ( fun _ -> instance.DockChildren() ); - form.HandleDestroyed.AddHandler ( fun sender e -> - // Close child windows - instance.childForms |> List.iter (fun (child,_,_,_) -> let _ = child.Close() in () ) ); - instance - - /// Get child form instance with specified name - member instance.GetChildForm name = - match instance.childForms |> List.tryFind (fun (_,label,_,_) -> (label = name) ) with - | Some (form,_,_,_) -> Some(form) - | None -> None - - /// Set child - there can be only one with a specified name - member instance.SetChild (child:Form) name x y = - child.DesktopLocation <- new Point(instance.parent.DesktopLocation.X + x, instance.parent.DesktopLocation.Y + y); - // Remove any forms with same label - instance.childForms <- instance.childForms |> - List.filter (fun ((form:Form),label,x,y) -> if (label = name) then let _ = form.Close() in false else true ); - // Add child form - instance.childForms <- (child,name,x,y) :: instance.childForms; - // Handle window closed/destroyed - child.HandleDestroyed.AddHandler ( fun sender e -> - let control = sender :?> Form in - instance.childForms <- instance.childForms |> List.filter ( fun (form,label,x,y) -> form <> control ) - ) - end - diff --git a/tests/fsharp/regression/656/mathhelper.fs b/tests/fsharp/regression/656/mathhelper.fs deleted file mode 100644 index acd3b1caa8d..00000000000 --- a/tests/fsharp/regression/656/mathhelper.fs +++ /dev/null @@ -1,136 +0,0 @@ -#indent "off" - -module MathHelper - -open System -open System.Diagnostics - -/// Tree node -type Tree = - | LeafNode of int - | InnerNode of float * Tree * Tree - -/// Creates a specialized index tree from an array (Note: nodes are repeated for the search) -let rec CreateTree index (edges:float array) = - let length = Array.length edges in - match length with - | 0 -> LeafNode (index) - | 1 -> LeafNode (index) - | n -> - let mid = ((Array.length edges)/2) in - let lhs = Array.sub edges 0 mid in - let rhs = Array.sub edges (mid) (length-mid) in - - InnerNode (edges.[mid], CreateTree index lhs, CreateTree (index+mid) rhs) - -/// Finds node in tree -let rec TreeFind (node:Tree) value = - match (node) with - | LeafNode(index) -> index - | InnerNode(x,lhs,rhs) -> if (value < x) then TreeFind lhs value else TreeFind rhs value - - /// Add one to count -let addone tree (counts: _[]) v = - let i = TreeFind tree v in - counts.[i] <- counts.[i] + 1 - -/// Computes the counts for a sample -let histcex (sample:float list) edges counts = - //let timer = Stopwatch.StartNew() in - //let edgePairs = List.zip (System.Double.MinValue :: edges) (List.append edges [System.Double.MaxValue]) |> List.toArray in - let tree = System.Double.MinValue :: edges |> List.toArray |> CreateTree 0 in - List.iter (fun x -> - //let i2 = Array.FindIndex(edgePairs, (fun (l,u) -> (l <= x && x < u) )) in counts.(i2) <- counts.(i2) + 1 - addone tree counts x - ) sample - //timer.Stop(); Debug.WriteLine( "Elapsed " + timer.ElapsedMilliseconds.ToString() ); - -let histc (sample:float list ) edges = - let N = List.length edges in - let counts = Array.init (N + 1) (fun _ -> 0) in - histcex sample edges counts; - counts - -/// Computes an equal spacing between a and b of N numbers -let linspace a b N = - let M = N - 1 in - List.init N (fun i -> a + (float i) / (float M) * (b - a)) - -/// Calculate mean of sample -let Mean (sample:float array) = - let total = sample |> Array.fold( fun acc value -> acc + value ) 0.0 in - let n = (Array.length sample) in - total / (float n) - -/// Calculate standard deviation from mean -let StandardDeviationFromMean mean (sample:float array) = - let deltaSquared = sample |> Array.fold (fun acc value -> let delta = (mean-value) in acc + (delta*delta) ) 0.0 in - let n = (Array.length sample) in - Math.Sqrt(deltaSquared / (float n)) - -/// Calculate standard deviation of sample -let StandardDeviation (sample:float array) = - Mean sample |> StandardDeviationFromMean - -/// Computes the complementary error function. This function is defined by 2/sqrt(pi) * integral from x to infinity of exp (-t^2) dt. -let erfc x = - if (System.Double.IsNegativeInfinity (x)) then - 2.0 - else - if (System.Double.IsPositiveInfinity (x)) then - 0.0 - else - let z = abs (x) in - let t = 1.0 / (1.0 + 0.5 * z) in - let res = t * exp (-z * z - - 1.26551223 + - t * (1.00002368 + - t * (0.37409196 + - t * (0.09678418 + - t * (-0.18628806 + - t * (0.27886807 + - t * (-1.13520398 + - t * (1.48851587 + - t * (-0.82215223 + - t * 0.17087277))))))))) in - if (x >= 0.0) then - res - else - 2.0 - res - -/// Computes the inverse of the complementary error function. -let erfcinv y = - if (y < 0.0 || y > 2.0) then - failwith "Inverse complementary function not defined outside [0,2]." - else if (y = 0.0) then - System.Double.PositiveInfinity - else if (y = 2.0) then - System.Double.NegativeInfinity - else - let x = - if (y >= 0.0485 && y <= 1.9515) then - let q = y - 1.0 in - let r = q * q in - (((((0.01370600482778535*r - 0.3051415712357203)*r + 1.524304069216834)*r - 3.057303267970988)*r + 2.710410832036097)*r - 0.8862269264526915) * q / - (((((-0.05319931523264068*r + 0.6311946752267222)*r - 2.432796560310728)*r + 4.175081992982483)*r - 3.320170388221430)*r + 1.0) - else if (y < 0.0485) then - let q = sqrt (-2.0 * log (y / 2.0)) in - (((((0.005504751339936943*q + 0.2279687217114118)*q + 1.697592457770869)*q + 1.802933168781950)*q + -3.093354679843504)*q - 2.077595676404383) / - ((((0.007784695709041462*q + 0.3224671290700398)*q + 2.445134137142996)*q + 3.754408661907416)*q + 1.0) - else if (y > 1.9515) then - let q = sqrt (-2.0 * log (1.0 - y / 2.0)) in - -(((((0.005504751339936943*q + 0.2279687217114118)*q + 1.697592457770869)*q + 1.802933168781950)*q + -3.093354679843504)*q - 2.077595676404383) / - ((((0.007784695709041462*q + 0.3224671290700398)*q + 2.445134137142996)*q + 3.754408661907416)*q + 1.0) - else 0.0 - in - let u = (erfc (x) - y) / (-2.0 / sqrt (Math.PI) * exp (-x * x)) in - x - u / (1.0 + x * u) - -/// Computes the cumulative Gaussian distribution at a specified point of interest. -let normcdf t = - let sqrt2 = 1.4142135623730951 in (erfc (-t / sqrt2)) / 2.0 - -/// Computes the inverse of the cumulative Gaussian distribution (quantile function) at a specified point of interest. -let norminv p = - let sqrt2 = 1.4142135623730951 in -sqrt2 * erfcinv (2.0 * p) - diff --git a/tests/fsharp/regression/656/misc.fs b/tests/fsharp/regression/656/misc.fs deleted file mode 100644 index ab0d2701cf7..00000000000 --- a/tests/fsharp/regression/656/misc.fs +++ /dev/null @@ -1,30 +0,0 @@ -#indent "off" - -module Misc - -open System -open System.Diagnostics -open System.Reflection - -/// Write event entry to Windows Event Log -let WriteEvent (source:string) (message:string) (entryType:EventLogEntryType) = - try - let _ = if not (EventLog.SourceExists(source)) then EventLog.CreateEventSource(source, "Application") else () in - EventLog.WriteEntry(source, message, entryType) - with _ -> () - -/// Get exception message details -let rec GetExceptionMessage (e:#Exception) = - (e.GetType()).Name + ": " + e.Message + "\r\n StackTrace: " + e.StackTrace + - if e.InnerException = null then "" else "Inner Exception: " + (GetExceptionMessage e.InnerException) - -/// Log exception message -let LogWarning e = - let message = GetExceptionMessage e in - Debug.WriteLine(message); WriteEvent e.Source message EventLogEntryType.Warning - -/// Async call abstraction -let AsyncApp input f g = - let fd = new Converter<_,_>(f) in - let cb = new AsyncCallback(fun ar -> g (fd.EndInvoke(ar))) in - fd.BeginInvoke(input, cb, (null : Object) ) |> ignore diff --git a/tests/fsharp/regression/656/playerrecord.fs b/tests/fsharp/regression/656/playerrecord.fs deleted file mode 100644 index 1bff4ce8177..00000000000 --- a/tests/fsharp/regression/656/playerrecord.fs +++ /dev/null @@ -1,89 +0,0 @@ -#indent "off" - -module PlayerRecords - -open System -open FileHelper -open MathHelper - -let SigmaFactor = ref 3.0 - -let GetSkill mu sigma = mu - ((!SigmaFactor)*sigma) - -let skillList = ref [] -let skillTree = ref (LeafNode 0) - -let SetLevelList li = - skillList := li; - skillTree := System.Double.MinValue :: li |> List.toArray |> CreateTree 0 - -let SetLevel k1 k2 k3 = - let xs = linspace 1.0 49. 49 in - let li = xs |> List.map (fun x -> (norminv (x/k3))*(k2) + k1 ) in - SetLevelList li - -let GetLevelFromSkill skill k1 k2 k3 = - (float (TreeFind !skillTree skill)) + 1.0 - -let GetLevel mu sigma k1 k2 k3 = - GetLevelFromSkill (GetSkill mu sigma) k1 k2 k3 - - (*let a = (((GetSkill mu sigma) - k1) / k2) in - let value = (normcdf a) * k3 in - Math.Floor(value)*) - -/// Player record -type PlayerRecord = { gamertag:string; player_id:int64; mu:float; sigma:float; games_played:int16; } - with - member instance.TrueSkill = let skill = (GetSkill instance.mu instance.sigma) - in Math.Floor(skill) - - member instance.Level k1 k2 k3 = - GetLevel instance.mu instance.sigma k1 k2 k3 - end - -/// Named PlayerRecord array type -type NamedPlayerRecordArray = { mutable name:(string); mutable value:(PlayerRecord array) } - with - member instance.LoadWith (fileName:string) f = - if not (instance.name = fileName ) then - let table = f fileName in - instance.value <- table; - instance.name <- fileName; - table - else - instance.value - end - -/// Get player table from specified file -let GetPlayerTable fileName = - CreateEnumerableCSVStream fileName |> Seq.map (fun s -> - { new PlayerRecord with gamertag = s.[0]; - and player_id = Convert.ToInt64(s.[1]); - and mu = Convert.ToDouble(s.[2]); - and sigma = Convert.ToDouble(s.[3]); - and games_played = Convert.ToInt16(s.[4]) } ) - -let LastPlayerTable = { new NamedPlayerRecordArray with name = ""; and value = [||] } - -let LoadPlayerTable fileName = - let f fileName = GetPlayerTable fileName |> Seq.toArray in - LastPlayerTable.LoadWith fileName f - -/// Enumerates leader board table from specified file -let EnumerateLeaderboard fileName = - CreateEnumerableCSVStream fileName |> Seq.map (fun s -> - { new PlayerRecord with gamertag = System.String.Empty - and player_id = Convert.ToInt64(s.[0]); - and mu = Convert.ToDouble(s.[1]); - and sigma = Convert.ToDouble(s.[2]); - and games_played = Convert.ToInt16(s.[3]) } ) - - -/// Cache of last leaderboard to load -let LastLeaderboard = { new NamedPlayerRecordArray with name = ""; and value = [||] } - -/// Loads leaderboard -let LoadLeaderboard fileName = - let f fileName = EnumerateLeaderboard fileName |> Seq.toArray in - LastLeaderboard.LoadWith fileName f diff --git a/tests/fsharp/regression/656/plot.fs b/tests/fsharp/regression/656/plot.fs deleted file mode 100644 index 89a7a0d40b7..00000000000 --- a/tests/fsharp/regression/656/plot.fs +++ /dev/null @@ -1,174 +0,0 @@ -#indent "off" - -module Plot - -open System -open System.Collections.Generic -open System.Windows.Forms -open System.Drawing -open System.Diagnostics - -/// Encapsulates a named range of values -type Range = { min:float32; max:float32; name:string } - with - member instance.distance = instance.max - instance.min - end - -/// 2d Transformation type -type Transformation2d = { origin:PointF; scale:SizeF } - with - /// Transform coordinate pair by scale around origin - member instance.Transform (x,y) = - let tx = (instance.origin.X + (instance.scale.Width * x)) in - let ty = (instance.origin.Y - (instance.scale.Height * y)) in - (tx,ty) - - /// Inverse transform - member instance.InverseTransform (x,y) = - let tx = (x - instance.origin.X)/instance.scale.Width in - let ty = (instance.origin.Y - y)/instance.scale.Height in - (tx,ty) - - /// Create new 2d transformation from given variables - static member Create (source:RectangleF) (dest:RectangleF) (zoom:float32) = - Debug.Assert(dest.Width <> 0.0F ); Debug.Assert(dest.Height <> 0.0F ); - Debug.Assert(source.Width <> 0.0F); Debug.Assert(source.Height <> 0.0F); - let scale = new SizeF(dest.Width/source.Width, dest.Height/source.Height) in - let origin = new PointF(dest.X - (scale.Width * source.X), - dest.Y + (scale.Height * source.Y)) in - { new Transformation2d with origin = origin; - and scale = new SizeF(scale.Width*zoom,scale.Height*zoom) } - end - -/// Creates a generic font -let CreateFont = new Font(FontFamily.GenericMonospace, 9.0F) - -/// Draw string to graphics -let DrawString (gr:Graphics) (pen:Pen) (point:PointF) (label:string) = - let font = CreateFont in - let brush = new SolidBrush(pen.Color) in - gr.DrawString(label, font, brush, point) - -/// Measure string -let MeasureString (gr:Graphics) (label:string) = - gr.MeasureString(label, CreateFont) - -/// Draws string to left of specified point -let DrawStringOnScreen (gr:Graphics) (pen:Pen) (point:PointF) (label:string) = - let textSize = MeasureString gr label in - let x = max point.X 0.0F in let x = min x (gr.VisibleClipBounds.Right - textSize.Width) in - let y = max point.Y 0.0F in let y = min y (gr.VisibleClipBounds.Bottom - textSize.Height) in - let point = new PointF(x,y) in - DrawString gr pen point label - -/// Negate points -let Rotate180 points = - points |> Array.map (fun (x,y) -> (-x,-y)) - -/// Map relative points to origin -let MapPointsTo (originx,originy) relPoints = - relPoints |> Array.map (fun (x,y) -> new PointF(originx+x, originy+y) ) - -/// Polygon fill function -let FillPolygon (gr:Graphics) (brush:Brush) (points:PointF array) = - gr.FillPolygon(brush,points) - -/// Draw X & Y Axis -let DrawAxis (gr:Graphics) (pen:Pen) (transform:Transformation2d) (horiz:Range) (vert:Range) = - let x, y = transform.Transform (0.0F, 0.0F) in // Note: axis origin assumed to be at (0,0) - - let K = 3.0F in // Draw lines beyond extents - let xmin, ymin = transform.Transform (horiz.min, vert.min) in - let xmax, ymax = transform.Transform (horiz.max, vert.max) in - let xmin, ymin, xmax, ymax = (xmin-K, ymin+K, xmax+K, ymax-K) in - - // Draw x axis - let _ = gr.DrawLine(pen, (new PointF(xmin, y)), (new PointF(xmax,y)) ) in - let rarrow = [|(0.0F, -3.0F);(0.0F,3.0F);(7.0F,0.0F)|] in - let _ = rarrow |> MapPointsTo (xmax,y) |> FillPolygon gr Brushes.Black in - let _ = DrawStringOnScreen gr pen (new PointF(xmax + 12.0F, y + 12.0F)) horiz.name in - let _ = if (horiz.min < 0.0F ) then let _ = Rotate180 rarrow |> MapPointsTo (xmin, y) |> FillPolygon gr Brushes.Black in () in - - // Draw y axis - gr.DrawLine(pen, (new PointF(x, ymin)), (new PointF(x,ymax)) ); - let uarrow = [|(-3.0F,0.0F);(3.0F,0.0F);(0.0F,-7.0F)|] in - uarrow |> MapPointsTo (x,ymax) |> FillPolygon gr Brushes.Black; - if (vert.min < 0.0F ) then Rotate180 uarrow |> MapPointsTo (x, ymin) |> FillPolygon gr Brushes.Black; - let vtsize = (MeasureString gr vert.name) in - DrawString gr pen (new PointF(x - (vtsize.Width/2.0F), ymax - 8.0F - vtsize.Height)) vert.name - -/// Draw X Axis units -let DrawXAxisUnits (gr:Graphics) (pen:Pen) (transform:Transformation2d) (horiz:Range) (vert:Range) hunit (grid:bool) = - // Note: axis origin assumed to be at (0,0) - let _, ymin = transform.Transform (horiz.min, vert.min) in - let _, ymax = transform.Transform (horiz.max, vert.max) in - // Draw horizontal point function - let DrawHPoint (p:float32) = - let x, y = transform.Transform (p, 0.0F) in - let ystart, yend = if (grid) then (ymin,ymax) else (y - 2.0F, y + 2.0F) in - gr.DrawLine( pen, new PointF(x, ystart), new PointF(x, yend) ); - let legend = if (hunit >= 1.0F) then sprintf "%.0f" (float p) else sprintf "%.2f" (float p) in - if( x <> 0.0F ) then - let textSize = MeasureString gr legend in - DrawString gr pen (new PointF(x - (textSize.Width / 2.0F), y + 4.0F)) legend - in - // Draw horizontal scale - if hunit>0.F then - let i = ref 0.0F in - while (!i <= horiz.max) do DrawHPoint !i; i := !i + hunit done; - i := - hunit; - while (!i >= horiz.min) do DrawHPoint !i; i := !i - hunit done - -/// Draw y axis units -let DrawYAxisUnits (gr:Graphics) (pen:Pen) (transform:Transformation2d) (horiz:Range) (vert:Range) vunit (grid:bool) = - // Note: axis origin assumed to be at (0,0) - let xmin, _ = transform.Transform (horiz.min, vert.min) in - let xmax, _ = transform.Transform (horiz.max, vert.max) in - // Draw vertical point function - let DrawVPoint (p:float32) = - let x, y = transform.Transform (0.0F, p) in - let xstart, xend = if (grid) then (xmin,xmax) else (x - 2.0F, x + 2.0F) in - gr.DrawLine( pen, new PointF(xstart, y), new PointF(xend, y) ); - if (y <> 0.0F ) then - let legend = if (vunit>=1.0F) then sprintf "%.0f" (float p) else sprintf "%.2f" (float p) in - let textSize = MeasureString gr legend in - DrawString gr pen (new PointF(x - textSize.Width - 4.0F,y - 6.0F)) legend - in - // Draw vertical scale - if vunit>0.F then - let i = ref 0.0F in - while (!i <= vert.max) do DrawVPoint !i; i := !i + vunit done; - i := - vunit; - while (!i >= vert.min) do DrawVPoint !i; i := !i - vunit done - -/// Creates a transformed point from the coordinate pair -let CreatePoint (transform:Transformation2d) (x,y) = - let pointx, pointy = transform.Transform (x,y) in - new PointF(pointx,pointy) - -/// Creates a point array from specified values within specified range -let CreatePoints transform (values:float array) = - let pointList = new List() in - values |> Array.iteri ( fun (index:int) (value:float) -> - pointList.Add( CreatePoint transform (float32 index, float32 value) ) - ); - pointList.ToArray() - -/// Draw crosshairs (markers) over points -let DrawCrosshairs (gr:Graphics) (pen:Pen) (points:PointF array) = - let rects = points |> Array.map ( fun (point:PointF) -> - new RectangleF( point.X - (2.0F*pen.Width), point.Y - (2.0F*pen.Width), (4.0F*pen.Width)+1.0F, (4.0F*pen.Width)+1.0F) ) in - gr.DrawRectangles(pen, rects) - -/// Plot values on graphics surface with pen -let PlotValues (gr:Graphics) (pen:Pen) transform (label:string) (values:float array) = - if Array.length values = 0 then () else - // Create list of points - let points = CreatePoints transform values in - // Draw points as lines - gr.DrawLines(pen, points ); - // If possible draw crosshairs to highlight points - let _ = if (transform.scale.Width >= (10.0F*pen.Width)) then DrawCrosshairs gr pen points in - // Draw label - let lastPoint = points.[points.Length-1] in - DrawStringOnScreen gr pen lastPoint label diff --git a/tests/fsharp/regression/656/trackedplayers.fs b/tests/fsharp/regression/656/trackedplayers.fs deleted file mode 100644 index c702326d438..00000000000 --- a/tests/fsharp/regression/656/trackedplayers.fs +++ /dev/null @@ -1,375 +0,0 @@ -#indent "off" - -module TrackedPlayers - -open System -open System.IO -open System.Text -open System.Xml -open System.Collections.Generic -open System.Windows.Forms -open System.Diagnostics -open System.Drawing -open Misc -open FormsHelper -open Plot -open PlotTrajectory -open PlayerRecords - -let k1 = ref 25.0 -let k2 = ref 8.333 -let k3 = 50.0 - -let AutoScale = ref true - -/// Read table -let ReadTable fileName = - let _ = Cursor.Current <- Cursors.WaitCursor in - let table = LoadPlayerTable fileName in - let _ = Cursor.Current <- Cursors.Default in - table - -/// Get array of players last record -let GetPlayersLastRecord (table:PlayerRecord array) = - let dict = new Dictionary() in - // Get last array index for each player - table |> Array.iteri ( fun i (player:PlayerRecord) -> - let gamertag = player.gamertag in - if( dict.ContainsKey(gamertag) ) then dict.[gamertag] <- i - else dict.Add(gamertag, i) ); - let list = new List() in - dict |> Seq.iter (fun (pair:KeyValuePair) -> list.Add( table.[pair.Value]) ); - list.ToArray() - -/// Gets records associated with a specified player -let GetPlayerRecords (gamertag:string) (table:PlayerRecord array) = - table |> Array.filter ( fun player -> gamertag = player.gamertag ) - -/// Get Mu trajectory from specified table -let GetMuTrajectory (table:PlayerRecord array) = - table |> Array.map ( fun player -> (player.mu) ) - -/// Get TrueSkill trajectory from specified table -let GetTrueSkillTrajectory (table:PlayerRecord array) = - table |> Array.map ( fun player -> player.TrueSkill ) - -/// Get (Bungie) Level trajectory from specified table -let GetLevelTrajectory (table:PlayerRecord array) = - table |> Array.map ( fun player -> player.Level !k1 !k2 k3 ) - -/// Create trajectories for players -let CreateTrajectories (gamertags:string array) table f = - gamertags |> Array.map ( fun (gamertag:string) -> - let values = GetPlayerRecords gamertag table |> f in - (gamertag, values) ) - -/// Create player check box -let CreatePlayerCheckBox (toolTip:ToolTip) (player:PlayerRecord) eventHandler = - let box = CreateCheckBox player.gamertag player eventHandler in - let tipText = "Mu(" + player.mu.ToString() + ")" - + ", TrueSkill(" + player.TrueSkill.ToString() + ")" - + ", Level(" + (player.Level !k1 !k2 k3).ToString() + ")" - + ", Played(" + player.games_played.ToString() + ")" in - toolTip.SetToolTip(box, tipText); - box - -// Create eventHandler here -let CheckBoxEventHandler (selected:List) f = - let eventHandler (sender:obj) (e:EventArgs) = - let checkBox = sender :?> CheckBox in - let player = checkBox.Tag :?> PlayerRecord in - let _ = if( true = checkBox.Checked ) then - if (false = selected.Contains(player.gamertag)) then selected.Add(player.gamertag) else () - else - if (true = selected.Contains(player.gamertag)) then let _ = selected.Remove(player.gamertag) in () else () - in - f () - in eventHandler - -/// Create CheckBox panel from specified players -let CreateCheckBoxPanel tooltip (players:PlayerRecord array) (selected:List) f = - // Try to make the panel look square like - let count = Array.length players in - let columns = max 10 (int (Math.Sqrt(float count))) in - // Create panel - let panel = CreateTableLayoutPanel columns in - panel.SuspendLayout(); - // Checkbox click handler local definition - let eventHandler = CheckBoxEventHandler selected f in - // Add CheckBoxes - players |> Array.iter ( fun (player:PlayerRecord) -> - let box = CreatePlayerCheckBox tooltip player eventHandler in - let _ = if (true = selected.Contains(player.gamertag)) then box.Checked <- true in - panel.Controls.Add(box) - ); - // Pad out last row with empty labels - let remainder = columns - (count%columns) in - for i=0 to (remainder+columns) do panel.Controls.Add(new Label()) done; - panel.ResumeLayout(); - // Return panel - panel - -/// Line width for plot -let lineWidth = ref 2.0F - -/// Draw trajectories to graphics surface -let DrawTrajectories gr transform trajectories = - // Colours to cycle through - let colours = [|Colour.Red;Colour.Green;Colour.Blue; - Colour.Yellow;Colour.Orange;Colour.Violet; - Colour.Brown;Colour.Black;Colour.White|] in - trajectories |> Array.iteri ( fun index ((name:string),values) -> - let pen = new Pen(colours.[index%colours.Length]) in - pen.Width <- !lineWidth; - PlotValues gr pen transform name values ) - -/// Show trajectories -let ShowTrajectories form vlabel hlabel trajectories = - // Get maximum length of values array - let maxLength = trajectories |> Array.fold ( fun acc (_,values) -> Array.length values |> max acc ) 0 in - // Define horizontal and vertical ranges - let horizRange = {new Range with min=0.F; and max=max 1.0F (float32 (maxLength-1)); and name=hlabel } in - let vertRange = if !AutoScale then - let vmin, vmax = trajectories |> Array.fold ( fun ((cmin:float),(cmax:float)) (_,values) -> - (Array.fold min cmin values, Array.fold max cmax values) ) (0.0,1.0) - in { new Range with min=float32 vmin; and max=float32 vmax; and name=vlabel } - else - {new Range with min= -20.0F; and max=70.0F; and name=vlabel } - - in - - let rangeFun() = (vertRange, horizRange) in - let drawFun gr transform = trajectories |> DrawTrajectories gr transform in - AddGraph form rangeFun drawFun false - -/// Get all the child controls of the specified controls -let rec GetAllControls (controls:IEnumerable) = - controls |> Seq.fold (fun acc (c:Control) -> Seq.append acc (GetAllControls (Seq.cast c.Controls)) ) controls - -/// Gets collection of selected CheckBoxes in a collection of controls -let GetSelectedCheckBoxes controls = - controls |> Seq.filter - (fun (control:Control) -> match control with - | :? CheckBox as checkBox -> checkBox.CheckState = CheckState.Checked - | _ -> false ) - - -/// Populate form -let PopulateForm (form:Form) (formDock:FormDockLocation) measure (playedStart,playedEnd) table = - let toolTip = new ToolTip() in - toolTip.ShowAlways <- true; toolTip.ReshowDelay <- 100; toolTip.AutoPopDelay <- 1500; toolTip.InitialDelay <- 100; - - let update = ref true in - - // Get list of distinct gamer tags - let players = GetPlayersLastRecord table |> Array.filter (fun (p:PlayerRecord) -> p.games_played>= playedStart && p.games_played < playedEnd) in - - let selected = new List() in - // Get any existing selections - let controls = (GetAllControls (Seq.cast form.Controls)) in - - GetSelectedCheckBoxes controls |> Seq.iter ( fun (control:Control) -> - let checkBox = control :?> CheckBox in - let player = checkBox.Tag :?> PlayerRecord in - if table |> Array.exists (fun p -> p.gamertag = player.gamertag ) then selected.Add(player.gamertag) - ); - - form.Controls.Clear(); - - let rec SetTrajectoriesWindow () = - if !update then - let childForm = match formDock.GetChildForm "Child" with - | Some child -> child.Controls.Clear(); child.Menu.MenuItems.Clear(); child - | None -> let child = CreateForm "Trajectories" in - child.Width <- form.Width; child.Height <- 400; - child.Show(); - formDock.SetChild child "Child" 0 (form.Height+formDock.parent.Height); - child - in - let f = match measure with - | "Mu" -> GetMuTrajectory - | "TrueSkill" -> GetTrueSkillTrajectory - | "Level" -> GetLevelTrajectory - | _ -> GetMuTrajectory - in - let _ = f |> CreateTrajectories (selected.ToArray()) table - |> ShowTrajectories childForm measure "Played" in (); - let menuLine = childForm.Menu.MenuItems.Add("&Line Width") in - let miLine1 = new MenuItem("1") in - let miLine2 = new MenuItem("2") in - let miLine3 = new MenuItem("3")in - menuLine.MenuItems.AddRange([|miLine1;miLine2;miLine3|]) |> ignore; - miLine1.Click.Add( fun _ -> lineWidth := 1.0F; childForm.Invalidate(true) ); - miLine2.Click.Add( fun _ -> lineWidth := 2.0F; childForm.Invalidate(true) ); - miLine3.Click.Add( fun _ -> lineWidth := 3.0F; childForm.Invalidate(true) ); - childForm.Menu.MenuItems.Add(menuLine) |> ignore; - let menuRange = childForm.Menu.MenuItems.Add("&Range") in - let miRangeAuto = new MenuItem("Auto") in miRangeAuto.Checked <- !AutoScale; - let _ = menuRange.MenuItems.Add(miRangeAuto) in - let _ = miRangeAuto.Click.Add( fun _ -> AutoScale := if !AutoScale then false else true; miRangeAuto.Checked <- !AutoScale; SetTrajectoriesWindow() ) in - childForm.Menu.MenuItems.Add(menuRange) |> ignore - in - - - // Create a tracked player panel - update := false; - let panel = ref (CreateCheckBoxPanel toolTip players selected SetTrajectoriesWindow) in - form.Size <- new Size( form.Size.Width, (!panel).PreferredSize.Height); - form.Controls.Add(!panel); - update := true; - - SetTrajectoriesWindow(); - - // Create menus - let memuMain = form.Menu <- new MainMenu() in - // Create edit menu - let menuEdit = form.Menu.MenuItems.Add("&Edit") in - let miEditCopy = new MenuItem("Copy") in - miEditCopy.Shortcut <- Shortcut.CtrlC; miEditCopy.ShowShortcut <- true; - let miEditPaste = new MenuItem("Paste") in - miEditPaste.Shortcut <- Shortcut.CtrlV; miEditPaste.ShowShortcut <- true; - let miEditSelAll = new MenuItem("Select All") in - miEditSelAll.Shortcut <- Shortcut.CtrlA; miEditSelAll.ShowShortcut <- true; - let miEditClrAll = new MenuItem("Reset All") in - miEditClrAll.Shortcut <- Shortcut.CtrlR; miEditClrAll.ShowShortcut <- true; - let _ = menuEdit.MenuItems.Add(miEditCopy) in - let _ = menuEdit.MenuItems.Add(miEditPaste) in - let _ = menuEdit.MenuItems.Add(miEditSelAll) in - let _ = menuEdit.MenuItems.Add(miEditClrAll) in - - let _ = miEditCopy.Click.Add ( fun _ -> - let builder = new StringBuilder() in - let writer = new XmlTextWriter( new StringWriter(builder) ) in - writer.WriteStartElement("players"); - selected |> List.ofSeq |> List.iter ( fun (s:string) -> writer.WriteElementString("gamertag", s) ); - writer.WriteEndElement(); - writer.Close(); - Clipboard.SetDataObject(builder.ToString()) - ) in - let _ = miEditPaste.Click.Add ( fun _ -> - let value = Clipboard.GetDataObject() in - match value.GetData(typeof) with - | :? string as xml -> - let _ = try - Debug.WriteLine(xml); - let doc = new XmlDocument() in - doc.LoadXml( xml ); - let root = doc.FirstChild in - root.ChildNodes |> Seq.cast |> - Seq.filter( fun (node:XmlNode) -> node.Name = "gamertag" ) |> - Seq.iter( fun (node:XmlNode) -> - (!panel).Controls |> Seq.cast |> Seq.iter (fun (control:Control) -> - match control with - | :? CheckBox as checkBox -> - let player = checkBox.Tag :?> PlayerRecord in - if player.gamertag = node.InnerText then checkBox.CheckState <- CheckState.Checked - | _ -> () ); - ); - () - with e -> MessageBox.Show("Paste failed: " + e.Message) |> ignore - in () - | _ -> () - ) in - // Set box state function - let setBoxState state = - update := false; - (!panel).Controls |> Seq.cast |> Seq.iter (fun (control:Control) -> - match control with - | :? CheckBox as checkBox -> checkBox.CheckState <- state - | _ -> () ); - update := true; SetTrajectoriesWindow() - in - let _ = miEditSelAll.Click.Add( fun _ -> CheckState.Checked |> setBoxState ) in - let _ = miEditClrAll.Click.Add( fun _ -> CheckState.Unchecked |> setBoxState ) in - - // Create sort menu - let menuSort = form.Menu.MenuItems.Add("&Sort") in - let miSortName = new MenuItem("Name") in - let miSortMu = new MenuItem("Mu") in - let miSortTrueSkill = new MenuItem("TrueSkill") in - let miSortLevel = new MenuItem("Level") in - let miSortPlayed = new MenuItem("Played") in - let miSortSpecial = new MenuItem("Special") in - let _ = menuSort.MenuItems.Add(miSortName) in - let _ = menuSort.MenuItems.Add(miSortMu) in - let _ = menuSort.MenuItems.Add(miSortTrueSkill) in - let _ = menuSort.MenuItems.Add(miSortLevel) in - let _ = menuSort.MenuItems.Add(miSortPlayed) in - let _ = menuSort.MenuItems.Add(miSortSpecial) in - // Sort boxes function - let sortBoxes f = - let toolTip = new ToolTip() in - toolTip.ShowAlways <- true; toolTip.ReshowDelay <- 100; toolTip.AutoPopDelay <- 1500; toolTip.InitialDelay <- 100; - - update := false; - form.Controls.Clear(); - players |> Array.sortInPlaceWith f ; - panel := CreateCheckBoxPanel toolTip players selected SetTrajectoriesWindow; - form.Controls.Add(!panel); - update := true - in - let _ = miSortName.Click.Add( fun _ -> (fun (p1:PlayerRecord) (p2:PlayerRecord) -> p1.gamertag.CompareTo(p2.gamertag) ) - |> sortBoxes ) in - let _ = miSortMu.Click.Add( fun _ -> (fun (p1:PlayerRecord) (p2:PlayerRecord) -> Math.Sign(p1.mu - p2.mu) ) - |> sortBoxes ) in - let _ = miSortTrueSkill.Click.Add( fun _ -> (fun (p1:PlayerRecord) (p2:PlayerRecord) -> Math.Sign(p1.TrueSkill - p2.TrueSkill) ) - |> sortBoxes ) in - let _ = miSortLevel.Click.Add( fun _ -> (fun (p1:PlayerRecord) (p2:PlayerRecord) -> Math.Sign( (p1.Level !k1 !k2 k3) - (p2.Level !k1 !k2 k3) ) ) - |> sortBoxes ) in - let _ = miSortPlayed.Click.Add( fun _ -> (fun (p1:PlayerRecord) (p2:PlayerRecord) -> Convert.ToInt32(p1.games_played - p2.games_played) ) - |> sortBoxes ) in - let _ = miSortSpecial.Click.Add( fun _ -> - - let f = match measure with | "mu" -> ( fun player -> (player.mu) ) - | "TrueSkill" -> ( fun player -> (player.TrueSkill) ) - | "Level" -> ( fun player -> (player.Level !k1 !k2 k3) ) - | _ -> ( fun player -> (player.mu) ) - in - - let maxF = table |> Array.fold ( fun acc (p:PlayerRecord) ->f(p) |> max acc ) 0.0 in - let minF = table |> Array.fold ( fun acc (p:PlayerRecord) -> f(p) |> min acc ) 0.0 in - let maxPlayed = table |> Array.fold ( fun acc (p:PlayerRecord) -> Convert.ToInt32(p.games_played) |> max acc ) 0 in - let minPlayed = table |> Array.fold ( fun acc (p:PlayerRecord) -> Convert.ToInt32(p.games_played) |> min acc ) 0 in - - form.Controls.Clear(); - - let width = form.Width in let height = form.Height in - let eventHandler = CheckBoxEventHandler selected SetTrajectoriesWindow in - - let OnResize() = - let toolTip = new ToolTip() in - toolTip.ShowAlways <- true; toolTip.ReshowDelay <- 100; toolTip.AutoPopDelay <- 1500; toolTip.InitialDelay <- 100; - - update := false; - form.Controls.Clear(); - players |> Array.iter (fun player -> let box = CreatePlayerCheckBox toolTip player eventHandler in - let v = f(player) in - box.Top <- (form.Height - 64) - (int ((v - minF)*(float form.Height - 64.0) / (maxF - minF))); - box.Left <- (((Convert.ToInt32(player.games_played) - minPlayed)*(form.Width - 64)) / (maxPlayed - minPlayed)); - let _ = if (true = selected.Contains(player.gamertag)) then box.Checked <- true in - form.Controls.Add(box) - ); - update := true; - form.Invalidate(); () - in - OnResize(); - form.Resize.Add (fun _ -> OnResize ()); - - - // TODO: handle resize of form - //) - ) in - () - -/// Show tracker file -let TrackedPlayersHandler form formDock (measure:string) (playedStart,playedEnd) (fileName:string) = - // Load table async and populate form on completion - - let ShowTable table = - let f() = try PopulateForm form formDock measure (playedStart,playedEnd) table with e -> LogWarning e in - if not form.IsDisposed then try form.Invoke( new MethodInvoker(f) ) |> ignore with e -> LogWarning e else () - in - AsyncApp fileName ReadTable ShowTable; - form - - diff --git a/tests/fsharp/regression/656/traj.fs b/tests/fsharp/regression/656/traj.fs deleted file mode 100644 index 6f3b2645951..00000000000 --- a/tests/fsharp/regression/656/traj.fs +++ /dev/null @@ -1,255 +0,0 @@ -#indent "off" - -module PlotTrajectory - -open System -open System.Collections.Generic -open System.Windows.Forms -open System.Drawing -open FormsHelper -open Plot - -/// Map US to English(UK) spelling -type Colour = Color - -/// Infinite collection of units -let WholeUnits = - Seq.initInfinite ( fun (i:int) -> - let sequence = [|1.0;2.0;5.0|] in - let x = i / (Array.length sequence) in - let y = i % (Array.length sequence) in - let value = (Math.Pow(10., float x) * sequence.[y]) in - value - ) - -// Infinite collection of fractional units -let FractionalUnits = - let ItemAt i = - let sequence = [|1.0;0.5;0.2|] in - let x = i / (Array.length sequence) in - let y = i % (Array.length sequence) in - (Math.Pow(10., float (-x) ) * sequence.[y]) - in - Seq.initInfinite ( fun (i:int) -> (ItemAt i, ItemAt (i+1)) ) - -/// Gets a unit from the specified value -let GetUnit (value:float) = - let sign = float(Math.Sign(value)) in - let value2 = value * sign in - if ( value > 1.0 ) then let unit = WholeUnits |> Seq.find ( fun unit -> unit >= value2 ) in unit * sign - else - let previous, unit = FractionalUnits |> Seq.find ( fun (previous,unit) -> unit <= value2 ) in previous * sign - -/// Draw scale -let DrawScaleToGraphics (gr:Graphics) transform horiz vert grid = - // Draw scale - let pen = new Pen(Color.Gray) in - let v = (16.0F/transform.scale.Height) in let vunit = GetUnit (float v) in - DrawYAxisUnits gr pen transform horiz vert (float32 vunit) grid; - let h = (32.0F/transform.scale.Width) in let hunit = GetUnit (float h) in - DrawXAxisUnits gr pen transform horiz vert (float32 hunit) grid; - let pen = new Pen(Color.Black) in - DrawAxis gr pen transform horiz vert - -/// Show graph -let AddGraph (form:Form) rangeFun drawFun pinUp = - // Variables - let margin = new SizeF(64.0F, 32.0F) in - let header = 32 in - let width = form.Width in let height = form.Height-32 in - let pinned = ref false in - let panX = ref 0.0F in - let panY = ref 0.0F in - let zoom = ref 1.0F in - let drawGrid = ref true in - let transform = ref {new Transformation2d with origin = (new PointF(0.F,0.F)); and scale = (new SizeF(0.F,0.F)) } in - let hlabel = ref "" in let vlabel = ref "" in - - // Create bitmap (double buffer) - let buffers = [|new Bitmap(width, height); new Bitmap(width,height)|] in let buffer = ref 0 in - let bm = buffers.[!buffer] in - // Create PictureBox and add to panel - let picture = CreatePictureBox bm in - let panel = new Panel() in panel.Controls.Add(picture); - panel.Dock <- DockStyle.Fill; - panel.Size <- bm.Size; - - form.Controls.Add(panel); - - let statusBar = new StatusBar() in - - let OnPaint() = - let vertRange, horizRange = rangeFun() in - vlabel := vertRange.name; hlabel := horizRange.name; - // Create transformation - let width = (float32 (panel.Size.Width)) in let height = (float32 panel.Size.Height) in - let source = new RectangleF(horizRange.min, vertRange.min, horizRange.distance, vertRange.distance) in - let dest = new RectangleF(margin.Width - (!panX * width), height - margin.Height - (!panY*height), - width - (margin.Width * 2.0F), height - (margin.Height * 2.0F)) in - transform := Transformation2d.Create source dest !zoom; - // Draw to non-visible buffer - buffer := (!buffer + 1)%2; - let bm = if( (buffers.[!buffer]).Size.Equals(panel.Size) ) then buffers.[!buffer] else - let _ = (buffers.[!buffer]).Dispose() in buffers.[!buffer] <- new Bitmap(panel.Width,panel.Height); - buffers.[!buffer] - in - let gr = Graphics.FromImage(bm) in - gr.Clear(panel.BackColor); - // Draw scale - DrawScaleToGraphics gr !transform horizRange vertRange !drawGrid; - // Draw function - drawFun gr !transform; - // Now set picture with updated bitmap -> avoids flicker - picture.Image <- bm; - () - in - panel.Paint.Add (fun _ -> OnPaint ()); - - let oldMouseX = ref 0 in - let oldMouseY = ref 0 in - - picture.MouseDown.Add (fun me -> oldMouseX := me.X; oldMouseY := me.Y ); - - picture.MouseMove.Add (fun me -> - if not !pinned then - let x,y = (!transform).InverseTransform (float32 me.X, float32 me.Y) in - let loc = sprintf "(%s,%s) (%.2f,%.2f)" !hlabel !vlabel (float x) (float y) in - statusBar.Text <- loc; - let _ = match me.Button with - | MouseButtons.Left -> let dx = float32 (me.X - !oldMouseX) in let width = (float32 ) panel.Size.Width in - panX := !panX - (dx/width); - let dy = float32 (me.Y - !oldMouseY) in let height = (float32 ) panel.Size.Height in - panY := !panY - (dy/height); - oldMouseX := me.X; oldMouseY := me.Y; - panel.Invalidate () - | MouseButtons.Right -> zoom := max 0.1F (!zoom - float32 (me.Y - !oldMouseY) / 100.0F); - oldMouseX := me.X; oldMouseY := me.Y; - panel.Invalidate () - | _ -> () - in () - - ); - - picture.MouseLeave.Add(fun _ -> statusBar.Text <- System.String.Empty ); - - panel.Resize.Add (fun _ -> panel.Invalidate ()); - - form.Controls.Add( statusBar ); - - let memuMain = form.Menu <- new MainMenu() in - let menuFile = form.Menu.MenuItems.Add("&File") in - let miFileSaveAs = new MenuItem("&Save As") in - miFileSaveAs.Shortcut <- Shortcut.CtrlS; miFileSaveAs.ShowShortcut <- true; - let _ = menuFile.MenuItems.Add(miFileSaveAs) in - let _ = miFileSaveAs.Click.Add( fun _ -> - let bm = buffers.[!buffer] in - let dialog = new SaveFileDialog() in - dialog.Filter <- "Bitmap|*.bmp|GIF|*.gif|JPEG|*.jpg"; - let _ = if ( DialogResult.OK = dialog.ShowDialog() ) then - let imageFormat = match dialog.FilterIndex with - | 2 -> Imaging.ImageFormat.Gif - | 3 -> Imaging.ImageFormat.Jpeg - | _ -> Imaging.ImageFormat.Bmp in - bm.Save( dialog.FileName, imageFormat) - in () - ) in - let menuEdit = form.Menu.MenuItems.Add("&Edit") in - let miEditCopy = new MenuItem("&Copy") in - miEditCopy.Shortcut <- Shortcut.CtrlC; miEditCopy.ShowShortcut <- true; - let _ = menuEdit.MenuItems.Add(miEditCopy) in - let _ = miEditCopy.Click.Add( fun _ -> - let bm = buffers.[!buffer] in Clipboard.SetDataObject(bm) // Copy image to clip board - ) in - let menuView = form.Menu.MenuItems.Add("&View") in - let miViewGrid = new MenuItem("&Grid") in miViewGrid.Checked <- !drawGrid; - miViewGrid.Shortcut <- Shortcut.F3; miViewGrid.ShowShortcut <- true; - let miViewReset = new MenuItem("&Reset") in - miViewReset.Shortcut <- Shortcut.F5; miViewReset.ShowShortcut <- true; - let _ = menuView.MenuItems.AddRange([|miViewGrid;miViewReset|]) in - if pinUp then - ( - pinned := true; - let miViewPinned = new MenuItem("&Pin") in - miViewPinned.Shortcut <- Shortcut.F6; miViewPinned.ShowShortcut <- true; - let _ = miViewPinned.Click.Add( fun _ -> pinned := if !pinned then false else true; miViewPinned.Checked <- !pinned ) in - let _ = menuView.MenuItems.Add(miViewPinned) in () - ); - let _ = miViewGrid.Click.Add( fun _ -> - if (!drawGrid) then drawGrid := false else drawGrid := true; - miViewGrid.Checked <- !drawGrid; panel.Invalidate() ) - in - let _ = miViewReset.Click.Add( fun _ -> panX := 0.0F; panY := 0.0F; zoom := 1.0F; panel.Invalidate() ) in - (panel,picture) - -/// Creates new form and shows graph -let ShowGraph title vertRange horizRange drawFun = - let rangeFun() = (vertRange, horizRange) in - let form = CreateForm title in - form.Width <- 1000; form.Height <- 800; - let picture = AddGraph form rangeFun drawFun false in - let _ = form.Show() in - (form,picture) - -/// Draw line graph to graphics surface -let DrawLineGraph (gr:Graphics) transform (data:(float * float) array) = - let pen = new Pen(Colour.Red) in - pen.Width <- 2.0F; - let points = data |> Array.map ( fun (x,y) -> CreatePoint transform (float32 x, float32 y) ) in - gr.DrawLines(pen, points); - if (transform.scale.Width >= (8.0F*pen.Width)) then DrawCrosshairs gr pen points - -/// Draw scattergram to graphics surface -let DrawScattergram (gr:Graphics) (transform:Transformation2d) (pairs:(float * float) array) = - let pen = new Pen(Colour.Black) in - pairs |> Array.iter ( fun (x,y) -> - let tx, ty = transform.Transform (float32 x, float32 y) in - let point = new PointF(tx,ty) in - gr.DrawLine(pen,point, new PointF(point.X+0.5F, point.Y+0.5F) ) - ) - -/// Draw bar graph to graphics surface -let DrawBarGraph (gr:Graphics) (transform:Transformation2d) (brush:#Brush) (values:(float32 * float32 * int) array) = - let border = new Pen(Colour.Black) in - values |> Array.iter (fun (x1,x2,y) -> - let tx, ty = transform.Transform (x1, float32 y) in - let bx, by = transform.Transform (x2, 0.0F) in - gr.FillRectangle(brush, tx, ty, bx - tx, by - ty ); - gr.DrawRectangle(border, tx, ty, bx - tx, by - ty ); - ) - -/// Draw bar graph to graphics surface -let DrawLabelledBarGraph (gr:Graphics) (transform:Transformation2d) (pairs:(string * float) array) = - let blue = new SolidBrush(Colour.Blue) in - let black = new Pen(Colour.Black) in - pairs |> Array.iteri (fun x (label,y) -> - let tx, ty = transform.Transform (float32 x, float32 y) in - let bx, by = transform.Transform (float32 (x+1), 0.0F) in - gr.FillRectangle(blue, tx, ty, bx - tx, by - ty ); - gr.DrawRectangle(black, tx, ty, bx - tx, by - ty ); - ) - -/// Show line graph -let ShowLineGraph vlabel hlabel (data:(float * float) array) = - let xl, xh, yl, yh = data |> Array.fold ( fun acc (x,y) -> - let xl,xh,yl,yh = acc in (min x xl, max x xh, min y yl, max y yh) - ) (Double.MaxValue,Double.MinValue,Double.MaxValue,Double.MinValue) in - let yl,yh = if yl=yh then yl - 1.,yh + 1. else yl,yh in - let horizRange = {new Range with min=min 0.0F (float32 xl); and max=float32 xh; and name=hlabel } in - let vertRange = { new Range with min=min 0.0F (float32 yl); and max=float32 yh; and name=vlabel } in - let drawFun gr transform = data |> DrawLineGraph gr transform in - ShowGraph "Line graph" vertRange horizRange drawFun - -/// Show scatter graph -let ShowScattergram vlabel hlabel data = - let horizRange = {new Range with min=0.F; and max=1000.0F; and name=hlabel } in - let vertRange = {new Range with min= -20.0F; and max=70.0F; and name=vlabel } in - let drawFun gr transform = data |> DrawScattergram gr transform in - ShowGraph "Scattergram" vertRange horizRange drawFun - -/// Show bar graph -let ShowLabelledBarGraph vlabel hlabel (data:(string * float) array) = - let low, high = data |> Array.fold ( fun acc (_,i) -> let l,h = acc in (min i l, max i h) ) (Double.MaxValue , Double.MinValue) in - let horizRange = {new Range with min=0.0F; and max=float32 (Array.length data); and name=hlabel } in - let vertRange = {new Range with min=min (float32 low) 0.0F; and max=float32 high; and name=vlabel } in - let drawFun gr transform = data |> DrawLabelledBarGraph gr transform in - ShowGraph "Bar graph" vertRange horizRange drawFun diff --git a/tests/fsharp/regression/83/test.ml b/tests/fsharp/regression/83/test.ml deleted file mode 100644 index 1188cc35d02..00000000000 --- a/tests/fsharp/regression/83/test.ml +++ /dev/null @@ -1,46 +0,0 @@ -// #Regression -let failures = ref false -let report_failure () = - System.Console.Error.WriteLine " NO"; failures := true - -open System -open System.Windows.Forms - -let form = new Form() - -let lblHello = new Label() -let btnSay = new Button() - -let btnSay_Click(sender, e) = - lblHello.Text <- "Hello" - -let form_Load(sender, e) = - btnSay.add_Click(new EventHandler(fun sender e -> btnSay_Click(sender, e))) - - - -let _ = lblHello.Location <- new System.Drawing.Point(16, 16) -let _ = lblHello.Name <- "lblHello" -let _ = lblHello.Size <- new System.Drawing.Size(72, 23) -let _ = lblHello.TabIndex <- 0 - -let _ = btnSay.Location <- new System.Drawing.Point(216, 16) -let _ = btnSay.Name <- "btnApply" -let _ = btnSay.TabIndex <- 1 -let _ = btnSay.Text <- "Apply" - -let _ = form.Text <- "1st F# App" -let _ = form.add_Load(new EventHandler(fun sender e -> form_Load(sender, e))) -let _ = form.Controls.AddRange(Array.ofList [(upcast (lblHello) : Control); - (upcast (btnSay) : Control); - ]) - -(* let _ = Application.Run(form) *) - -let _ = - if !failures then (System.Console.Out.WriteLine "Test Failed"; exit 1) - -do (System.Console.Out.WriteLine "Test Passed"; - printf "TEST PASSED OK"; - exit 0) - diff --git a/tests/fsharp/regression/84/test.ml b/tests/fsharp/regression/84/test.ml deleted file mode 100644 index b8f9ec7ce0c..00000000000 --- a/tests/fsharp/regression/84/test.ml +++ /dev/null @@ -1,11 +0,0 @@ -// #Regression - -let _ = - match false with - | true -> (System.Console.Out.WriteLine "Test Failed"; exit 1) - | false -> - (System.Console.Out.WriteLine "Test Passed"; - printf "TEST PASSED OK"; - exit 0) - -let _ = (System.Console.Out.WriteLine "Test Ended"; exit 100) diff --git a/tests/fsharp/regression/85/Category.ml b/tests/fsharp/regression/85/Category.ml deleted file mode 100644 index c975598f926..00000000000 --- a/tests/fsharp/regression/85/Category.ml +++ /dev/null @@ -1,8 +0,0 @@ -// #Regression -open System -open System.Web - -let ProcessRequest = fun (context : HttpContext) -> - let form = new ASP.Category_aspx() in - () - diff --git a/tests/fsharp/regression/85/category.dll b/tests/fsharp/regression/85/category.dll deleted file mode 100644 index b80f660e121989376fa294fc40ac0da143dfe0f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 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 KM&RQZf&TzTEUqR1 diff --git a/tests/fsharp/regression/86/test.ml b/tests/fsharp/regression/86/test.ml deleted file mode 100644 index 2ec7219e0be..00000000000 --- a/tests/fsharp/regression/86/test.ml +++ /dev/null @@ -1,11 +0,0 @@ -// #Regression - - -let _ = - if '\\' = '\092' & "\\" = "\092" then - (System.Console.Out.WriteLine "Test Passed"; - printf "TEST PASSED OK"; - exit 0) - - else (System.Console.Out.WriteLine "Test Failed"; exit 1) - diff --git a/tests/fsharp/regression/tuple-bug-1/test.ml b/tests/fsharp/regression/tuple-bug-1/test.ml deleted file mode 100644 index bead09c38dd..00000000000 --- a/tests/fsharp/regression/tuple-bug-1/test.ml +++ /dev/null @@ -1,30 +0,0 @@ -// #Regression -let failures = ref false -let report_failure () = - System.Console.Error.WriteLine "NO"; failures := true - - - -type typ = - | Type_void - | Type_other1 of int - | Type_other2 of int - - -let _ = if (4, ".ctor",0, Type_void, []) = (4, ".ctor",0, Type_void, [Type_other1 3]) then report_failure () else System.Console.Error.WriteLine "success A" -let _ = if (4, ".ctor",0, Type_void, [Type_other2 4]) = (4, ".ctor",0, Type_void, [Type_other1 3]) then report_failure () else System.Console.Error.WriteLine "success B" -let _ = if (".ctor",0, Type_void, []) = (".ctor",0, Type_void, [Type_other1 3]) then report_failure () else System.Console.Error.WriteLine "success C" - -let _ = if (0, Type_void, []) = (0, Type_void, [Type_other1 3]) then report_failure () else System.Console.Error.WriteLine "success D" -let _ = if (Type_void, []) = (Type_void, [Type_other1 3]) then report_failure () else System.Console.Error.WriteLine "success E" -let _ = if ([], []) = ([], [Type_other1 3]) then report_failure () else System.Console.Error.WriteLine "success F" -let _ = if ([], 3) = ([], 4) then report_failure () else System.Console.Error.WriteLine "success G" -let _ = if ([]) = ([Type_other1 3]) then report_failure () else System.Console.Error.WriteLine "success H" - -let _ = - if !failures then (System.Console.Out.WriteLine "Test Failed"; exit 1) - else - (System.Console.Out.WriteLine "Test Passed"; - printf "TEST PASSED OK"; - exit 0) - diff --git a/tests/fsharp/single-test.fs b/tests/fsharp/single-test.fs index 5f33b3b1b6b..764017e7c91 100644 --- a/tests/fsharp/single-test.fs +++ b/tests/fsharp/single-test.fs @@ -113,7 +113,6 @@ let generateProjectArtifacts (pc:ProjectConfiguration) outputType (targetFramewo let langver, options = match languageVersion with - | "supports-ml" -> "5.0", "--mlcompatibility" | v -> v, "" let computeSourceItems addDirectory addCondition (compileItem:CompileItem) sources = @@ -217,7 +216,7 @@ let singleTestBuildAndRunCore cfg copyFiles p languageVersion = let sources = [] let loadSources = [] let useSources = [] - let extraSources = ["testlib.fsi";"testlib.fs";"test.mli";"test.ml";"test.fsi";"test.fs";"test2.fsi";"test2.fs";"test.fsx";"test2.fsx"] + let extraSources = ["testlib.fsi";"testlib.fs";"test.fsi";"test.fs";"test2.fsi";"test2.fs";"test.fsx";"test2.fsx"] let utilitySources = [] let referenceItems = if String.IsNullOrEmpty(copyFiles) then [] else [copyFiles] let framework = "net10.0" @@ -334,8 +333,6 @@ let singleVersionedNegTest (cfg: TestConfig) version testname = let options = match version with - | "supports-ml" -> "--langversion:5.0 --mlcompatibility" - | "supports-ml*" -> "--mlcompatibility" | v when not (String.IsNullOrEmpty(v)) -> $"--langversion:{v}" | _ -> "" @@ -352,9 +349,9 @@ let singleVersionedNegTest (cfg: TestConfig) version testname = else sprintf "%s.bsl" testname let sources = [ - let src = [ testname + ".mli"; testname + ".fsi"; testname + ".ml"; testname + ".fs"; testname + ".fsx"; - testname + "a.mli"; testname + "a.fsi"; testname + "a.ml"; testname + "a.fs"; - testname + "b.mli"; testname + "b.fsi"; testname + "b.ml"; testname + "b.fs"; ] + let src = [ testname + ".fsi"; testname + ".fs"; testname + ".fsx"; + testname + "a.fsi"; testname + "a.fs"; + testname + "b.fsi"; testname + "b.fs"; ] yield! src |> List.filter (fileExists cfg) diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs index b187ba0728c..4df4684d52f 100644 --- a/tests/fsharp/tests.fs +++ b/tests/fsharp/tests.fs @@ -497,8 +497,6 @@ module CoreTests = let ``fsi-reload`` () = let cfg = testConfig "core/fsi-reload" - fsiStdinCheckPassed cfg "test1.ml" " --langversion:5.0 --mlcompatibility --maxerrors:1" [] - fsiCheckPassed cfg "%s --maxerrors:1" cfg.fsi_flags ["load1.fsx"] @@ -521,23 +519,6 @@ module CoreTests = [] let ``genericmeasures-FSC_NETFX_TEST_ROUNDTRIP_AS_DLL`` () = singleTestBuildAndRun "core/genericmeasures" FSC_NETFX_TEST_ROUNDTRIP_AS_DLL - - [] - let hiding () = - let cfg = testConfig "core/hiding" - - fsc cfg "%s -a --optimize --langversion:5.0 --mlcompatibility -o:lib.dll" cfg.fsc_flags ["lib.mli";"lib.ml";"libv.ml"] - - peverify cfg "lib.dll" - - fsc cfg "%s -a --optimize --langversion:5.0 --mlcompatibility -r:lib.dll -o:lib2.dll" cfg.fsc_flags ["lib2.mli";"lib2.ml";"lib3.ml"] - - peverify cfg "lib2.dll" - - fsc cfg "%s --optimize --langversion:5.0 --mlcompatibility -r:lib.dll -r:lib2.dll -o:client.exe" cfg.fsc_flags ["client.ml"] - - peverify cfg "client.exe" - [] let ``innerpoly-FSC_NETFX_TEST_ROUNDTRIP_AS_DLL`` () = singleTestBuildAndRun "core/innerpoly" FSC_NETFX_TEST_ROUNDTRIP_AS_DLL @@ -830,16 +811,6 @@ module CoreTests = singleTestBuildAndRunAux cfg FSI - [] - let parsing () = - let cfg = testConfig "core/parsing" - - fsc cfg "%s -a --langversion:5.0 --mlcompatibility -o:crlf.dll -g" cfg.fsc_flags ["crlf.ml"] - - fsc cfg "%s --langversion:5.0 --mlcompatibility -o:toplet.exe -g" cfg.fsc_flags ["toplet.ml"] - - peverify cfg "toplet.exe" - [] let unicode () = let cfg = testConfig "core/unicode" @@ -864,30 +835,6 @@ module CoreTests = fsi cfg "%s --utf8output" cfg.fsi_flags ["kanji-unicode-utf16.fs"] - - [] - let internalsvisible () = - let cfg = testConfig "core/internalsvisible" - - // Compiling F# Library - fsc cfg "%s --version:1.2.3 --keyfile:key.snk --langversion:5.0 --mlcompatibility -a --optimize -o:library.dll" cfg.fsc_flags ["library.fsi"; "library.fs"] - - peverify cfg "library.dll" - - // Compiling C# Library - csc cfg "/target:library /keyfile:key.snk /out:librarycs.dll" ["librarycs.cs"] - - peverify cfg "librarycs.dll" - - // Compiling F# main referencing C# and F# libraries - fsc cfg "%s --version:1.2.3 --keyfile:key.snk --optimize --langversion:5.0 --mlcompatibility -r:library.dll -r:librarycs.dll -o:main.exe" cfg.fsc_flags ["main.fs"] - - peverify cfg "main.exe" - - // Run F# main. Quick test! - exec cfg ("." ++ "main.exe") "" - - // Repro for https://github.com/dotnet/fsharp/issues/1298 [] let fileorder () = @@ -1372,35 +1319,6 @@ module CoreTests = fsc cfg @"%s -o:test3.exe -r:version1\DependentAssembly.dll -r:version2\DependentAssembly.dll -r:version1\AscendentAssembly.dll --optimize- -g" cfg.fsc_flags ["test.fs"] execAndCheckPassed cfg ("." ++ "test3.exe") "DependentAssembly-1.0.0.0 AscendentAssembly-1.0.0.0" - - [] - let testResources () = - let cfg = testConfig "core/resources" - - fsc cfg "%s --langversion:5.0 --mlcompatibility --resource:Resources.resources -o:test-embed.exe -g" cfg.fsc_flags ["test.fs"] - - peverify cfg "test-embed.exe" - - fsc cfg "%s --langversion:5.0 --mlcompatibility --linkresource:Resources.resources -o:test-link.exe -g" cfg.fsc_flags ["test.fs"] - - peverify cfg "test-link.exe" - - fsc cfg "%s --langversion:5.0 --mlcompatibility --resource:Resources.resources,ResourceName.resources -o:test-embed-named.exe -g" cfg.fsc_flags ["test.fs"] - - peverify cfg "test-embed-named.exe" - - fsc cfg "%s --langversion:5.0 --mlcompatibility --linkresource:Resources.resources,ResourceName.resources -o:test-link-named.exe -g" cfg.fsc_flags ["test.fs"] - - peverify cfg "test-link-named.exe" - - exec cfg ("." ++ "test-embed.exe") "" - - exec cfg ("." ++ "test-link.exe") "" - - exec cfg ("." ++ "test-link-named.exe") "ResourceName" - - exec cfg ("." ++ "test-embed-named.exe") "ResourceName" - [] let topinit () = let cfg = testConfig "core/topinit" @@ -1445,18 +1363,6 @@ module CoreTests = peverify cfg "app69514-withsig.exe" - fsc cfg "%s -o:lib.dll --realsig- -a --langversion:5.0 --mlcompatibility -g" cfg.fsc_flags ["lib.ml"] - - peverify cfg "lib.dll" - - csc cfg """/nologo /r:"%s" /r:lib.dll /out:test.exe """ cfg.FSCOREDLLPATH ["test.cs"] - - fsc cfg "%s --optimize -o:lib--optimize.dll --realsig- -a --langversion:5.0 --mlcompatibility -g" cfg.fsc_flags ["lib.ml"] - - peverify cfg "lib--optimize.dll" - - csc cfg """/nologo /r:"%s" /r:lib--optimize.dll /out:test--optimize.exe""" cfg.FSCOREDLLPATH ["test.cs"] - let dicases = ["flag_deterministic_init1.fs"; "lib_deterministic_init1.fs"; "flag_deterministic_init2.fs"; "lib_deterministic_init2.fs"; "flag_deterministic_init3.fs"; "lib_deterministic_init3.fs"; "flag_deterministic_init4.fs"; "lib_deterministic_init4.fs"; "flag_deterministic_init5.fs"; "lib_deterministic_init5.fs"; "flag_deterministic_init6.fs"; "lib_deterministic_init6.fs"; "flag_deterministic_init7.fs"; "lib_deterministic_init7.fs"; "flag_deterministic_init8.fs"; "lib_deterministic_init8.fs"; "flag_deterministic_init9.fs"; "lib_deterministic_init9.fs"; "flag_deterministic_init10.fs"; "lib_deterministic_init10.fs"; "flag_deterministic_init11.fs"; "lib_deterministic_init11.fs"; "flag_deterministic_init12.fs"; "lib_deterministic_init12.fs"; "flag_deterministic_init13.fs"; "lib_deterministic_init13.fs"; "flag_deterministic_init14.fs"; "lib_deterministic_init14.fs"; "flag_deterministic_init15.fs"; "lib_deterministic_init15.fs"; "flag_deterministic_init16.fs"; "lib_deterministic_init16.fs"; "flag_deterministic_init17.fs"; "lib_deterministic_init17.fs"; "flag_deterministic_init18.fs"; "lib_deterministic_init18.fs"; "flag_deterministic_init19.fs"; "lib_deterministic_init19.fs"; "flag_deterministic_init20.fs"; "lib_deterministic_init20.fs"; "flag_deterministic_init21.fs"; "lib_deterministic_init21.fs"; "flag_deterministic_init22.fs"; "lib_deterministic_init22.fs"; "flag_deterministic_init23.fs"; "lib_deterministic_init23.fs"; "flag_deterministic_init24.fs"; "lib_deterministic_init24.fs"; "flag_deterministic_init25.fs"; "lib_deterministic_init25.fs"; "flag_deterministic_init26.fs"; "lib_deterministic_init26.fs"; "flag_deterministic_init27.fs"; "lib_deterministic_init27.fs"; "flag_deterministic_init28.fs"; "lib_deterministic_init28.fs"; "flag_deterministic_init29.fs"; "lib_deterministic_init29.fs"; "flag_deterministic_init30.fs"; "lib_deterministic_init30.fs"; "flag_deterministic_init31.fs"; "lib_deterministic_init31.fs"; "flag_deterministic_init32.fs"; "lib_deterministic_init32.fs"; "flag_deterministic_init33.fs"; "lib_deterministic_init33.fs"; "flag_deterministic_init34.fs"; "lib_deterministic_init34.fs"; "flag_deterministic_init35.fs"; "lib_deterministic_init35.fs"; "flag_deterministic_init36.fs"; "lib_deterministic_init36.fs"; "flag_deterministic_init37.fs"; "lib_deterministic_init37.fs"; "flag_deterministic_init38.fs"; "lib_deterministic_init38.fs"; "flag_deterministic_init39.fs"; "lib_deterministic_init39.fs"; "flag_deterministic_init40.fs"; "lib_deterministic_init40.fs"; "flag_deterministic_init41.fs"; "lib_deterministic_init41.fs"; "flag_deterministic_init42.fs"; "lib_deterministic_init42.fs"; "flag_deterministic_init43.fs"; "lib_deterministic_init43.fs"; "flag_deterministic_init44.fs"; "lib_deterministic_init44.fs"; "flag_deterministic_init45.fs"; "lib_deterministic_init45.fs"; "flag_deterministic_init46.fs"; "lib_deterministic_init46.fs"; "flag_deterministic_init47.fs"; "lib_deterministic_init47.fs"; "flag_deterministic_init48.fs"; "lib_deterministic_init48.fs"; "flag_deterministic_init49.fs"; "lib_deterministic_init49.fs"; "flag_deterministic_init50.fs"; "lib_deterministic_init50.fs"; "flag_deterministic_init51.fs"; "lib_deterministic_init51.fs"; "flag_deterministic_init52.fs"; "lib_deterministic_init52.fs"; "flag_deterministic_init53.fs"; "lib_deterministic_init53.fs"; "flag_deterministic_init54.fs"; "lib_deterministic_init54.fs"; "flag_deterministic_init55.fs"; "lib_deterministic_init55.fs"; "flag_deterministic_init56.fs"; "lib_deterministic_init56.fs"; "flag_deterministic_init57.fs"; "lib_deterministic_init57.fs"; "flag_deterministic_init58.fs"; "lib_deterministic_init58.fs"; "flag_deterministic_init59.fs"; "lib_deterministic_init59.fs"; "flag_deterministic_init60.fs"; "lib_deterministic_init60.fs"; "flag_deterministic_init61.fs"; "lib_deterministic_init61.fs"; "flag_deterministic_init62.fs"; "lib_deterministic_init62.fs"; "flag_deterministic_init63.fs"; "lib_deterministic_init63.fs"; "flag_deterministic_init64.fs"; "lib_deterministic_init64.fs"; "flag_deterministic_init65.fs"; "lib_deterministic_init65.fs"; "flag_deterministic_init66.fs"; "lib_deterministic_init66.fs"; "flag_deterministic_init67.fs"; "lib_deterministic_init67.fs"; "flag_deterministic_init68.fs"; "lib_deterministic_init68.fs"; "flag_deterministic_init69.fs"; "lib_deterministic_init69.fs"; "flag_deterministic_init70.fs"; "lib_deterministic_init70.fs"; "flag_deterministic_init71.fs"; "lib_deterministic_init71.fs"; "flag_deterministic_init72.fs"; "lib_deterministic_init72.fs"; "flag_deterministic_init73.fs"; "lib_deterministic_init73.fs"; "flag_deterministic_init74.fs"; "lib_deterministic_init74.fs"; "flag_deterministic_init75.fs"; "lib_deterministic_init75.fs"; "flag_deterministic_init76.fs"; "lib_deterministic_init76.fs"; "flag_deterministic_init77.fs"; "lib_deterministic_init77.fs"; "flag_deterministic_init78.fs"; "lib_deterministic_init78.fs"; "flag_deterministic_init79.fs"; "lib_deterministic_init79.fs"; "flag_deterministic_init80.fs"; "lib_deterministic_init80.fs"; "flag_deterministic_init81.fs"; "lib_deterministic_init81.fs"; "flag_deterministic_init82.fs"; "lib_deterministic_init82.fs"; "flag_deterministic_init83.fs"; "lib_deterministic_init83.fs"; "flag_deterministic_init84.fs"; "lib_deterministic_init84.fs"; "flag_deterministic_init85.fs"; "lib_deterministic_init85.fs"] fsc cfg "%s --optimize- -o test_deterministic_init.exe --realsig- " cfg.fsc_flags (dicases @ ["test_deterministic_init.fs"]) @@ -1591,32 +1497,6 @@ module VersionTests = [] let ``nameof-fsi``() = singleTestBuildAndRunVersion "core/nameof/preview" FSI "preview" -#if !NETCOREAPP -module ToolsTests = - - // This test is disabled in coreclr builds dependent on fixing : https://github.com/dotnet/fsharp/issues/2600 - [] - let bundle () = - let cfg = - testConfig "tools/bundle" - - fsc cfg "%s --progress --langversion:5.0 --mlcompatibility --standalone -o:test-one-fsharp-module.exe -g" cfg.fsc_flags ["test-one-fsharp-module.fs"] - - peverify cfg "test-one-fsharp-module.exe" - - fsc cfg "%s -a --langversion:5.0 --mlcompatibility -o:test_two_fsharp_modules_module_1.dll -g" cfg.fsc_flags ["test_two_fsharp_modules_module_1.fs"] - - peverify cfg "test_two_fsharp_modules_module_1.dll" - - fsc cfg "%s --langversion:5.0 --mlcompatibility --standalone -r:test_two_fsharp_modules_module_1.dll -o:test_two_fsharp_modules_module_2.exe -g" cfg.fsc_flags ["test_two_fsharp_modules_module_2.fs"] - - peverify cfg "test_two_fsharp_modules_module_2.exe" - - fsc cfg "%s -a --langversion:5.0 --mlcompatibility --standalone -r:test_two_fsharp_modules_module_1.dll -o:test_two_fsharp_modules_module_2_as_dll.dll -g" cfg.fsc_flags ["test_two_fsharp_modules_module_2.fs"] - - peverify cfg "test_two_fsharp_modules_module_2_as_dll.dll" -#endif - [] let ``eval-FSC_OPTIMIZED`` () = singleTestBuildAndRun "tools/eval" FSC_OPTIMIZED [] @@ -1639,9 +1519,6 @@ module RegressionTests = [] let ``struct-tuple-bug-1-FSC_OPTIMIZED`` () = singleTestBuildAndRun "regression/struct-tuple-bug-1" FSC_OPTIMIZED - [] - let ``tuple-bug-1-FSC_OPTIMIZED`` () = singleTestBuildAndRunVersion "regression/tuple-bug-1" FSC_OPTIMIZED "supports-ml" - [] let ``12383-FSC_OPTIMIZED`` () = singleTestBuildAndRun "regression/12383" FSC_OPTIMIZED @@ -1755,61 +1632,6 @@ module RegressionTests = failwithf "'%s' and '%s' differ; %A" (getfullpath cfg outFile2) (getfullpath cfg expectedFile2) diff2 #endif - [] - let ``26`` () = singleTestBuildAndRunVersion "regression/26" FSC_OPTIMIZED "supports-ml" - - [] - let ``321`` () = singleTestBuildAndRunVersion "regression/321" FSC_OPTIMIZED "supports-ml" - -#if !NETCOREAPP - // This test is disabled in coreclr builds dependent on fixing : https://github.com/dotnet/fsharp/issues/2600 - [] - let ``655`` () = - let cfg = testConfig "regression/655" - - fsc cfg "%s --langversion:5.0 --mlcompatibility -a -o:pack.dll" cfg.fsc_flags ["xlibC.ml"] - - peverify cfg "pack.dll" - - fsc cfg "%s --langversion:5.0 --mlcompatibility -o:test.exe -r:pack.dll" cfg.fsc_flags ["main.fs"] - - peverify cfg "test.exe" - - - - execAndCheckPassed cfg ("." ++ "test.exe") "" - - - // This test is disabled in coreclr builds dependent on fixing : https://github.com/dotnet/fsharp/issues/2600 - [] - let ``656`` () = - let cfg = testConfig "regression/656" - - fsc cfg "%s --langversion:5.0 --mlcompatibility -o:pack.exe" cfg.fsc_flags ["misc.fs mathhelper.fs filehelper.fs formshelper.fs plot.fs traj.fs playerrecord.fs trackedplayers.fs form.fs"] - - peverify cfg "pack.exe" -#endif - -#if !NETCOREAPP - // Requires WinForms - [] - let ``83`` () = singleTestBuildAndRunVersion "regression/83" FSC_OPTIMIZED "supports-ml" - - [] - let ``84`` () = singleTestBuildAndRunVersion "regression/84" FSC_OPTIMIZED "supports-ml" - - [] - let ``85`` () = - let cfg = testConfig "regression/85" - - fsc cfg "%s --langversion:5.0 --mlcompatibility -r:Category.dll -a -o:petshop.dll" cfg.fsc_flags ["Category.ml"] - - peverify cfg "petshop.dll" -#endif - - [] - let ``86`` () = singleTestBuildAndRunVersion "regression/86" FSC_OPTIMIZED "supports-ml" - [] let ``struct-tuple-bug-1-FSI`` () = singleTestBuildAndRun "regression/struct-tuple-bug-1" FSI @@ -2203,12 +2025,6 @@ module TypecheckTests = fsc cfg "%s -a -o:pos03a.dll" cfg.fsc_flags ["pos03a.fsi"; "pos03a.fs"] peverify cfg "pos03a.dll" - [] - let ``sigs pos01a`` () = - let cfg = testConfig "typecheck/sigs" - fsc cfg "%s -a --langversion:5.0 --mlcompatibility -o:pos01a.dll" cfg.fsc_flags ["pos01a.fsi"; "pos01a.fs"] - peverify cfg "pos01a.dll" - [] let ``sigs pos02`` () = let cfg = testConfig "typecheck/sigs" @@ -2223,9 +2039,6 @@ module TypecheckTests = [] let ``type check neg01`` () = singleNegTest (testConfig "typecheck/sigs") "neg01" - [] - let ``type check neg03`` () = singleVersionedNegTest (testConfig "typecheck/sigs") "supports-ml*" "neg03" - [] let ``type check neg08`` () = singleNegTest (testConfig "typecheck/sigs") "neg08" diff --git a/tests/fsharp/tools/bundle/test-one-fsharp-module.fs b/tests/fsharp/tools/bundle/test-one-fsharp-module.fs deleted file mode 100644 index 61998d21e38..00000000000 --- a/tests/fsharp/tools/bundle/test-one-fsharp-module.fs +++ /dev/null @@ -1,9 +0,0 @@ -// #Misc #Modules -#indent "off" - -module Test_one_fsharp_module - -let _ = List.iter (fun s -> eprintf "%s" s) ["hello"; " "; "world"] -let _ = eprintfn "%s" "." -let _ = exit 0 - diff --git a/tests/fsharp/tools/bundle/test_two_fsharp_modules_module_1.fs b/tests/fsharp/tools/bundle/test_two_fsharp_modules_module_1.fs deleted file mode 100644 index bdefc6dee7a..00000000000 --- a/tests/fsharp/tools/bundle/test_two_fsharp_modules_module_1.fs +++ /dev/null @@ -1,12 +0,0 @@ -// #Misc #Modules -#indent "off" - -module Test_two_fsharp_modules_module_1 - -let f () = - for i = 1 to 10 do - List.iter (fun s -> eprintf "%s" s) ["hello"; " "; "world"]; - eprintfn "%s" "." - done - - diff --git a/tests/fsharp/tools/bundle/test_two_fsharp_modules_module_2.fs b/tests/fsharp/tools/bundle/test_two_fsharp_modules_module_2.fs deleted file mode 100644 index 1096e5982ef..00000000000 --- a/tests/fsharp/tools/bundle/test_two_fsharp_modules_module_2.fs +++ /dev/null @@ -1,8 +0,0 @@ -// #Misc #Modules -#indent "off" - -module Test_two_fsharp_modules_module_2 - -let _ = Test_two_fsharp_modules_module_1.f() -let _ = exit 0 - diff --git a/tests/fsharp/typecheck/sigs/pos01a.fs b/tests/fsharp/typecheck/sigs/pos01a.fs deleted file mode 100644 index a64f9898074..00000000000 --- a/tests/fsharp/typecheck/sigs/pos01a.fs +++ /dev/null @@ -1,46 +0,0 @@ -module Pos01a -let x : int list ref = ref [] -let y : string list ref = ref [] - -let f () = 3 - -module X1 = begin - type x = X | Y - let y = 3 -end - - -module X2 = begin - type x = X | Y - let x = 3 -end - - -module X3 = begin - let y = X2.X -end - - - -type fieldsInDifferentOrder = { b:int; a: int } - -(* -module TestModuleAbbreviatingNamespace = begin - module M = System - - let v = 3 -end - -module TestModuleAbbreviatingNamespaceOCamlSig = begin - module M = System - - let v = 3 -end -*) - -type C() = - class - [] - val mutable x : int - end - diff --git a/tests/fsharp/typecheck/sigs/pos01a.fsi b/tests/fsharp/typecheck/sigs/pos01a.fsi deleted file mode 100644 index b419224d1c0..00000000000 --- a/tests/fsharp/typecheck/sigs/pos01a.fsi +++ /dev/null @@ -1,29 +0,0 @@ -module Pos01a -val x : int list ref -val f : unit -> int - -module X1 : sig val y : int end -module X2 : sig type x = X | Y end - -module X3 : sig val y : X2.x end - -type fieldsInDifferentOrder = { b:int; a: int } - -//module TestModuleAbbreviatingNamespace : begin -// module M = System -// -// val v : M.Int32 -//end -// -//module TestModuleAbbreviatingNamespaceOCamlSig : sig -// module M = System -// -// val v : M.Int32 -//end - -type C = - class - [] - val mutable x : int - new : unit -> C - end diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_ml-keywords01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_ml-keywords01.fs deleted file mode 100644 index 73828c6e61b..00000000000 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_ml-keywords01.fs +++ /dev/null @@ -1,5 +0,0 @@ -// #Regression #NoMT #CompilerOptions -//The command-line option '--ml-keywords' has been deprecated -#light -module M - exit 0 diff --git a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs index cfb90fc9c37..1dfa6fe4517 100644 --- a/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs +++ b/vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs @@ -279,15 +279,11 @@ type internal FSharpSettingsFactory [] (settin [, ".fsi", 64)>] [, ".fsscript", 64)>] [, ".fsx", 64)>] -[, ".ml", 64)>] -[, ".mli", 64)>] [, 101s, CommonPhysicalViewAttributes = Constants.FSharpEditorFactoryPhysicalViewAttributes)>] [, ".fs")>] [, ".fsi")>] [, ".fsx")>] [, ".fsscript")>] -[, ".ml")>] -[, ".mli")>] [] [, strLanguageName = FSharpConstants.FSharpLanguageName, diff --git a/vsintegration/src/FSharp.LanguageService/ProjectSitesAndFiles.fs b/vsintegration/src/FSharp.LanguageService/ProjectSitesAndFiles.fs index 39fe59fc933..9ba50a2f09a 100644 --- a/vsintegration/src/FSharp.LanguageService/ProjectSitesAndFiles.fs +++ b/vsintegration/src/FSharp.LanguageService/ProjectSitesAndFiles.fs @@ -85,7 +85,7 @@ type private ProjectSiteOfScriptFile(fileName:string, referencedProjectFileNames override x.ToString() = sprintf "ProjectSiteOfScriptFile(%s)" fileName -/// An orphan file project is a .fs, .ml, .fsi, .mli that is not associated with a .fsproj. +/// An orphan file project is a .fs, .fsi that is not associated with a .fsproj. /// By design, these are never going to typecheck because there is no affiliated references. /// We show many squiggles in this case because they're not particularly informational. type private ProjectSiteOfSingleFile(sourceFile) = diff --git a/vsintegration/src/FSharp.ProjectSystem.FSharp/Project.fs b/vsintegration/src/FSharp.ProjectSystem.FSharp/Project.fs index fea0cb606bb..701e086705d 100644 --- a/vsintegration/src/FSharp.ProjectSystem.FSharp/Project.fs +++ b/vsintegration/src/FSharp.ProjectSystem.FSharp/Project.fs @@ -814,22 +814,18 @@ namespace rec Microsoft.VisualStudio.FSharp.ProjectSystem // note that .fsx files do not compile in project (String.Compare(Path.GetExtension(strFileName), ".fs", StringComparison.OrdinalIgnoreCase) = 0) || (String.Compare(Path.GetExtension(strFileName), ".fsi", StringComparison.OrdinalIgnoreCase) = 0) - || (String.Compare(Path.GetExtension(strFileName), ".ml", StringComparison.OrdinalIgnoreCase) = 0) - || (String.Compare(Path.GetExtension(strFileName), ".mli", StringComparison.OrdinalIgnoreCase) = 0) static member internal IsFSharpCodeFileIconwise(strFileName:string ) = if (String.IsNullOrEmpty(strFileName)) then false else (String.Compare(Path.GetExtension(strFileName), ".fs", StringComparison.OrdinalIgnoreCase) = 0) - || (String.Compare(Path.GetExtension(strFileName), ".ml", StringComparison.OrdinalIgnoreCase) = 0) static member internal IsFSharpSignatureFileIconwise(strFileName:string ) = if (String.IsNullOrEmpty(strFileName)) then false else (String.Compare(Path.GetExtension(strFileName), ".fsi", StringComparison.OrdinalIgnoreCase) = 0) - || (String.Compare(Path.GetExtension(strFileName), ".mli", StringComparison.OrdinalIgnoreCase) = 0) static member internal IsFSharpScriptFileIconwise(strFileName:string ) = if (String.IsNullOrEmpty(strFileName)) then From 449044679bad4e252987c618a13297df3841326c Mon Sep 17 00:00:00 2001 From: kerams Date: Tue, 9 Dec 2025 12:13:00 +0100 Subject: [PATCH 11/25] Fix --- tests/fsharp/regression/4715/date.fs | 2 +- tests/fsharp/typeProviders/helloWorld/provider.fsx | 3 +-- .../SemanticClassificationServiceTests.fs | 2 +- .../SyntacticColorizationServiceTests.fs | 8 ++++---- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/tests/fsharp/regression/4715/date.fs b/tests/fsharp/regression/4715/date.fs index 335184566b8..b75bdaa5064 100644 --- a/tests/fsharp/regression/4715/date.fs +++ b/tests/fsharp/regression/4715/date.fs @@ -1,4 +1,4 @@ -#light + [] module app.date diff --git a/tests/fsharp/typeProviders/helloWorld/provider.fsx b/tests/fsharp/typeProviders/helloWorld/provider.fsx index 54ff68636ef..d2ce7d92d76 100644 --- a/tests/fsharp/typeProviders/helloWorld/provider.fsx +++ b/tests/fsharp/typeProviders/helloWorld/provider.fsx @@ -598,10 +598,9 @@ type public Provider(config: TypeProviderConfig) = elif syntheticMethodBase.Name.StartsWith("HelloWorldInstanceMethodWithStaticDecimalParameter") then <@@ (%%(parameterExpressions.[1]) : decimal) @@> elif syntheticMethodBase.Name = "CallIntrinsics" then - <@@ [ ((true & false) |> box); + <@@ [ ((true && false) |> box); ((true || false) |> box); - ((true or false) |> box); ((compare true false) |> box); ((true = false) |> box); ((3 +? System.Nullable 4) |> box); // should be inlined by the compiler diff --git a/vsintegration/tests/FSharp.Editor.Tests/SemanticClassificationServiceTests.fs b/vsintegration/tests/FSharp.Editor.Tests/SemanticClassificationServiceTests.fs index eae06773f68..51ded25d737 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/SemanticClassificationServiceTests.fs +++ b/vsintegration/tests/FSharp.Editor.Tests/SemanticClassificationServiceTests.fs @@ -78,7 +78,7 @@ type SemanticClassificationServiceTests() = [] member _.Measured_Types(marker: string, classificationType: string) = verifyClassificationAtEndOfMarker ( - """#light (*Light*) + """ open System [] type (*1*)Guid<[] 'm> = Guid diff --git a/vsintegration/tests/FSharp.Editor.Tests/SyntacticColorizationServiceTests.fs b/vsintegration/tests/FSharp.Editor.Tests/SyntacticColorizationServiceTests.fs index f92bcd78d81..0801e1351bd 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/SyntacticColorizationServiceTests.fs +++ b/vsintegration/tests/FSharp.Editor.Tests/SyntacticColorizationServiceTests.fs @@ -987,7 +987,7 @@ type SyntacticClassificationServiceTests() = classificationType = classificationType ) - /// FEATURE: Preprocessor keywords #light\#if\#else\#endif are colored with the PreprocessorKeyword color. + /// FEATURE: Preprocessor keywords #if\#else\#endif are colored with the PreprocessorKeyword color. /// FEATURE: All code in the inactive side of #if\#else\#endif is colored with the InactiveCode color. [] [] @@ -1052,7 +1052,7 @@ type SyntacticClassificationServiceTests() = member public this.Preprocessor_DirectivesInString() = this.VerifyColorizerAtStartOfMarker( fileContents = - "#light + " #if DEFINED let s = \" @@ -1073,7 +1073,7 @@ type SyntacticClassificationServiceTests() = member public this.Preprocessor_KeywordsWithStrings(marker: string, classificationType: string) = this.VerifyColorizerAtStartOfMarker( fileContents = - "#light (*Light*) + " let x1 = \"string1\" #if UNDEFINED //(*If*) let x2 = \"string2\" @@ -1090,7 +1090,7 @@ type SyntacticClassificationServiceTests() = member public this.Comment_VerbatimStringInComment_Bug1778() = this.VerifyColorizerAtStartOfMarker( fileContents = - "#light + " (* @\"\\\" *) let a = 0", marker = "le", defines = [], From b07255ae54f958747a150f3638a85a43673b1915 Mon Sep 17 00:00:00 2001 From: kerams Date: Tue, 9 Dec 2025 13:34:06 +0100 Subject: [PATCH 12/25] More test fixes --- tests/fsharp/core/attributes/testlib.fs | 2 +- tests/fsharp/core/members/basics-hw/test.fsx | 2 +- tests/fsharp/regression/4715/env.fs | 2 +- tests/fsharp/regression/4715/main.fs | 2 +- tests/fsharp/typecheck/sigs/neg42.bsl | 2 +- .../Tests.LanguageService.Completion.fs | 6 -- .../Tests.LanguageService.ErrorList.fs | 6 +- .../Tests.LanguageService.General.fs | 12 ++-- .../Tests.LanguageService.GotoDefinition.fs | 4 +- .../Tests.LanguageService.NavigationBar.fs | 4 +- .../Tests.LanguageService.ParameterInfo.fs | 11 ++- .../Tests.LanguageService.QuickInfo.fs | 54 ++++++-------- .../Tests.LanguageService.Script.fs | 70 ++++++++----------- .../Tests.LanguageService.TimeStamp.fs | 30 ++++---- .../Tests.ProjectSystem.Miscellaneous.fs | 6 +- .../Tests.ProjectSystem.Project.fs | 7 +- .../Tests.ProjectSystem.ProjectItems.fs | 5 -- 17 files changed, 92 insertions(+), 133 deletions(-) diff --git a/tests/fsharp/core/attributes/testlib.fs b/tests/fsharp/core/attributes/testlib.fs index 3691bd8751e..076ade4ecd7 100644 --- a/tests/fsharp/core/attributes/testlib.fs +++ b/tests/fsharp/core/attributes/testlib.fs @@ -1,4 +1,4 @@ -#light + module TestLibModule diff --git a/tests/fsharp/core/members/basics-hw/test.fsx b/tests/fsharp/core/members/basics-hw/test.fsx index 641cb5dbc76..5c71da4eac9 100644 --- a/tests/fsharp/core/members/basics-hw/test.fsx +++ b/tests/fsharp/core/members/basics-hw/test.fsx @@ -1,6 +1,6 @@ // #Regression #Conformance #SignatureFiles #Classes #ObjectConstructors #ObjectOrientedTypes #Fields #MemberDefinitions #MethodsAndProperties #Unions #InterfacesAndImplementations #Events #Overloading #Recursion #Regression -#light + #if TESTS_AS_APP module Core_members_basics diff --git a/tests/fsharp/regression/4715/env.fs b/tests/fsharp/regression/4715/env.fs index 90ac6964d82..8509a153400 100644 --- a/tests/fsharp/regression/4715/env.fs +++ b/tests/fsharp/regression/4715/env.fs @@ -1,4 +1,4 @@ -#light + [] module app.env diff --git a/tests/fsharp/regression/4715/main.fs b/tests/fsharp/regression/4715/main.fs index 70cad8491c6..52a1165cdaa 100644 --- a/tests/fsharp/regression/4715/main.fs +++ b/tests/fsharp/regression/4715/main.fs @@ -1,4 +1,4 @@ -#light + module app.main open System diff --git a/tests/fsharp/typecheck/sigs/neg42.bsl b/tests/fsharp/typecheck/sigs/neg42.bsl index 9f2bba6bf0d..b9381338164 100644 --- a/tests/fsharp/typecheck/sigs/neg42.bsl +++ b/tests/fsharp/typecheck/sigs/neg42.bsl @@ -1,2 +1,2 @@ -neg42.fsi(2,20,3,1): parse error FS0010: Incomplete structured construct at or before this point in signature file. Expected ':', '=' or other token. +neg42.fsi(2,20,3,1): parse error FS0010: Incomplete structured construct at or before this point in signature file. Expected '=' or other token. diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Completion.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Completion.fs index 9516280cba9..a46757ef5cd 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Completion.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Completion.fs @@ -6557,12 +6557,6 @@ let rec f l = fileContents = """#nowarn(*MarkerPreProcessNowarn*)""", marker = "(*MarkerPreProcessNowarn*)") - [] - member this.``MacroDirectives.light``() = - this.VerifyDotCompListIsEmptyAtStartOfMarker( - fileContents = """#light(*MarkerPreProcessLight*)""", - marker = "(*MarkerPreProcessLight*)") - [] member this.``MacroDirectives.define``() = this.VerifyDotCompListIsEmptyAtStartOfMarker( diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ErrorList.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ErrorList.fs index 85182b0ca5f..ea7f0fa61e8 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ErrorList.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ErrorList.fs @@ -538,7 +538,7 @@ type staticInInterface = let solution = this.CreateSolution() let project = CreateProject(solution,"testproject") SetVersionFile(project,"nonexistent") - let file = AddFileFromText(project,"File1.fs",["#light"]) + let file = AddFileFromText(project,"File1.fs",[]) let file = OpenFile(project,"File1.fs") TakeCoffeeBreak(this.VS) // Wait for the background compiler to catch up. VerifyErrorListContainedExpectedStr("nonexistent",project) @@ -547,7 +547,7 @@ type staticInInterface = member public this.``BackgroundComplier``() = this.VerifyErrorListCountAtOpenProject( fileContents = """ - #light + module Test @@ -807,7 +807,7 @@ type staticInInterface = (* TODO why does this portion not work? specifically, last assert fails printfn "changing file..." - ReplaceFileInMemory file1 ["#light" + ReplaceFileInMemory file1 [ "let xx = \"foo\"" // now x is string "printfn \"hi\""] diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.General.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.General.fs index a86a6ad5126..dc5ff0822a3 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.General.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.General.fs @@ -117,7 +117,7 @@ type UsingMSBuild() = let solution = this.CreateSolution() let project = CreateProject(solution,"testproject") let file1 = AddFileFromTextEx(project, @"..\LINK.FS", @"..\link.fs", BuildAction.Compile, - ["#light" + [ "type Bob() = " " let x = 1"]) let file1 = OpenFile(project, @"..\link.fs") @@ -196,19 +196,19 @@ type UsingMSBuild() = [] member public this.``Salsa.ReplaceAllText``() = let code = - ["#light"; + ["//"; "let x = \"A String Literal\""] let (_solution, _project, file) = this.CreateSingleFileProject(code) // Sanity check - MoveCursorToStartOfMarker(file,"#light") + MoveCursorToStartOfMarker(file,"//") AssertEqual(TokenType.PreprocessorKeyword, GetTokenTypeAtCursor(file)) MoveCursorToEndOfMarker(file,"let x = ") AssertEqual(TokenType.String, GetTokenTypeAtCursor(file)) // Replace file contents ReplaceFileInMemory file - ["#light"; + [ "let x = 42 // comment!"; "let y = \"A String Literal\""] @@ -292,7 +292,7 @@ type UsingMSBuild() = member public this.``ExhaustivelyScrutinize.Bug2277``() = Helper.ExhaustivelyScrutinize( this.TestRunner, - ["#light" + [ "open Microsoft.FSharp.Plot.Excel" "open Microsoft.FSharp.Plot.Interactive" "let ps = [| (1.,\"c\"); (-2.,\"p\") |]" @@ -306,7 +306,7 @@ type UsingMSBuild() = member public this.``ExhaustivelyScrutinize.Bug2283``() = Helper.ExhaustivelyScrutinize( this.TestRunner, - ["#light" + [ "#r \"NestedClasses.dll\"" // Scenario requires this assembly not exist. "//753 atomType -> atomType DOT path typeArgs" "let specificIdent (x : RootNamespace.ClassOfT.NestedClassOfU) = x" diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.GotoDefinition.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.GotoDefinition.fs index 8c2d8613c7c..6be03a4f957 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.GotoDefinition.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.GotoDefinition.fs @@ -671,7 +671,7 @@ type UsingMSBuild() = /// exp = (, ) option member internal this.SolutionGotoDefinitionTestWithSimpleFile (startLoc : string)(exp : (string * string) option) : unit = let lines = - [ "#light" + [ "let _ = 3" "let _ = \"hi\"" "let _ = 2 + 3" @@ -1290,7 +1290,7 @@ type UsingMSBuild() = [] member this.``GotoDefinition.ObjectOriented.StructConstructor`` () = let lines = - [ "#light" + [ "[]" "type Astruct(x:int, y:int) =" " []" diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.NavigationBar.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.NavigationBar.fs index 99422f89e91..c83363e4a99 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.NavigationBar.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.NavigationBar.fs @@ -17,7 +17,7 @@ type UsingMSBuild() = (* Files for testing and tests --------------------------------------------------------- *) let NavigationFile1 = - [ "#light" + [ "module Example.Module" "" "module SomeModule = " @@ -39,7 +39,7 @@ type UsingMSBuild() = " type EnumOneLine = (*5s*)| OUAaa = 0 | OUBbb = 3(*5e*)" ] let NavigationFile2 = - [ "#light" + [ "module A = " "" " type RecWith = (*7s*){ " diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ParameterInfo.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ParameterInfo.fs index de36960f819..110f8b9ac89 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ParameterInfo.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.ParameterInfo.fs @@ -252,10 +252,7 @@ type UsingMSBuild() = [] member public this.``Single.DotNet.StaticMethod``() = - let code = - ["#light" - "System.Object.ReferenceEquals(" - ] + let code = [ "System.Object.ReferenceEquals(" ] let (_, _, file) = this.CreateSingleFileProject(code) let gpatcc = GlobalParseAndTypeCheckCounter.StartNew(this.VS) MoveCursorToEndOfMarker(file,"Object.ReferenceEquals(") @@ -599,7 +596,7 @@ type UsingMSBuild() = (* Tests for Generic parameterinfos -------------------------------------------------------- *) member private this.TestGenericParameterInfo (testLine, methReq) = - let code = [ "#light"; "open System"; "open System.Threading"; ""; testLine ] + let code = [ "open System"; "open System.Threading"; ""; testLine ] let (_, _, file) = this.CreateSingleFileProject(code) MoveCursorToEndOfMarker(file, testLine) let methodGroup = GetParameterInfoAtCursor file @@ -670,7 +667,7 @@ type UsingMSBuild() = let cursorPrefix, testLines = this.ExtractLineInfo testLine let code = - [ "#light" + [ "open System" "open System.Threading" "open System.Collections.Generic"; ""] @ testLines @@ -684,7 +681,7 @@ type UsingMSBuild() = member public this.TestParameterInfoLocation (testLine, expectedPos, ?addtlRefAssy : string list) = let cursorPrefix, testLines = this.ExtractLineInfo testLine let code = - [ "#light" + [ "open System" "open System.Threading" "open System.Collections.Generic"; ""] @ testLines diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.QuickInfo.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.QuickInfo.fs index 1df4a6a6413..757b1887af1 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.QuickInfo.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.QuickInfo.fs @@ -765,12 +765,6 @@ Full name: Microsoft.FSharp.Control.Async""".TrimStart().Replace("\r\n", "\n") Types foo = int""" this.AssertQuickInfoContainsAtEndOfMarker (fileContents, "ype", "") // just want to ensure there is no assertion fired by the parse tree walker - [] - member public this.``ShiftKeyDown``() = - ShiftKeyDown(this.VS) - this.AssertQuickInfoContainsAtEndOfMarker - ("""#light""","#ligh","") - [] member public this.``ActivePatterns.Declaration``() = this.AssertQuickInfoContainsAtEndOfMarker @@ -1047,7 +1041,7 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate [] member public this.``IdentifierWithTick``() = let code = - ["#light" + [ "let x = 1" "let x' = \"foo\"" "if (*aaa*)x = 1 then (*bbb*)x' else \"\"" @@ -1113,12 +1107,11 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate let solution = this.CreateSolution() let project = CreateProject(solution,"testproject") let file1 = AddFileFromText(project,"File1.fs", - ["#light" + [ "type Bob() = " " let x = 1"]) let file2 = AddFileFromText(project,"File2.fs", - ["#light" - "let bob = new File1.Bob()"]) + [ "let bob = new File1.Bob()"]) let file1 = OpenFile(project,"File1.fs") let file2 = OpenFile(project,"File2.fs") @@ -1141,12 +1134,11 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate let solution = this.CreateSolution() let project = CreateProject(solution,"testproject") let file1 = AddLinkedFileFromTextEx(project, @"..\LINK.FS", @"..\link.fs", @"MyLink.fs", - ["#light" + [ "type Bob() = " " let x = 1"]) let file2 = AddFileFromText(project,"File2.fs", - ["#light" - "let bob = new Link.Bob()"]) + [ "let bob = new Link.Bob()"]) let file1 = OpenFile(project, @"..\link.fs") let file2 = OpenFile(project, @"File2.fs") @@ -1165,7 +1157,7 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate [] member public this.``TauStarter``() = let code = - ["#light" + [ "type (*Scenario01*)Bob() =" " let x = 1" "type (*Scenario021*)Bob =" @@ -1190,8 +1182,7 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate Assert.True(tooltip.Contains("Alice =")) member private this.QuickInfoResolutionTest lines queries = - let code = [ yield "#light" - yield! lines ] + let code = [ yield! lines ] let (_, _, file) = this.CreateSingleFileProject(code) TakeCoffeeBreak(this.VS) @@ -1356,13 +1347,13 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate /// Quickinfo was throwing an exception when the mouse was over the end of a line. [] member public this.``AtEndOfLine``() = - let fileContent = """#light""" - this.VerifyQuickInfoDoesNotContainAnyAtEndOfMarker fileContent "#light" "Bug:" + let fileContent = """//""" + this.VerifyQuickInfoDoesNotContainAnyAtEndOfMarker fileContent "//" "Bug:" [] member public this.``Regression.FieldRepeatedInToolTip.Bug3538``() = this.AssertIdentifierInToolTipExactlyOnce - """#light + """ open System.Runtime.InteropServices [] type A() = @@ -1373,7 +1364,7 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate [] member public this.``Regression.FieldRepeatedInToolTip.Bug3818``() = this.AssertIdentifierInToolTipExactlyOnce - """#light + """ [] type A() = do ()""" @@ -1381,7 +1372,7 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate [] member public this.``MethodAndPropTooltip``() = - let fileContent = """#light + let fileContent = """ open System do Console.Clear() @@ -1472,7 +1463,7 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate [] member public this.``Regression.ModuleAlias.Bug3790b``() = let code = - [ "#light" + [ "module ``Some`` = Microsoft.FSharp.Collections.List" "let _ = ``Some``.append [] []" ] let (_, _, file) = this.CreateSingleFileProject(code) @@ -1532,13 +1523,13 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate let solution = this.CreateSolution() let project1 = CreateProject(solution,"testproject1") let file1 = AddFileFromText(project1,"File1.fs", - ["#light" + [ "type (*bob*)Bob1() = " " let x = 1"]) let file1 = OpenFile(project1,"File1.fs") let project2 = CreateProject(solution,"testproject2") let file2 = AddFileFromText(project2,"File2.fs", - ["#light" + [ "type (*bob*)Bob2() = " " let x = 1"]) let file2 = OpenFile(project2,"File2.fs") @@ -1562,11 +1553,11 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate let solution = this.CreateSolution() let project = CreateProject(solution,"testproject") let file1 = AddFileFromText(project,"File1.fs", - ["#light" + [ "type Bob() = " " let x = 1"]) let file2 = AddFileFromText(project,"..\\File2.fs", - ["#light" + [ "let bob = new File1.Bob()"]) let file1 = OpenFile(project,"File1.fs") let file2 = OpenFile(project,"..\\File2.fs") @@ -1587,7 +1578,7 @@ let f (tp:ITypeProvider(*$$$*)) = tp.Invalidate [] member public this.``MissingDependencyReferences.QuickInfo.Bug5409``() = let code = - ["#light" + [ "let myForm = new System.Windows.Forms.Form()" ] let (_, _, file) = this.CreateSingleFileProject(code, references = ["System.Windows.Forms"]) @@ -1992,8 +1983,7 @@ query." member public this.``Regression.Class.Printing.CSharp.Classes.Only.Bug4592``() = this.AssertMemberDataTipContainsInOrder ((*code *) - ["#light"; - "System.Random"] , + ["System.Random"] , (* marker *) "System.Random", (* completed item *) @@ -2026,8 +2016,7 @@ query." member public this.``Regression.Class.Printing.CSharp.Classes.Bug4624``() = this.AssertMemberDataTipContainsInOrder ((*code *) - ["#light"; - "System.Security.Policy.CodeConnectAccess"], + ["System.Security.Policy.CodeConnectAccess"], (* marker *) "System.Security.Policy.CodeConnectAccess", (* completed item *) @@ -2050,8 +2039,7 @@ query." member public this.``Regression.Class.Printing.FSharp.Classes.Bug4624``() = this.AssertMemberDataTipContainsInOrder ((*code *) - ["#light"; - "type F1() = "; + ["type F1() = "; " class "; " inherit System.Windows.Forms.Form()"; " abstract AAA : int with get"; diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Script.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Script.fs index 44a8e8b93e1..dbb2b996de2 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Script.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Script.fs @@ -153,7 +153,7 @@ type UsingMSBuild() as this = [] member public this.``Fsx.ExactlyOneError.Bug4861``() = let code = - ["#light" // First line is important in this repro + ["//" // First line is important in this repro "#r \"Nonexistent\"" ] let (project, _) = createSingleFileFsxFromLines code @@ -162,7 +162,6 @@ type UsingMSBuild() as this = [] member public this.``Fsx.InvalidHashLoad.ShouldBeASquiggle.Bug3012``() = let fileContent = """ - #light #load "Bar.fs" """ this.VerifyFSXErrorListContainedExpectedString(fileContent,"Bar.fs") @@ -217,7 +216,7 @@ type UsingMSBuild() as this = [] member public this.``Fsx.HashR.AddedIn``() = let code = - ["#light" + [ "//#r \"System.Transactions.dll\"" // Pick anything that isn't in the standard set of assemblies. "open System.Transactions" ] @@ -226,7 +225,7 @@ type UsingMSBuild() as this = let gpatcc = GlobalParseAndTypeCheckCounter.StartNew(this.VS) ReplaceFileInMemory file - ["#light" + [ "#r \"System.Transactions.dll\"" // <-- Uncomment this line "open System.Transactions" ] @@ -240,14 +239,14 @@ type UsingMSBuild() as this = let solution = this.CreateSolution() let project = CreateProject(solution,"testproject") let fs = AddFileFromText(project,"File1.fs", - ["#light" + [ "namespace MyNamespace" " module MyModule =" " let x = 1" ]) let fsx = AddFileFromText(project,"File2.fsx", - ["#light" + [ "//#load \"File1.fs\"" "open MyNamespace.MyModule" "printfn \"%d\" x" @@ -256,7 +255,7 @@ type UsingMSBuild() as this = VerifyErrorListContainedExpectedStr("MyNamespace",project) ReplaceFileInMemory fsx - ["#light" + [ "#load \"File1.fs\"" "open MyNamespace.MyModule" "printfn \"%d\" x" @@ -271,14 +270,14 @@ type UsingMSBuild() as this = let solution = this.CreateSolution() let project = CreateProject(solution,"testproject") let fs = AddFileFromText(project,"File1.fs", - ["#light" + [ "namespace MyNamespace" " module MyModule =" " let x = 1" ]) let fsx = AddFileFromText(project,"File2.fsx", - ["#light" + [ "#load \"File1.fs\"" "open MyNamespace.MyModule" "printfn \"%d\" x" @@ -287,7 +286,7 @@ type UsingMSBuild() as this = AssertNoErrorsOrWarnings(project) ReplaceFileInMemory fsx - ["#light" + [ "//#load \"File1.fs\"" "open MyNamespace.MyModule" "printfn \"%d\" x" @@ -333,7 +332,7 @@ type UsingMSBuild() as this = [] member public this.``Fsx.HashR.Removed``() = let code = - ["#light" + [ "#r \"System.Transactions.dll\"" // Pick anything that isn't in the standard set of assemblies. "open System.Transactions" ] @@ -343,7 +342,7 @@ type UsingMSBuild() as this = let gpatcc = GlobalParseAndTypeCheckCounter.StartNew(this.VS) ReplaceFileInMemory file - ["#light" + [ "//#r \"System.Transactions.dll\"" // <-- Comment this line "open System.Transactions" ] @@ -524,7 +523,6 @@ type UsingMSBuild() as this = [] member public this.``Fsx.NoError.HashR.DllWithNoPath``() = let fileContent = """ - #light #r "System.Transactions.dll" open System.Transactions""" this.VerifyFSXNoErrorList(fileContent) @@ -534,7 +532,6 @@ type UsingMSBuild() as this = // 'System' is in the default set. Make sure we can still resolve it. member public this.``Fsx.NoError.HashR.BugDefaultReferenceFileIsAlsoResolved``() = let fileContent = """ - #light #r "System" """ this.VerifyFSXNoErrorList(fileContent) @@ -542,7 +539,6 @@ type UsingMSBuild() as this = [] member public this.``Fsx.NoError.HashR.DoubleReference``() = let fileContent = """ - #light #r "System" #r "System" """ @@ -552,7 +548,6 @@ type UsingMSBuild() as this = // 'CustomMarshalers' is loaded from the GAC _and_ it is available on XP and above. member public this.``Fsx.NoError.HashR.ResolveFromGAC``() = let fileContent = """ - #light #r "CustomMarshalers" """ this.VerifyFSXNoErrorList(fileContent) @@ -560,7 +555,7 @@ type UsingMSBuild() as this = [] member public this.``Fsx.NoError.HashR.ResolveFromFullyQualifiedPath``() = let fullyqualifiepathtoddll = System.IO.Path.Combine( System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory(), "System.configuration.dll" ) - let code = ["#light";"#r @\"" + fullyqualifiepathtoddll + "\""] + let code = ["#r @\"" + fullyqualifiepathtoddll + "\""] let (project, _) = createSingleFileFsxFromLines code AssertNoErrorsOrWarnings(project) @@ -643,14 +638,14 @@ type UsingMSBuild() as this = let solution = this.CreateSolution() let project = CreateProject(solution,"testproject") let fs = AddFileFromText(project,"File1.fs", - ["#light" + [ "namespace MyNamespace" " module MyModule =" " let x = 1" ]) let fsx = AddFileFromText(project,"File2.fsx", - ["#light" + [ "#load \"File1.fs\"" "open MyNamespace.MyModule" "printfn \"%d\" x" @@ -682,7 +677,6 @@ type UsingMSBuild() as this = [] member public this.``Fsx.NoError.AutomaticImportsForFsxFiles``() = let fileContent = """ - #light open System open System.Xml open System.Drawing @@ -942,9 +936,7 @@ type UsingMSBuild() as this = [] member public this.``Fsx.InvalidHashReference.ShouldBeASquiggle.Bug3012``() = - let code = - ["#light" - "#r \"Bar.dll\""] + let code = ["#r \"Bar.dll\""] let (project, file) = createSingleFileFsxFromLines code MoveCursorToEndOfMarker(file,"#r \"Ba") let squiggle = GetSquiggleAtCursor(file) @@ -973,7 +965,7 @@ type UsingMSBuild() as this = member private this.TestFsxHashDirectivesAreErrors(mark : string, expectedStr : string) = let code = - ["#light" + [ "#r \"JoeBob\"" "#I \".\"" "#load \"Dooby\"" @@ -1005,7 +997,7 @@ type UsingMSBuild() as this = member public this.``Fsx.HashReferenceAgainstNonAssemblyExe``() = let windows = System.Environment.GetEnvironmentVariable("windir") let code = - ["#light" + [ sprintf "#reference @\"%s\"" (Path.Combine(windows,"notepad.exe")) " let x = 1"] let (_, file) = createSingleFileFsxFromLines code @@ -1024,13 +1016,13 @@ type UsingMSBuild() as this = let project = CreateProject(solution,"testproject") let file1 = AddFileFromText(project,"File1.fs", - ["#light" + [ "module File1" "DogChow" // <-- error ]) let file2 = AddFileFromText(project,"File2.fsx", - ["#light" + [ "#load @\"File1.fs\"" ]) let file2 = OpenFile(project,"File2.fsx") @@ -1055,7 +1047,7 @@ type UsingMSBuild() as this = ]) let file2 = AddFileFromText(project,"File2.fsx", - ["#light" + [ "#load @\"File1.fs\"" ]) let file2 = OpenFile(project,"File2.fsx") @@ -1072,14 +1064,14 @@ type UsingMSBuild() as this = let project = CreateProject(solution,"testproject") let file1 = AddFileFromText(project,"File1.fs", - [ "#light" + [ "module File1" "let a = 1 + \"\"" "let c = new obj()" "let b = c.foo()" ]) let file2 = AddFileFromText(project,"File2.fsx", - ["#light" + [ "#load @\"File1.fs\"" ]) let file2 = OpenFile(project,"File2.fsx") @@ -1103,13 +1095,13 @@ type UsingMSBuild() as this = result let solution = this.CreateSolution() let project = CreateProject(solution,"testproject") - let file1 = AddFileFromText(project,"File1.fs", ["#light"]) + let file1 = AddFileFromText(project,"File1.fs", []) let projectOutput = time1 Build project "Time to build project" printfn "Output of building project was %s" projectOutput.ExecutableOutput printfn "Project directory is %s" (ProjectDirectory project) let file2 = AddFileFromText(project,"File2.fsx", - ["#light" + [ "#reference @\"bin\\Debug\\testproject.exe\"" ]) let file2 = OpenFile(project,"File2.fsx") @@ -1137,7 +1129,7 @@ type UsingMSBuild() as this = [] member public this.``Fsx.Bug2530FsiObject``() = let code = - ["#light" + [ "fsi." ] let (_, file) = createSingleFileFsxFromLines code @@ -1170,7 +1162,7 @@ type UsingMSBuild() as this = [] member public this.``Fsx.HashReferenceAgainstStrongName``() = let code = - ["#light" + [ sprintf "#reference \"System.Core, Version=%s, Culture=neutral, PublicKeyToken=b77a5c561934e089\"" (System.Environment.Version.ToString()) "open System."] let (_, file) = createSingleFileFsxFromLines code @@ -1436,7 +1428,7 @@ type UsingMSBuild() as this = member public this.``Fsx.SyntheticTokens``() = Helper.ExhaustivelyScrutinize( this.TestRunner, - ["#light" + [ "#r \"\"" "#reference \"\"" "#load \"\"" @@ -1448,7 +1440,7 @@ type UsingMSBuild() as this = [] member public this.``Fsx.ShouldBeAbleToReference30Assemblies.Bug2050``() = let code = - ["#light" + [ "#r \"System.Core.dll\"" "open System." ] @@ -1462,7 +1454,7 @@ type UsingMSBuild() as this = member public this.``Fsx.UnclosedHashReference.Case1``() = Helper.ExhaustivelyScrutinize( this.TestRunner, - ["#light" + [ "#reference \"" // Unclosed "#reference \"Hello There\""] ) @@ -1470,7 +1462,7 @@ type UsingMSBuild() as this = member public this.``Fsx.UnclosedHashReference.Case2``() = Helper.ExhaustivelyScrutinize( this.TestRunner, - ["#light" + [ "#r \"" // Unclosed "# \"Hello There\""] ) @@ -1480,7 +1472,7 @@ type UsingMSBuild() as this = member public this.``Fsx.UnclosedHashLoad``() = Helper.ExhaustivelyScrutinize( this.TestRunner, - [ "#light" + [ "#load \"" // Unclosed "#load \"Hello There\""] ) diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.TimeStamp.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.TimeStamp.fs index 530260a0d5f..4d13481f6f7 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.TimeStamp.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.TimeStamp.fs @@ -56,10 +56,10 @@ type UsingMSBuild() = let project2 = CreateProject(solution,"testproject2") SetConfigurationAndPlatform(project1, "Debug|AnyCPU") // maybe due to msbuild bug on dev10, we must set config/platform when building with ProjectReferences SetConfigurationAndPlatform(project2, "Debug|AnyCPU") // maybe due to msbuild bug on dev10, we must set config/platform when building with ProjectReferences - let file1 = AddFileFromText(project1,"File1.fs", ["#light" + let file1 = AddFileFromText(project1,"File1.fs", [ "let xx = 42" "printfn \"hi\""]) - let file2 = AddFileFromText(project2,"File2.fs", ["#light" + let file2 = AddFileFromText(project2,"File2.fs", [ "let yy = File1.xx" "printfn \"hi\""]) // Add a project-to-project reference. @@ -96,8 +96,8 @@ type UsingMSBuild() = let project2 = CreateProject(solution,"testproject2") SetConfigurationAndPlatform(project1, "Debug|AnyCPU") // maybe due to msbuild bug on dev10, we must set config/platform when building with ProjectReferences SetConfigurationAndPlatform(project2, "Debug|AnyCPU") // maybe due to msbuild bug on dev10, we must set config/platform when building with ProjectReferences - let file1 = AddFileFromText(project1,"File1.fs", ["#light"]) - let file2 = AddFileFromText(project2,"File2.fs", ["#light"]) + let file1 = AddFileFromText(project1,"File1.fs", []) + let file2 = AddFileFromText(project2,"File2.fs", []) // Add a project-to-project reference. // WARNING: See bug 4434 - when unit testing this actually goes and builds project1!!!! @@ -128,10 +128,10 @@ type UsingMSBuild() = // Create the projects/ let project1 = CreateProject(solution,"testproject1") let project2 = CreateProject(solution,"testproject2") - let file1 = AddFileFromText(project1,"File1.fs", ["#light" + let file1 = AddFileFromText(project1,"File1.fs", [ "let xx = 42" "printfn \"hi\""]) - let file2 = AddFileFromText(project2,"File2.fs", ["#light" + let file2 = AddFileFromText(project2,"File2.fs", [ "let yy = File1.xx" "printfn \"hi\""]) @@ -169,12 +169,12 @@ type UsingMSBuild() = let project1 = CreateProject(solution,"testproject1") let file1 = AddFileFromText(project1,"File1.fs", - ["#light"] + [] ) let file1 = OpenFile(project1,"File1.fs") let project2 = CreateProject(solution,"testproject2") let file2 = AddFileFromText(project2,"File2.fs", - ["#light" + [ "File1.File1." "()"]) let file2 = OpenFile(project2,"File2.fs") @@ -194,7 +194,7 @@ type UsingMSBuild() = // Now modify project1's file and rebuild. ReplaceFileInMemory file1 - ["#light" + [ "module File1 = " " let Mary x = \"\""] SaveFileToDisk file1 @@ -221,12 +221,12 @@ type UsingMSBuild() = ".."+(path1.Substring(tempLen-1)) let file1 = AddFileFromText(project1,"File1.fs", - ["#light"] + [] ) let file1 = OpenFile(project1,"File1.fs") let project2 = CreateProject(solution,"testproject2") let file2 = AddFileFromText(project2,"File2.fs", - ["#light" + [ "File1.File1." "()"]) let file2 = OpenFile(project2,"File2.fs") @@ -248,7 +248,7 @@ type UsingMSBuild() = // Now modify project1's file and rebuild. ReplaceFileInMemory file1 - ["#light" + [ "module File1 = " " let Mary x = \"\""] SaveFileToDisk file1 @@ -269,12 +269,12 @@ type UsingMSBuild() = let project1 = CreateProject(solution,"testproject1") let file1 = AddFileFromText(project1,"File1.fs", - ["#light"] + [] ) let file1 = OpenFile(project1,"File1.fs") let project2 = CreateProject(solution,"testproject2") let file2 = AddFileFromText(project2,"File2.fs", - ["#light" + [ "File1.File1." "()"]) let file2 = OpenFile(project2,"File2.fs") @@ -300,7 +300,7 @@ type UsingMSBuild() = // Now modify project1's file and rebuild. ReplaceFileInMemory file1 - ["#light" + [ "module File1 = " " let Mary x = \"\""] SaveFileToDisk file1 diff --git a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Miscellaneous.fs b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Miscellaneous.fs index 800411f1bd7..6c49aff3641 100644 --- a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Miscellaneous.fs +++ b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Miscellaneous.fs @@ -265,7 +265,7 @@ type Miscellaneous() = this.MSBuildProjectBoilerplate "Library", (fun project ccn projFileName -> let fooPath = Path.Combine(project.ProjectFolder, "foo.fs") - File.AppendAllLines(fooPath, ["#light"; "module Foo"]) + File.AppendAllLines(fooPath, ["module Foo"]) //ccn((project :> IVsHierarchy), "Debug|Any CPU") let configName = "Debug" @@ -332,7 +332,7 @@ type Miscellaneous() = File.AppendAllText(projFile, TheTests.SimpleFsprojText(compileItem, [], "")) use project = TheTests.CreateProject(projFile) let srcFile = (Path.GetDirectoryName projFile) + "\\" + "foo.fs" - File.AppendAllText(srcFile, "#light\nlet foo () =\n printfn \"A\"\n") + File.AppendAllText(srcFile, "let foo () =\n printfn \"A\"\n") project.BuildToOutput("Build", vso, null) |> ignore // Build the project using vso as the output logger let errors = List.filter (fun (s:string) -> s.Contains(expectedError)) !outputWindowPaneErrors AssertEqual 1 (List.length errors) @@ -344,7 +344,6 @@ type Miscellaneous() = (fun project ccn projFileName -> ccn((project :> IVsHierarchy), "Debug|Any CPU") let fooPath = Path.Combine(project.ProjectFolder, "foo.fs") - File.AppendAllText(fooPath, "#light") let mutable configurationInterface : IVsCfg = null let hr = project.ConfigProvider.GetCfgOfName("Debug", "Any CPU", &configurationInterface) AssertEqual VSConstants.S_OK hr @@ -364,7 +363,6 @@ type Miscellaneous() = (fun project ccn projFileName -> ccn((project :> IVsHierarchy), "Debug|Any CPU") let fooPath = Path.Combine(project.ProjectFolder, "foo.fs") - File.AppendAllText(fooPath, "#light") let buildResult = project.Build("Build") Assert.True buildResult.IsSuccessful AssertEqual true (File.Exists (Path.Combine(project.ProjectFolder, "bin\\Debug\\Blah.exe"))) diff --git a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Project.fs b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Project.fs index 993a3590e6c..26cdb992ca0 100644 --- a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Project.fs +++ b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Project.fs @@ -292,7 +292,7 @@ type Project() = TheTests.AssertSameTree(expect, project.FirstChild) )) - member this.SampleEntities = [CompileItem @"foo.fs"; FolderItem @"AnEmptyFolder\"; LinkedCompileItem(@"..\blah.fs", @"link.fs"); OtherItem(@"Content", @"foo.txt"); OtherItem(@"FsLex", @"lex.mll")] + member this.SampleEntities = [CompileItem @"foo.fs"; FolderItem @"AnEmptyFolder\"; LinkedCompileItem(@"..\blah.fs", @"link.fs"); OtherItem(@"Content", @"foo.txt")] member private this.SampleFileEntity = ([CompileItem "bar.fs"], fun t -> Tree("bar.fs", Nil, t)) @@ -595,7 +595,6 @@ type Project() = this.MakeProjectAndDo(["orig1.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "orig1.fs") try - File.AppendAllText(absFilePath, "#light") let orig1 = TheTests.FindNodeWithCaption(project, "orig1.fs") VsMocks.vsRunningDocumentTableNextRenameDocumentCallThrows <- true VsMocks.vsRunningDocumentTableFindAndLockDocumentVsHierarchyMock <- project @@ -622,7 +621,6 @@ type Project() = this.MakeProjectAndDo(["a.fs";"b.fs";"orig1.fs";"c.fs";"d.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "orig1.fs") try - File.AppendAllText(absFilePath, "#light") let orig1 = TheTests.FindNodeWithCaption(project, "orig1.fs") VsMocks.vsRunningDocumentTableNextRenameDocumentCallThrows <- true VsMocks.vsRunningDocumentTableFindAndLockDocumentVsHierarchyMock <- project @@ -655,7 +653,6 @@ type Project() = this.MakeProjectAndDo([name1], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, name1) try - File.AppendAllText(absFilePath, "#light") let orig1 = TheTests.FindNodeWithCaption(project, name1) VsMocks.vsRunningDocumentTableFindAndLockDocumentVsHierarchyMock <- project try @@ -675,7 +672,6 @@ type Project() = this.MakeProjectAndDo(["orig1.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "orig1.fs") try - File.AppendAllText(absFilePath, "#light") let orig1 = TheTests.FindNodeWithCaption(project, "orig1.fs") VsMocks.vsRunningDocumentTableFindAndLockDocumentVsHierarchyMock <- project try @@ -702,7 +698,6 @@ type Project() = let absFilePath = Path.Combine(project.ProjectFolder, "Folder1", "nested1.fs") try Directory.CreateDirectory(Path.GetDirectoryName(absFilePath)) |> ignore; - File.AppendAllText(absFilePath, "#light") let orig1 = TheTests.FindNodeWithCaption(project, "nested1.fs") let folder1 = TheTests.FindNodeWithCaption(project, "Folder1") VsMocks.vsRunningDocumentTableFindAndLockDocumentVsHierarchyMock <- project diff --git a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.ProjectItems.fs b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.ProjectItems.fs index 2c62e8c5a16..8f75692904f 100644 --- a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.ProjectItems.fs +++ b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.ProjectItems.fs @@ -68,7 +68,6 @@ type ProjectItems() = this.MakeProjectAndDo(["orig.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "a.fs") try - File.AppendAllText(absFilePath, "#light") // Note: this is not the same code path as the UI, but it is close project.MoveNewlyAddedFileToBottomOfGroup (fun () -> project.AddNewFileNodeToHierarchy(project,absFilePath) |> ignore) @@ -85,7 +84,6 @@ type ProjectItems() = Directory.CreateDirectory(dir) |> ignore let absFilePath = Path.Combine(dir, "a.fs") try - File.AppendAllText(absFilePath, "#light") // Note: this is not the same code path as the UI, but it is close project.MoveNewlyAddedFileToBottomOfGroup (fun () -> project.AddNewFileNodeToHierarchy(project.FindChild("Folder"),absFilePath) |> ignore) @@ -100,7 +98,6 @@ type ProjectItems() = this.MakeProjectAndDo(["orig1.fs"; "orig2.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "new.fs") try - File.AppendAllText(absFilePath, "#light") // Note: this is not the same code path as the UI, but it is close let orig1 = TheTests.FindNodeWithCaption(project, "orig1.fs") project.MoveNewlyAddedFileBelow (orig1, fun () -> @@ -123,7 +120,6 @@ type ProjectItems() = this.MakeProjectAndDo(["orig1.fs"; "orig2.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "new.fs") try - File.AppendAllText(absFilePath, "#light") // Note: this is not the same code path as the UI, but it is close let orig2 = TheTests.FindNodeWithCaption(project, "orig2.fs") project.MoveNewlyAddedFileAbove (orig2, fun () -> @@ -146,7 +142,6 @@ type ProjectItems() = this.MakeProjectAndDo(["orig1.fs"; "orig2.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "new.fs") try - File.AppendAllText(absFilePath, "#light") // Note: this is not the same code path as the UI, but it is close let orig1 = TheTests.FindNodeWithCaption(project, "orig1.fs") project.MoveNewlyAddedFileAbove (orig1, fun () -> From f57d7ab2a25a83bc8902cb4b2b471569c5c9e5a8 Mon Sep 17 00:00:00 2001 From: kerams Date: Tue, 9 Dec 2025 17:48:33 +0100 Subject: [PATCH 13/25] Why did I sign up for this --- .../expressions/syntacticsugar/E_Slices01.fsx | 2 +- tests/fsharp/core/access/test.fsx | 2 +- tests/fsharp/core/apporder/test.fsx | 2 +- tests/fsharp/core/attributes/test.fsx | 2 +- tests/fsharp/core/attributes/testlib.fsi | 2 +- tests/fsharp/core/comprehensions/test.fsx | 2 +- tests/fsharp/core/control/test.fsx | 2 +- tests/fsharp/core/controlChamenos/test.fsx | 2 +- tests/fsharp/core/controlMailbox/test.fsx | 2 +- tests/fsharp/core/controlStackOverflow/test.fsx | 2 +- tests/fsharp/core/controlWebExt/test.fsx | 2 +- tests/fsharp/core/controlWpf/test.fsx | 2 +- tests/fsharp/core/csext/test.fsx | 2 +- tests/fsharp/core/events/test.fs | 2 +- tests/fsharp/core/int32/test.fsx | 2 +- tests/fsharp/core/map/test.fsx | 2 +- tests/fsharp/core/math/lalgebra/test.fsx | 2 +- tests/fsharp/core/math/numbers/test.fsx | 2 +- tests/fsharp/core/math/numbersVS2008/test.fsx | 2 +- tests/fsharp/core/measures/test.fsx | 2 +- .../fsharp/core/members/incremental-hw/test.fsx | 6 +++--- tests/fsharp/core/printf/test.fsx | 2 +- .../fsharp/core/printing/output.1000.stdout.bsl | 10 +++++----- .../fsharp/core/printing/output.200.stdout.bsl | 10 +++++----- tests/fsharp/core/printing/output.47.stdout.bsl | 10 +++++----- .../core/printing/output.multiemit.stdout.bsl | 10 +++++----- .../fsharp/core/printing/output.off.stdout.bsl | 10 +++++----- tests/fsharp/core/printing/output.stdout.bsl | 10 +++++----- tests/fsharp/core/printing/test.fsx | 10 +++++----- tests/fsharp/core/printing/testLoadFile.fsx | 2 +- tests/fsharp/core/printing/testLoadFile2.fsx | 2 +- tests/fsharp/core/quotes/test.fsx | 2 +- tests/fsharp/core/subtype/test.fsx | 2 +- tests/fsharp/core/syntax/test.fsx | 2 +- tests/fsharp/tools/eval/test.fsx | 2 +- tests/fsharp/typecheck/sigs/neg08.fs | 2 +- .../fsc/Removed/deprecated_Ooff.fs | 2 +- .../fsc/Removed/deprecated_debug-file01.fs | 2 +- .../deprecated_generate-filter-blocks01.fs | 2 +- .../Removed/deprecated_gnu-style-errors01.fs | 2 +- .../Removed/deprecated_no-string-interning01.fs | 2 +- .../fsc/Removed/deprecated_statistics01.fs | 2 +- .../CompilerOptions/fsc/Removed/sscli01.fs | 2 +- .../Source/CompilerOptions/fsc/nologo/dummy.fsx | 2 +- .../CompilerOptions/fsc/pdb/E_pdb_and_debug.fs | 2 +- .../Source/CompilerOptions/fsc/pdb/pdb01.fs | 2 +- .../fsc/platform/bitnesscheck.fsx | 2 +- .../CompilerOptions/fsc/tokenize/tokenize01.fs | 2 +- .../CompilerOptions/fsc/tokenize/tokenize02.fs | 2 +- .../Source/CompilerOptions/fsi/help/dummy.fsx | 2 +- .../fsi/langversion/badlangversion-culture.fsx | 2 +- .../fsi/langversion/badlangversion-decimal.fsx | 2 +- .../fsi/langversion/badlangversion.fsx | 2 +- .../fsi/langversion/comparer.fsx | 2 +- .../CompilerOptions/fsi/langversion/dummy.fsx | 2 +- .../AlternateGenericTypeSyntax01.fs | 2 +- .../ObjectConstructors/ExplicitCtors01.fs | 2 +- .../ObjectConstructors/GenericTypesInObjCtor.fs | 2 +- .../ObjectConstructors/MutuallyRecursive01.fs | 2 +- .../ObjectConstructors/SanityCheck01.fs | 2 +- .../ObjectConstructors/SanityCheck02.fs | 2 +- .../ValOKWithoutImplicitCtor.fs | 2 +- .../P-invokeDeclarations/ComVisible01.fs | 2 +- .../P-invokeDeclarations/EntryPoint.fs | 2 +- .../P-invokeDeclarations/MarshalStruct01.fs | 2 +- .../MarshalStruct01_Records.fs | 2 +- .../P-invokeDeclarations/SanityCheck01.fs | 2 +- .../Assertion/Assert_false.fs | 2 +- .../Assertion/Assert_false_DEBUG.fs | 2 +- .../Assertion/Assert_true.fs | 2 +- .../Expressions/ConstantExpressions/bool.fs | 2 +- .../Expressions/ConstantExpressions/byte.fs | 2 +- .../Expressions/ConstantExpressions/byteArr.fs | 2 +- .../Expressions/ConstantExpressions/char.fs | 2 +- .../Expressions/ConstantExpressions/double.fs | 2 +- .../Expressions/ConstantExpressions/float.fs | 2 +- .../Expressions/ConstantExpressions/float32.fs | 2 +- .../Expressions/ConstantExpressions/int.fs | 2 +- .../Expressions/ConstantExpressions/int16.fs | 2 +- .../Expressions/ConstantExpressions/int32.fs | 2 +- .../Expressions/ConstantExpressions/int64.fs | 2 +- .../ConstantExpressions/nativenint.fs | 2 +- .../Expressions/ConstantExpressions/sbyte.fs | 2 +- .../Expressions/ConstantExpressions/single.fs | 2 +- .../Expressions/ConstantExpressions/string.fs | 2 +- .../Expressions/ConstantExpressions/uint16.fs | 2 +- .../Expressions/ConstantExpressions/uint32.fs | 2 +- .../Expressions/ConstantExpressions/uint64.fs | 2 +- .../ConstantExpressions/unativenint.fs | 2 +- .../Expressions/ConstantExpressions/unit.fs | 2 +- .../PatternMatching/LiteralNull01.fs | 2 +- .../PatternMatching/W_Function01.fs | 2 +- .../W_PatternMatchingCounterExample01.fs | 2 +- .../W_PatternMatchingCounterExample02.fs | 2 +- .../SequenceIteration/SequenceIteration01.fs | 2 +- .../SimpleFor/Downto01.fs | 2 +- .../TryFinally/W-TryFinallyNotUnit.fs | 2 +- .../ControlFlowExpressions/TryWith/TryWith01.fs | 2 +- .../ControlFlowExpressions/TryWith/TryWith02.fs | 2 +- .../DataExpressions/AddressOf/addressof001.fsx | 2 +- .../DataExpressions/AddressOf/addressof002.fsx | 2 +- .../ComputationExpressions/ForLoop01.fs | 2 +- .../ComputationExpressions/Regressions01.fs | 2 +- .../E_ObjExprWithDuplOverride01.fs | 2 +- .../GenericObjectExpression01.fs | 2 +- .../GenericObjectExpression02.fs | 2 +- .../GenericTypeAnnotations01.fs | 2 +- .../ObjectExpressions/StaticType01.fs | 2 +- .../ObjectExpressions/W_Deprecated01.fs | 2 +- .../RangeExpressions/FloatingPointRangeExp01.fs | 2 +- .../W-FloatingPointRangeExp01.fs | 2 +- .../SequenceExpressions/ReallyLongArray01.fs | 2 +- .../YieldInsideFlowControl.fs | 2 +- .../final_yield_bang_keyword_01.fs | 2 +- .../final_yield_dash_gt_01.fs | 2 +- .../final_yield_keyword_01.fs | 2 +- .../TupleExpressions/Tuples01.fs | 2 +- .../TupleExpressions/Tuples02.fs | 2 +- .../letbinding_precomutation01.fs | 2 +- .../Regressions/E_GenericQuotation01.fs | 2 +- .../Regressions/E_InvalidQuotationLiteral02.fs | 2 +- .../Regressions/NestedQuoteAddition.fs | 2 +- .../Regressions/QuotationHoles01.fs | 2 +- .../Regressions/QuotationRegressions01.fs | 2 +- .../Regressions/QuotationRegressions02.fs | 2 +- .../Regressions/QuotationRegressions04.fs | 2 +- .../Regressions/QuotationRegressions05.fs | 2 +- .../Regressions/QuotationRegressions06.fs | 2 +- .../Regressions/RawQuotation01.fs | 2 +- .../Regressions/SpecificCall_Instance.fs | 2 +- .../Regressions/SpecificCall_Static.fs | 2 +- .../SyntacticSugar/E_GetSliceNotDef01.fs | 2 +- .../SyntacticSugar/E_GetSliceNotDef02.fs | 2 +- .../Expressions/SyntacticSugar/Slices01.fs | 2 +- .../Expressions/SyntacticSugar/Slices02.fs | 2 +- .../Expressions/SyntacticSugar/Slices03.fs | 2 +- .../Expressions/SyntacticSugar/Slices04.fs | 2 +- .../SyntacticSugar01.fs | 2 +- .../RigidTypeAnnotation01.fsx | 2 +- .../RigidTypeAnnotation02.fsx | 2 +- .../RigidTypeAnnotation_null01.fsx | 4 ++-- .../StaticCoercion_class01.fsx | 2 +- .../StaticCoercion_int_to_obj.fsx | 2 +- .../StaticCoercion_interface01.fsx | 2 +- .../StaticCoercion_interface02.fsx | 2 +- .../StaticCoercion_null_to_obj.fsx | 2 +- .../Type-relatedExpressions/staticcoercion01.fs | 2 +- .../staticcoercion01b.fs | 2 +- .../AbstractSlot01.fs | 2 +- .../AbstractSlot01.fsi | 2 +- .../E-SignatureAfterSource.fsi | 2 +- .../E_AnonSignatureFile.fs | 2 +- .../Interfaces01.fsi | 2 +- .../Properties01.fs | 2 +- .../PublicPrivateInternal01.fs | 2 +- .../PublicPrivateInternal01.fsi | 2 +- .../properties01.fsi | 2 +- .../properties02.fs | 2 +- .../properties02.fsi | 2 +- .../publicprivateinternal02.fs | 2 +- .../publicprivateinternal02.fsi | 2 +- .../publicprivateinternal03.fsi | 2 +- .../SignatureFiles/E_MissingSourceFile02.fsi | 2 +- .../ConstructorConstraint01.fs | 2 +- .../ConstraintSolving/DelegateConstraint01.fs | 2 +- .../ConstraintSolving/E_DelegateConstraint01.fs | 2 +- .../ConstraintSolving/E_EnumConstraint01.fs | 2 +- .../E_TypeFuncDeclaredExplicit01.fs | 2 +- .../ConstraintSolving/E_ValueRestriction01.fs | 2 +- .../ConstraintSolving/EnumConstraint01.fs | 2 +- .../ConstraintSolving/ValueRestriction01.fs | 2 +- .../DispatchSlotChecking/InferSlotType01.fs | 2 +- .../InferGenericArgAsTuple01.fs | 2 +- .../InferGenericArgAsTuple02.fs | 2 +- .../Generalization/GenGroup01.fs | 2 +- .../MethodApplicationResolution/UnitVsNoArgs.fs | 2 +- .../AutoOpen/E_library_with_namespaces01.fs | 2 +- .../NameResolution/AutoOpen/E_module02.fs | 2 +- .../NameResolution/AutoOpen/Module01.fs | 2 +- .../AutoOpen/library_with_namespaces01.fs | 2 +- .../NameResolution/AutoOpen/namespace01.fs | 2 +- .../NameResolution/AutoOpen/redundant_open01.fs | 2 +- .../AutoOpen/type_abbreviation01.fs | 2 +- .../Misc/NoPartiallyQualifiedPathWarning01.fs | 2 +- .../NameResolution/Misc/recordlabels.fs | 2 +- .../ComplexExpression01.fs | 2 +- .../E_Clashing_Record_Field_and_Member01.fs | 2 +- .../Comments/DontEscapeCommentFromString01.fs | 2 +- .../Comments/E_IncompleteComment01.fs | 2 +- .../Comments/E_IncompleteComment02.fs | 2 +- .../Comments/XmlDocComments01.fs | 2 +- .../Comments/embeddedString001.fs | 2 +- .../Comments/embeddedString002.fs | 2 +- .../Comments/embeddedString003.fs | 2 +- .../Comments/embeddedString004.fs | 2 +- .../Comments/escapeCharsInComments001.fs | 2 +- .../Comments/escapeCharsInComments002.fs | 2 +- .../LexicalAnalysis/Comments/ocamlstyle001.fs | 2 +- .../LexicalAnalysis/Comments/ocamlstyle002.fs | 2 +- .../Comments/ocamlstyle_nested001.fs | 2 +- .../Comments/ocamlstyle_nested002.fs | 2 +- .../Comments/ocamlstyle_nested003.fs | 2 +- .../Comments/ocamlstyle_nested004.fs | 2 +- .../Comments/ocamlstyle_nested005.fs | 2 +- .../ConditionalCompilation01.fs | 2 +- .../ConditionalCompilation/E_MustBeIdent02.fs | 2 +- .../E_UnmatchedEndif01.fs | 2 +- .../ConditionalCompilation/E_UnmatchedIf01.fs | 2 +- .../ConditionalCompilation/E_UnmatchedIf02.fs | 2 +- .../ConditionalCompilation/FSharp01.fs | 2 +- .../ConditionalCompilation/FSharp02.fs | 2 +- .../ConditionalCompilation/InComment01.fs | 2 +- .../ConditionalCompilation/InStringLiteral01.fs | 2 +- .../ConditionalCompilation/InStringLiteral02.fs | 2 +- .../ConditionalCompilation/InStringLiteral03.fs | 2 +- .../ConditionalCompilation/Nested01.fs | 2 +- .../ConditionalCompilation/Nested02.fs | 2 +- .../ConditionalCompilation/OCaml01.fs | 2 +- .../IdentifierReplacements/Line01.fs | 2 +- .../IdentifierReplacements/Line02.fs | 2 +- .../E_InvalidIdentifier01.fs | 2 +- .../IdentifiersAndKeywords/E_KeywordIdent01.fs | 2 +- .../E_MissingQualification.fs | 2 +- .../IdentifiersAndKeywords/E_NameCollision01.fs | 2 +- .../E_QuotedTypeModuleNames01.fs | 2 +- .../E_ValidIdentifier04.fs | 2 +- .../IdentifiersAndKeywords/ValidIdentifier01.fs | 2 +- .../IdentifiersAndKeywords/ValidIdentifier02.fs | 2 +- .../IdentifiersAndKeywords/W_ReservedWord01.fs | 2 +- .../NumericLiterals/E_MaxLiterals02.fs | 2 +- .../E_enumNegativeLiterals008.fs | 2 +- .../NumericLiterals/MaxLiterals01.fs | 2 +- .../NumericLiterals/NumericLiterals01.fs | 2 +- .../NumericLiterals/casingBin.fs | 2 +- .../NumericLiterals/casingHex.fs | 2 +- .../NumericLiterals/casingIEEE-lf-LF01.fs | 2 +- .../NumericLiterals/casingIEEE-lf-LF02.fs | 2 +- .../NumericLiterals/casingOct.fs | 2 +- .../NumericLiterals/enumNegativeLiterals001.fs | 2 +- .../Shift/Generics/RightShift001.fs | 2 +- .../StringsAndCharacters/Backslash01.fs | 2 +- .../StringsAndCharacters/Backslash02.fs | 2 +- .../StringsAndCharacters/ByteChars01.fs | 2 +- .../StringsAndCharacters/ByteChars02.fs | Bin 346 -> 334 bytes .../StringsAndCharacters/ByteString01.fs | 2 +- .../StringsAndCharacters/ByteString02.fs | 2 +- .../StringsAndCharacters/ByteString03.fs | 2 +- .../StringsAndCharacters/CharLiterals01.fs | 2 +- .../StringsAndCharacters/CharLiterals02.fs | 2 +- .../StringsAndCharacters/CharLiterals03.fs | 2 +- .../E_BogusLongUnicodeEscape.fs | 2 +- .../E_ByteCharUnicodeChar01.fs | 2 +- .../E_ByteStrUnicodeChar01.fs | 2 +- .../E_MalformedShortUnicode01.fs | 2 +- .../StringsAndCharacters/EscapeSequences01.fs | 2 +- .../StringsAndCharacters/EscapeSequences02.fs | 2 +- .../StringsAndCharacters/UnicodeString03.fs | 2 +- .../StringsAndCharacters/VerbatimString01.fs | 2 +- .../GreaterThanClosedCurly01.fs | 2 +- .../GreaterThanClosedCurly02.fs | 2 +- .../GreaterThanClosedCurly03.fs | 2 +- .../GreaterThanClosedCurly04.fs | 2 +- .../GreaterThanClosedCurly05.fs | 2 +- .../GreaterThanClosedParenthesis01.fs | 2 +- .../GreaterThanClosedSquare02.fs | 2 +- .../SymbolicOperators/E_QMarkGeneric.fs | 2 +- .../SymbolicOperators/GreaterThanColon001.fs | 2 +- .../SymbolicOperators/QMarkArguments.fs | 2 +- .../SymbolicOperators/QMarkAssignSimple.fs | 2 +- .../QMarkExpressionAsArgument.fs | 2 +- .../QMarkExpressionAsArgument2.fs | 2 +- .../SymbolicOperators/QMarkNested.fs | 2 +- .../SymbolicOperators/QMarkPrecedenceArray.fs | 2 +- .../QMarkPrecedenceCurrying.fs | 2 +- .../QMarkPrecedenceInArrays.fs | 2 +- .../QMarkPrecedenceMethodCall.fs | 2 +- .../QMarkPrecedenceMethodCallSpace.fs | 2 +- .../SymbolicOperators/QMarkPrecedenceSpace.fs | 2 +- .../SymbolicOperators/QMarkSimple.fs | 2 +- .../Basic/ByExample/BasicCheck01.fs | 2 +- .../HashLight/MissingEndToken01.fs | 2 +- .../HashLight/OffsideAccessibility01.fs | 2 +- .../LexicalFiltering/HashLight/indent_off_01.fs | 13 ------------- .../HashLight/indent_off_01.fsi | 7 ------- .../HashLight/indent_off_01.fsscript | 11 ----------- .../HashLight/indent_off_01.fsx | 11 ----------- .../HashLight/indent_off_after_comment01.fs | 11 ----------- .../LexicalFiltering/HashLight/light_off_01.fs | 6 ------ .../HighPrecedenceApplication/BasicCheck01.fs | 2 +- .../HighPrecedenceApplication/BasicCheck02.fs | 2 +- .../RangeOperator01.fsx | 2 +- .../ClassTypes/AsDeclarations/SanityCheck01.fs | 2 +- .../ClassTypes/AsDeclarations/SanityCheck02.fs | 2 +- .../ExplicitObjectConstructors/new_while_01.fs | 2 +- .../InheritsDeclarations/BaseValue01.fs | 2 +- .../E_InheritFromGenericType01.fs | 2 +- .../E_InheritInterface01.fs | 2 +- .../InheritFromAbstractClass.fs | 2 +- .../E_PropertyInvalidGetter01.fs | 2 +- .../E_PropertyInvalidGetter02.fs | 2 +- .../ClassTypes/Misc/AbstractClassAttribute01.fs | 2 +- .../ClassTypes/Misc/AbstractClassAttribute02.fs | 2 +- .../Misc/E_AbstractClassAttribute01.fs | 2 +- .../ClassTypes/Misc/E_RestrictedSuperTypes.fs | 2 +- .../ClassTypes/Misc/E_SealedClass01.fs | 2 +- .../ClassTypes/Misc/GenericClass01.fs | 2 +- .../StaticLetDoDeclarations/LexicalScoping01.fs | 2 +- .../StaticLetDoDeclarations/Offside01.fs | 2 +- .../StaticLetDoDeclarations/RecNonMutable01.fs | 2 +- .../DelegateTypes/ByrefArguments01.fs | 2 +- .../EnumTypes/AttributesOn01.fs | 2 +- .../EnumTypes/BinaryOr01.fs | 2 +- .../EnumTypes/CallCSharpEnum.fs | 2 +- .../EnumTypes/ConsumeFromCS.fs | 2 +- .../EnumTypes/E_BoolUnderlyingType.fs | 2 +- .../EnumTypes/E_InvalidCase01.fs | 2 +- .../EnumTypes/E_NamedTypeInScope.fs | 2 +- .../EnumTypes/E_NeedToQualify01.fs | 2 +- .../EnumTypes/E_NonInt32Enums01.fs | 2 +- .../EnumTypes/EqualsTag.fs | 2 +- .../EnumTypes/NamedTypeInScope.fs | 2 +- .../EnumTypes/NonInt32Enums01.fs | 2 +- .../EnumTypes/Simple001.fs | 2 +- .../ClassConsumeMultipleInterfaceFromCS.5.0.fs | 2 +- .../ConsumeMultipleInterfaceFromCS.5.0.fs | 2 +- ...E_ClassConsumeMultipleInterfaceFromCS.4.7.fs | 2 +- .../E_ConsumeMultipleInterfaceFromCS.4.7.fs | 2 +- .../E_ConsumeMultipleInterfaceFromCS.5.0.fs | 2 +- .../InterfaceTypes/InheritedInterface.fs | 2 +- .../InterfaceTypes/ObjImplementsInterface.fs | 2 +- .../InterfaceTypes/interface002.fs | 2 +- .../StructTypes/DoStaticLetDo.fs | 2 +- .../StructTypes/E_AbstractClassStruct.fs | 2 +- .../StructTypes/E_CyclicInheritance01.fs | 2 +- .../StructTypes/E_StructInheritance01.fs | 2 +- .../StructTypes/ExplicitCtor.fs | 2 +- .../StructTypes/GenericStruct01.fs | 4 ++-- .../StructTypes/IndexerProperties01.fs | 2 +- .../StructTypes/MutableFields.fs | 2 +- .../StructTypes/StructAttribute02.fs | 2 +- .../StructTypes/StructConstruction01.fs | 2 +- .../StructTypes/StructConstruction02.fs | 2 +- .../StructTypes/StructInstantiation01.fs | 2 +- .../TypeExtensions/basic/BasicExtensions.fs | 2 +- .../basic/E_ExtendVirtualMethods01.fs | 2 +- .../basic/E_InvalidExtensions01.fs | 2 +- .../basic/E_InvalidExtensions02.fs | 2 +- .../basic/E_InvalidExtensions03.fs | 2 +- .../basic/E_InvalidForwardRef01.fs | 2 +- .../TypeExtensions/basic/ExtendHierarchy01.fs | 2 +- .../TypeExtensions/basic/ExtendHierarchy02.fs | 2 +- .../basic/ExtendViaOverloading01.fs | 2 +- .../basic/ExtendViaOverloading02.fs | 2 +- .../basic/ExtendWithOperator01.fs | 2 +- .../TypeExtensions/basic/MultipleExtensions.fs | 2 +- .../basic/NonConflictingIntrinsicMembers.fs | 2 +- .../TypeExtensions/basic/SignatureIssue01.fs | 2 +- .../TypeExtensions/basic/SignatureIssue01.fsi | 2 +- .../basic/SignatureIssue01.test.fs | 2 +- .../TypeExtensions/basic/UnqualifiedName.fs | 2 +- .../intrinsic/E_typeext_int002.fs | 2 +- .../TypeExtensions/intrinsic/lib001.fs | 2 +- .../TypeExtensions/intrinsic/lib002.fs | 2 +- .../TypeExtensions/intrinsic/lib003.fs | 2 +- .../TypeExtensions/intrinsic/lib004.fs | 2 +- .../TypeExtensions/intrinsic/lib005.fs | 2 +- .../TypeExtensions/intrinsic/typeext_int003.fs | 2 +- .../optional/ShortNamesAllowed.fs | 2 +- .../TypeExtensions/optional/lib000.fs | 2 +- .../TypeExtensions/optional/lib001.fs | 2 +- .../TypeExtensions/optional/lib003.fs | 2 +- .../TypeExtensions/optional/lib004.fs | 2 +- .../TypeExtensions/optional/lib005.fs | 2 +- .../TypeExtensions/optional/typeext_opt003.fs | 2 +- .../TypeKindInference/infer_class004.fs | 2 +- .../TypeKindInference/infer_class005.fs | 2 +- .../TypeKindInference/infer_interface004.fs | 2 +- .../TypeKindInference/infer_struct001.fs | 2 +- .../TypeKindInference/infer_struct001e.fs | 2 +- .../TypeKindInference/infer_struct002.fs | 2 +- .../TypeKindInference/infer_struct003.fs | 2 +- .../InternalAccessibility01.fs | 2 +- .../InternalAccessibility01.fsi | 2 +- .../InternalAccessibility02.fs | 2 +- .../Nested/Nested_ClassDeclaration.fs | 2 +- .../DefaultConstructorConstraint01.fs | 2 +- .../DefaultConstructorConstraint02.fs | 2 +- .../DefaultConstructorConstraint03.fs | 2 +- .../DefaultConstructorConstraint04.fs | 2 +- .../DefaultConstructorConstraint05.fs | 2 +- .../E_EnumConstraint01.fs | 2 +- .../CheckingSyntacticTypes/Regressions01.fs | 2 +- .../BaseTypes_Abstract.fs | 2 +- .../LogicalPropertiesOfTypes/BaseTypes_Array.fs | 2 +- .../LogicalPropertiesOfTypes/BaseTypes_Class.fs | 2 +- .../BaseTypes_Delegate.fs | 2 +- .../BaseTypes_DerivedClass.fs | 2 +- .../BaseTypes_DiscriminatedUnion.fs | 2 +- .../BaseTypes_Exception.fs | 2 +- .../BaseTypes_Interface.fs | 2 +- .../BaseTypes_Record.fs | 2 +- .../BaseTypes_Struct.fs | 2 +- .../BaseTypes_Variable.fs | 2 +- .../E_TypeWithNullAsAbnormalValue.fsx | 2 +- .../E_TypeWithNullAsRepresentationValue.fsx | 2 +- .../E_TypeWithNullLiteral_NetVal.fsx | 2 +- .../FSharpType_IsRecord.fs | 2 +- .../TypeWithNullAsAbnormalValue.fsx | 2 +- .../TypeWithNullAsRepresentationValue.fsx | 2 +- .../BasicTypeParam01.fs | 2 +- .../HashConstraint01.fs | 2 +- .../HashConstraint02.fs | 2 +- .../E_LiteralEnumerationMustHaveType01.fs | 2 +- .../General/E_MemberObjectctorTakeGiven.fs | 2 +- .../General/E_ObjectConstructorAndTry01.fs | 2 +- .../General/E_ObjectConstructorAndTry02.fs | 2 +- .../General/E_StructMustHaveAtLeastOneField.fs | 2 +- .../General/E_UnexpectedKeyworkWith01.fs | 2 +- .../General/W_IndexedPropertySetter01.fs | 2 +- .../X-DontWarnOnImplicitModule01.fsscript | 2 +- .../General/X-DontWarnOnImplicitModule01.fsx | 2 +- .../Diagnostics/NONTERM/attrUnionCaseDecl01.fs | 2 +- .../Source/Diagnostics/NONTERM/braceExpr01.fs | 2 +- .../Source/Diagnostics/NONTERM/braceExpr01b.fs | 2 +- .../Source/Diagnostics/NONTERM/declExpr01.fs | 10 ---------- .../Source/Diagnostics/NONTERM/declExpr01b.fs | 13 ------------- .../Diagnostics/NONTERM/fileModuleImpl01.fs | 2 +- .../Diagnostics/NONTERM/fileModuleImpl02.fs | 2 +- .../Diagnostics/NONTERM/fileNamespaceImpl01.fs | 11 ----------- .../Diagnostics/NONTERM/fileNamespaceImpl01b.fs | 13 ------------- .../interactiveExprOrDefinitionsTerminator03.fs | 7 ------- ...interactiveExprOrDefinitionsTerminator03b.fs | 10 ---------- .../interactiveExprOrDefinitionsTerminator04.fs | 7 ------- ...interactiveExprOrDefinitionsTerminator04b.fs | 10 ---------- .../NONTERM/monadicExprNonEmptyInitial01b.fs | 2 +- .../NONTERM/monadicPatternClauses01.fs | 2 +- .../NONTERM/monadicPatternClauses01b.fs | 2 +- .../Source/Diagnostics/NONTERM/quoteExpr01.fs | 2 +- .../Source/Diagnostics/NONTERM/quoteExpr01b.fs | 2 +- .../Source/Diagnostics/NONTERM/typ01.fs | 2 +- .../Source/Diagnostics/NONTERM/typ01b.fs | 2 +- .../Diagnostics/NONTERM/typeConstraint01.fs | 2 +- .../Diagnostics/NONTERM/typeConstraint01b.fs | 2 +- .../Diagnostics/NONTERM/typedSeqExprBlock01b.fs | 2 +- .../Diagnostics/NONTERM/typedSeqExprBlock02.fs | 2 +- .../Source/Import/AccessingRecordFields.Lib.fs | 2 +- .../Source/Import/AccessingRecordFields.fs | 2 +- .../fsharpqa/Source/Import/InternalsConsumer.fs | 2 +- .../fsharpqa/Source/Import/LessGeneric01.Lib.fs | 2 +- .../Source/Import/assign_to_static_field01.fs | 2 +- tests/fsharpqa/Source/Import/reference1ns.fs | 2 +- tests/fsharpqa/Source/Import/reference3a.fsx | 2 +- tests/fsharpqa/Source/Import/reference3b.fsx | 2 +- tests/fsharpqa/Source/Import/reference4a.fsx | 2 +- tests/fsharpqa/Source/Import/reference4b.fsx | 2 +- tests/fsharpqa/Source/Import/reference5ns.fs | 2 +- .../InteractiveSession/Misc/DefinesCompiled.fs | 2 +- .../Misc/DefinesInteractive.fs | 2 +- .../InteractiveSession/Misc/DoWithNotUnit.fs | 2 +- .../Misc/PipingWithDirectives.fs | 2 +- tests/fsharpqa/Source/Misc/Parsing01.fs | 2 +- .../Source/Misc/StaticMethodValueTypeMain.fs | 2 +- .../Source/Misc/productioncoverage01.fs | 2 +- .../Source/Misc/productioncoverage02.fs | 2 +- .../Source/Misc/productioncoverage03.fsscript | 2 +- .../Source/Stress/CodeGeneratorFor2766.fsx | 2 +- tests/fsharpqa/Source/comparer.fsx | 2 +- tests/fsharpqa/comparer.fsx | 2 +- 468 files changed, 485 insertions(+), 625 deletions(-) delete mode 100644 tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fs delete mode 100644 tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsi delete mode 100644 tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsscript delete mode 100644 tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsx delete mode 100644 tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_after_comment01.fs delete mode 100644 tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/light_off_01.fs delete mode 100644 tests/fsharpqa/Source/Diagnostics/NONTERM/declExpr01.fs delete mode 100644 tests/fsharpqa/Source/Diagnostics/NONTERM/declExpr01b.fs delete mode 100644 tests/fsharpqa/Source/Diagnostics/NONTERM/fileNamespaceImpl01.fs delete mode 100644 tests/fsharpqa/Source/Diagnostics/NONTERM/fileNamespaceImpl01b.fs delete mode 100644 tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator03.fs delete mode 100644 tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator03b.fs delete mode 100644 tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator04.fs delete mode 100644 tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator04b.fs diff --git a/tests/fsharp/conformance/expressions/syntacticsugar/E_Slices01.fsx b/tests/fsharp/conformance/expressions/syntacticsugar/E_Slices01.fsx index 3512f1ec0a8..40f6f8c98a6 100644 --- a/tests/fsharp/conformance/expressions/syntacticsugar/E_Slices01.fsx +++ b/tests/fsharp/conformance/expressions/syntacticsugar/E_Slices01.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #SyntacticSugar -#light + // Verify errors related to ambiguous slicing overloads diff --git a/tests/fsharp/core/access/test.fsx b/tests/fsharp/core/access/test.fsx index 3a8bfd0e6f3..3c3827904e1 100644 --- a/tests/fsharp/core/access/test.fsx +++ b/tests/fsharp/core/access/test.fsx @@ -3,7 +3,7 @@ module Core_access #endif -#light + let failures = ref [] let report_failure (s : string) = diff --git a/tests/fsharp/core/apporder/test.fsx b/tests/fsharp/core/apporder/test.fsx index 5dc19b65fde..02ecf73ff2d 100644 --- a/tests/fsharp/core/apporder/test.fsx +++ b/tests/fsharp/core/apporder/test.fsx @@ -3,7 +3,7 @@ module Core_apporder #endif -#light + let failures = ref [] let report_failure (s : string) = diff --git a/tests/fsharp/core/attributes/test.fsx b/tests/fsharp/core/attributes/test.fsx index e17fd3404f1..d6247702a86 100644 --- a/tests/fsharp/core/attributes/test.fsx +++ b/tests/fsharp/core/attributes/test.fsx @@ -5,7 +5,7 @@ #if TESTS_AS_APP module Core_attributes #endif -#light + #if !TESTS_AS_APP && !NETCOREAPP #load "testlib.fsi" "testlib.fs" // a warning is expected here diff --git a/tests/fsharp/core/attributes/testlib.fsi b/tests/fsharp/core/attributes/testlib.fsi index 785ee261f62..8ad279ae1dd 100644 --- a/tests/fsharp/core/attributes/testlib.fsi +++ b/tests/fsharp/core/attributes/testlib.fsi @@ -1,4 +1,4 @@ -#light + module TestLibModule diff --git a/tests/fsharp/core/comprehensions/test.fsx b/tests/fsharp/core/comprehensions/test.fsx index 4d9664404cb..2ac85868550 100644 --- a/tests/fsharp/core/comprehensions/test.fsx +++ b/tests/fsharp/core/comprehensions/test.fsx @@ -2,7 +2,7 @@ #if TESTS_AS_APP module Core_comprehensions #endif -#light + let failures = ref [] let report_failure (s : string) = diff --git a/tests/fsharp/core/control/test.fsx b/tests/fsharp/core/control/test.fsx index 6c80ca0d72b..d392f862059 100644 --- a/tests/fsharp/core/control/test.fsx +++ b/tests/fsharp/core/control/test.fsx @@ -2,7 +2,7 @@ #if TESTS_AS_APP module Core_control #endif -#light + #if NETCOREAPP open System.Threading.Tasks diff --git a/tests/fsharp/core/controlChamenos/test.fsx b/tests/fsharp/core/controlChamenos/test.fsx index 5742662a53c..cbae42afd9a 100644 --- a/tests/fsharp/core/controlChamenos/test.fsx +++ b/tests/fsharp/core/controlChamenos/test.fsx @@ -2,7 +2,7 @@ #if TESTS_AS_APP module Core_controlChamenos #endif -#light + #nowarn "40" // recursive references diff --git a/tests/fsharp/core/controlMailbox/test.fsx b/tests/fsharp/core/controlMailbox/test.fsx index 5aa65035ecd..939d2215505 100644 --- a/tests/fsharp/core/controlMailbox/test.fsx +++ b/tests/fsharp/core/controlMailbox/test.fsx @@ -2,7 +2,7 @@ #if TESTS_AS_APP module Core_controlMailBox #endif -#light + #nowarn "40" // recursive references diff --git a/tests/fsharp/core/controlStackOverflow/test.fsx b/tests/fsharp/core/controlStackOverflow/test.fsx index f3678844b05..e9b3cf14996 100644 --- a/tests/fsharp/core/controlStackOverflow/test.fsx +++ b/tests/fsharp/core/controlStackOverflow/test.fsx @@ -4,7 +4,7 @@ module Core_controlStackOverflow #endif -#light + #nowarn "40" // recursive references diff --git a/tests/fsharp/core/controlWebExt/test.fsx b/tests/fsharp/core/controlWebExt/test.fsx index 23e5bf5071e..f1d7e620384 100644 --- a/tests/fsharp/core/controlWebExt/test.fsx +++ b/tests/fsharp/core/controlWebExt/test.fsx @@ -2,7 +2,7 @@ #if TESTS_AS_APP module Core_controlWebExt #endif -#light + let failuresFile = let f = System.Environment.GetEnvironmentVariable("CONTROL_FAILURES_LOG") diff --git a/tests/fsharp/core/controlWpf/test.fsx b/tests/fsharp/core/controlWpf/test.fsx index 400f196c652..47e4e68ee5f 100644 --- a/tests/fsharp/core/controlWpf/test.fsx +++ b/tests/fsharp/core/controlWpf/test.fsx @@ -1,4 +1,4 @@ -#light + #r "WindowsBase" #r "PresentationFramework" #r "System.Xaml" diff --git a/tests/fsharp/core/csext/test.fsx b/tests/fsharp/core/csext/test.fsx index 224fd9dd047..caa9505858f 100644 --- a/tests/fsharp/core/csext/test.fsx +++ b/tests/fsharp/core/csext/test.fsx @@ -3,7 +3,7 @@ module Core_csext #endif -#light + let failures = ref [] diff --git a/tests/fsharp/core/events/test.fs b/tests/fsharp/core/events/test.fs index e9921fcbe25..be202c73261 100644 --- a/tests/fsharp/core/events/test.fs +++ b/tests/fsharp/core/events/test.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #Events #Regression #Interop -#light + module Test diff --git a/tests/fsharp/core/int32/test.fsx b/tests/fsharp/core/int32/test.fsx index 1c6a500c55a..91167f1074b 100644 --- a/tests/fsharp/core/int32/test.fsx +++ b/tests/fsharp/core/int32/test.fsx @@ -3,7 +3,7 @@ module Core_int32 #endif -#light + let failures = ref [] diff --git a/tests/fsharp/core/map/test.fsx b/tests/fsharp/core/map/test.fsx index b093d33ff33..9ef54a81a1c 100644 --- a/tests/fsharp/core/map/test.fsx +++ b/tests/fsharp/core/map/test.fsx @@ -3,7 +3,7 @@ module Core_map #endif -#light + let failures = ref [] let report_failure (s : string) = diff --git a/tests/fsharp/core/math/lalgebra/test.fsx b/tests/fsharp/core/math/lalgebra/test.fsx index 30f8dda47f6..f8f25296035 100644 --- a/tests/fsharp/core/math/lalgebra/test.fsx +++ b/tests/fsharp/core/math/lalgebra/test.fsx @@ -3,7 +3,7 @@ module Core_math_lalgebra #endif -#light + let failures = ref [] diff --git a/tests/fsharp/core/math/numbers/test.fsx b/tests/fsharp/core/math/numbers/test.fsx index 7e1fb5ecb04..409537a2080 100644 --- a/tests/fsharp/core/math/numbers/test.fsx +++ b/tests/fsharp/core/math/numbers/test.fsx @@ -3,7 +3,7 @@ module Core_math_numbers #endif -#light + #nowarn "49";; #nowarn "44";; #nowarn "62";; diff --git a/tests/fsharp/core/math/numbersVS2008/test.fsx b/tests/fsharp/core/math/numbersVS2008/test.fsx index d51423a94f3..64a4c1dea27 100644 --- a/tests/fsharp/core/math/numbersVS2008/test.fsx +++ b/tests/fsharp/core/math/numbersVS2008/test.fsx @@ -3,7 +3,7 @@ module Core_math_numbersVS2008 #endif -#light + #nowarn "49";; #nowarn "44";; #nowarn "62";; diff --git a/tests/fsharp/core/measures/test.fsx b/tests/fsharp/core/measures/test.fsx index 83357564018..4d25bff8c3a 100644 --- a/tests/fsharp/core/measures/test.fsx +++ b/tests/fsharp/core/measures/test.fsx @@ -2,7 +2,7 @@ #if TESTS_AS_APP module Core_measures #endif -#light + let failures = ref [] diff --git a/tests/fsharp/core/members/incremental-hw/test.fsx b/tests/fsharp/core/members/incremental-hw/test.fsx index 0fbc223b8e1..3f01c885ace 100644 --- a/tests/fsharp/core/members/incremental-hw/test.fsx +++ b/tests/fsharp/core/members/incremental-hw/test.fsx @@ -1,6 +1,6 @@ // #Conformance #MemberDefinitions #Mutable #ObjectOrientedTypes #Classes #InterfacesAndImplementations #Recursion -#light + #if TESTS_AS_APP module Core_members_incremental_testhw @@ -389,10 +389,10 @@ module ScalaPersonExample = member x.LastName = lastName : string member x.Spouse = spouse : Person1 option member x.Introduction() = - "Hi, my name is " ^ firstName ^ " " ^ lastName ^ + "Hi, my name is " + firstName + " " + lastName + (match spouse with | None -> "." - | Some spouse -> " and this is my spouse, " ^ spouse.FirstName ^ " " ^ spouse.LastName ^ ".") + | Some spouse -> " and this is my spouse, " + spouse.FirstName + " " + spouse.LastName + ".") // TODO: the implicit ctor is not in scope for defining alt constructors. // new (f,l) = new Person1(f,l,None) diff --git a/tests/fsharp/core/printf/test.fsx b/tests/fsharp/core/printf/test.fsx index a3ae40791a3..3ebe2c9ba33 100644 --- a/tests/fsharp/core/printf/test.fsx +++ b/tests/fsharp/core/printf/test.fsx @@ -4,7 +4,7 @@ module Core_printf #endif -#light + open Printf diff --git a/tests/fsharp/core/printing/output.1000.stdout.bsl b/tests/fsharp/core/printing/output.1000.stdout.bsl index e2f3a8d57c8..fc13290cf5d 100644 --- a/tests/fsharp/core/printing/output.1000.stdout.bsl +++ b/tests/fsharp/core/printing/output.1000.stdout.bsl @@ -2686,14 +2686,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int > val functionWhichTakesAParameterCalled_land: - ``land`` : (int -> int -> int) -> int + land : (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - ``land`` : obj + land : obj ``base`` : obj } @@ -2709,7 +2709,7 @@ type System.Int32 with | A | B -> type ``land`` = +> type land = | A | B @@ -2719,7 +2719,7 @@ type System.Int32 with > module op_Addition = val x: int = 1 -> module ``land`` = +> module land = val x: int = 1 > val ``+`` : x: 'a -> y: 'b -> int @@ -2732,7 +2732,7 @@ type System.Int32 with > val ``or`` : int = 2 -> val ``land`` : int = 2 +> val land : int = 2 > val ``.ctor`` : int = 2 diff --git a/tests/fsharp/core/printing/output.200.stdout.bsl b/tests/fsharp/core/printing/output.200.stdout.bsl index a707919336b..aa585170c64 100644 --- a/tests/fsharp/core/printing/output.200.stdout.bsl +++ b/tests/fsharp/core/printing/output.200.stdout.bsl @@ -1931,14 +1931,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int > val functionWhichTakesAParameterCalled_land: - ``land`` : (int -> int -> int) -> int + land : (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - ``land`` : obj + land : obj ``base`` : obj } @@ -1954,7 +1954,7 @@ type System.Int32 with | A | B -> type ``land`` = +> type land = | A | B @@ -1964,7 +1964,7 @@ type System.Int32 with > module op_Addition = val x: int = 1 -> module ``land`` = +> module land = val x: int = 1 > val ``+`` : x: 'a -> y: 'b -> int @@ -1977,7 +1977,7 @@ type System.Int32 with > val ``or`` : int = 2 -> val ``land`` : int = 2 +> val land : int = 2 > val ``.ctor`` : int = 2 diff --git a/tests/fsharp/core/printing/output.47.stdout.bsl b/tests/fsharp/core/printing/output.47.stdout.bsl index a4620456799..819f5b20c09 100644 --- a/tests/fsharp/core/printing/output.47.stdout.bsl +++ b/tests/fsharp/core/printing/output.47.stdout.bsl @@ -6231,14 +6231,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int > val functionWhichTakesAParameterCalled_land: - ``land`` : (int -> int -> int) -> int + land : (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - ``land`` : obj + land : obj ``base`` : obj } @@ -6254,7 +6254,7 @@ type System.Int32 with | A | B -> type ``land`` = +> type land = | A | B @@ -6264,7 +6264,7 @@ type System.Int32 with > module op_Addition = val x: int = 1 -> module ``land`` = +> module land = val x: int = 1 > val ``+`` : x: 'a -> y: 'b -> int @@ -6277,7 +6277,7 @@ type System.Int32 with > val ``or`` : int = 2 -> val ``land`` : int = 2 +> val land : int = 2 > val ``.ctor`` : int = 2 diff --git a/tests/fsharp/core/printing/output.multiemit.stdout.bsl b/tests/fsharp/core/printing/output.multiemit.stdout.bsl index 9cdf63bcc36..bec45967f2d 100644 --- a/tests/fsharp/core/printing/output.multiemit.stdout.bsl +++ b/tests/fsharp/core/printing/output.multiemit.stdout.bsl @@ -6233,14 +6233,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int > val functionWhichTakesAParameterCalled_land: - ``land`` : (int -> int -> int) -> int + land : (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - ``land`` : obj + land : obj ``base`` : obj } @@ -6256,7 +6256,7 @@ type System.Int32 with | A | B -> type ``land`` = +> type land = | A | B @@ -6266,7 +6266,7 @@ type System.Int32 with > module op_Addition = val x: int = 1 -> module ``land`` = +> module land = val x: int = 1 > val ``+`` : x: 'a -> y: 'b -> int @@ -6279,7 +6279,7 @@ type System.Int32 with > val ``or`` : int = 2 -> val ``land`` : int = 2 +> val land : int = 2 > val ``.ctor`` : int = 2 diff --git a/tests/fsharp/core/printing/output.off.stdout.bsl b/tests/fsharp/core/printing/output.off.stdout.bsl index 5806de4d312..db11ee0c248 100644 --- a/tests/fsharp/core/printing/output.off.stdout.bsl +++ b/tests/fsharp/core/printing/output.off.stdout.bsl @@ -1701,14 +1701,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int > val functionWhichTakesAParameterCalled_land: - ``land`` : (int -> int -> int) -> int + land : (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - ``land`` : obj + land : obj ``base`` : obj } @@ -1724,7 +1724,7 @@ type System.Int32 with | A | B -> type ``land`` = +> type land = | A | B @@ -1734,7 +1734,7 @@ type System.Int32 with > module op_Addition = val x: int -> module ``land`` = +> module land = val x: int > val ``+`` : x: 'a -> y: 'b -> int @@ -1747,7 +1747,7 @@ type System.Int32 with > val ``or`` : int -> val ``land`` : int +> val land : int > val ``.ctor`` : int diff --git a/tests/fsharp/core/printing/output.stdout.bsl b/tests/fsharp/core/printing/output.stdout.bsl index 9cdf63bcc36..bec45967f2d 100644 --- a/tests/fsharp/core/printing/output.stdout.bsl +++ b/tests/fsharp/core/printing/output.stdout.bsl @@ -6233,14 +6233,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int > val functionWhichTakesAParameterCalled_land: - ``land`` : (int -> int -> int) -> int + land : (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - ``land`` : obj + land : obj ``base`` : obj } @@ -6256,7 +6256,7 @@ type System.Int32 with | A | B -> type ``land`` = +> type land = | A | B @@ -6266,7 +6266,7 @@ type System.Int32 with > module op_Addition = val x: int = 1 -> module ``land`` = +> module land = val x: int = 1 > val ``+`` : x: 'a -> y: 'b -> int @@ -6279,7 +6279,7 @@ type System.Int32 with > val ``or`` : int = 2 -> val ``land`` : int = 2 +> val land : int = 2 > val ``.ctor`` : int = 2 diff --git a/tests/fsharp/core/printing/test.fsx b/tests/fsharp/core/printing/test.fsx index 57abd156c4f..2b990d1203a 100644 --- a/tests/fsharp/core/printing/test.fsx +++ b/tests/fsharp/core/printing/test.fsx @@ -1006,7 +1006,7 @@ let functionWhichTakesAParameterPreciselyPlusButNotOpAddition (``+``: int -> int let functionWhichTakesAParameterOpAddition ((+): int -> int -> int) = 1 + 1 ;; -let functionWhichTakesAParameterCalled_land (``land``: int -> int -> int) = 1 + 1 +let functionWhichTakesAParameterCalled_land (land: int -> int -> int) = 1 + 1 ;; type RecordWithStrangeNames = @@ -1014,7 +1014,7 @@ type RecordWithStrangeNames = ``funky name`` : obj op_Addition : obj ``+`` : obj - ``land`` : obj + land : obj ``base`` : obj } ;; @@ -1034,7 +1034,7 @@ type op_Addition = // Check this doesn't go to (+) for types | B ;; -type ``land`` = // Check this doesn't go to (land) for types, it gets double ticks because (land) is deprecated +type land = | A | B ;; @@ -1047,7 +1047,7 @@ module op_Addition = // Check this doesn't go to (+) for modules, nor get double let x = 1 ;; -module ``land`` = // Check this doesn't go to (land) for modules, it gets double ticks because (land) is deprecated +module land = let x = 1 ;; @@ -1066,7 +1066,7 @@ let ``mod`` = 2 // This is a value called 'mod' in .NET IL, but we can't distin let ``or`` = 2 // This is a value called 'or' in .NET IL, legacy, but we can't distinguish from (or), so print it as ``or`` ;; -let ``land`` = 2 // This is a value called 'land' in .NET IL, legacy, but we can't distinguish from legacy unused (land), so print it as ``land`` +let land = 2 ;; let ``.ctor`` = 2 // This is a value called '.ctor' in .NET IL, and has no special properties diff --git a/tests/fsharp/core/printing/testLoadFile.fsx b/tests/fsharp/core/printing/testLoadFile.fsx index 1874fb8c6a4..2f5650d0db3 100644 --- a/tests/fsharp/core/printing/testLoadFile.fsx +++ b/tests/fsharp/core/printing/testLoadFile.fsx @@ -1,4 +1,4 @@ -#light + let x1 = 1 let x2 = "hello" let x3 = None diff --git a/tests/fsharp/core/printing/testLoadFile2.fsx b/tests/fsharp/core/printing/testLoadFile2.fsx index d5ea4e8af36..6f99e3f9f32 100644 --- a/tests/fsharp/core/printing/testLoadFile2.fsx +++ b/tests/fsharp/core/printing/testLoadFile2.fsx @@ -1,4 +1,4 @@ -#light + let x1 = 1 let x2 = "hello" let x3 = None diff --git a/tests/fsharp/core/quotes/test.fsx b/tests/fsharp/core/quotes/test.fsx index 7aa339449cf..30ed5ba331a 100644 --- a/tests/fsharp/core/quotes/test.fsx +++ b/tests/fsharp/core/quotes/test.fsx @@ -2,7 +2,7 @@ #if TESTS_AS_APP module Core_quotes #endif -#light + #if !TESTS_AS_APP && !NETCOREAPP #r "cslib.dll" diff --git a/tests/fsharp/core/subtype/test.fsx b/tests/fsharp/core/subtype/test.fsx index c813ee3ff3a..94af8f06319 100644 --- a/tests/fsharp/core/subtype/test.fsx +++ b/tests/fsharp/core/subtype/test.fsx @@ -3,7 +3,7 @@ module Core_subtype #endif -#light + let failures = ref [] diff --git a/tests/fsharp/core/syntax/test.fsx b/tests/fsharp/core/syntax/test.fsx index ae34e2fc5cf..c42e392fe9f 100644 --- a/tests/fsharp/core/syntax/test.fsx +++ b/tests/fsharp/core/syntax/test.fsx @@ -5,7 +5,7 @@ #if TESTS_AS_APP module Core_syntax #endif -#light + let failures = ref false let report_failure () = stderr.WriteLine " NO"; failures := true diff --git a/tests/fsharp/tools/eval/test.fsx b/tests/fsharp/tools/eval/test.fsx index 9fb17c1d870..8f8742fa386 100644 --- a/tests/fsharp/tools/eval/test.fsx +++ b/tests/fsharp/tools/eval/test.fsx @@ -1,4 +1,4 @@ -#light + #nowarn "57" diff --git a/tests/fsharp/typecheck/sigs/neg08.fs b/tests/fsharp/typecheck/sigs/neg08.fs index 3ff686ac563..1410925c9cc 100644 --- a/tests/fsharp/typecheck/sigs/neg08.fs +++ b/tests/fsharp/typecheck/sigs/neg08.fs @@ -8,7 +8,7 @@ let topEnvTable1 = new System.Collections.Generic.List() let topEnvTable2 = new System.Collections.Generic.List() -#light + // Check non-generalization of escaping implicit ctor tyvars let x2 = ref [] diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_Ooff.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_Ooff.fs index d0f7191ce8d..20e23977397 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_Ooff.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_Ooff.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions //Unrecognized option: '-Ooff' -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_debug-file01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_debug-file01.fs index 0b4606e83a2..9d024770d0a 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_debug-file01.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_debug-file01.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #CompilerOptions //The command-line option '--debug-file' has been deprecated\. Use '--pdb' instead -#light + module M exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_generate-filter-blocks01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_generate-filter-blocks01.fs index 0ce39d6c402..25bc746af94 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_generate-filter-blocks01.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_generate-filter-blocks01.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions //The command-line option '--generate-filter-blocks' has been deprecated -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_gnu-style-errors01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_gnu-style-errors01.fs index 24a85624b66..51f4237c495 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_gnu-style-errors01.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_gnu-style-errors01.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #CompilerOptions //The command-line option '--gnu-style-errors' has been deprecated -#light + module M exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_no-string-interning01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_no-string-interning01.fs index 9c223ce3c71..1d5cf51e610 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_no-string-interning01.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_no-string-interning01.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions //The command-line option '--no-string-interning' has been deprecated -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_statistics01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_statistics01.fs index a55ab70fef5..c6defb14a0a 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_statistics01.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/deprecated_statistics01.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions //The command-line option '--statistics' has been deprecated -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/sscli01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/sscli01.fs index ca5be93042d..ac06fbee77f 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/sscli01.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/sscli01.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions //The command-line option '--sscli' has been deprecated -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/nologo/dummy.fsx b/tests/fsharpqa/Source/CompilerOptions/fsc/nologo/dummy.fsx index 082f58f604c..b842a33ae4b 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/nologo/dummy.fsx +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/nologo/dummy.fsx @@ -1,3 +1,3 @@ // #NoMT #CompilerOptions #RequiresENU -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/pdb/E_pdb_and_debug.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/pdb/E_pdb_and_debug.fs index b05e15b6c00..72b251c4d37 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/pdb/E_pdb_and_debug.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/pdb/E_pdb_and_debug.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #CompilerOptions #NoMono //The '--pdb' option requires the '--debug' option to be used -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/pdb/pdb01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/pdb/pdb01.fs index 1bc5a8c8f71..df3037dd1a0 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/pdb/pdb01.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/pdb/pdb01.fs @@ -1,4 +1,4 @@ // #NoMT #CompilerOptions #NoMono -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/platform/bitnesscheck.fsx b/tests/fsharpqa/Source/CompilerOptions/fsc/platform/bitnesscheck.fsx index 44e7225c9f2..e4a27d08ded 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/platform/bitnesscheck.fsx +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/platform/bitnesscheck.fsx @@ -6,7 +6,7 @@ // we would not be able to run (e.g. if we compile for x64 and // we are on IA64). -#light + let SCFLAGS = let tmp = System.Environment.GetEnvironmentVariable("SCFLAGS") diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/tokenize/tokenize01.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/tokenize/tokenize01.fs index 48c56e06129..90cdb300fea 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/tokenize/tokenize01.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/tokenize/tokenize01.fs @@ -1,5 +1,5 @@ // #NoMT #CompilerOptions -#light + namespace N module M = diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/tokenize/tokenize02.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/tokenize/tokenize02.fs index d139e72caee..782b52d530b 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/tokenize/tokenize02.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/tokenize/tokenize02.fs @@ -1,5 +1,5 @@ // #NoMT #CompilerOptions -#light + namespace N module M = diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/help/dummy.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/help/dummy.fsx index c5ecbb36434..3479ead6032 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/help/dummy.fsx +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/help/dummy.fsx @@ -1,3 +1,3 @@ // #NoMT #CompilerOptions #RequiresENU -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion-culture.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion-culture.fsx index d1e6d620d70..63879e68324 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion-culture.fsx +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion-culture.fsx @@ -1,5 +1,5 @@ // #NoMT #CompilerOptions #RequiresENU // Unrecognized value '4,7' for --langversion use --langversion:? for complete list // -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion-decimal.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion-decimal.fsx index d92c376bc39..3f3f33b811a 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion-decimal.fsx +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion-decimal.fsx @@ -1,5 +1,5 @@ // #NoMT #CompilerOptions #RequiresENU // Unrecognized value '4.70000000000' for --langversion use --langversion:? for complete list // -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion.fsx index b41237cd0b3..da3e8855065 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion.fsx +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/badlangversion.fsx @@ -1,5 +1,5 @@ // #NoMT #CompilerOptions #RequiresENU // Unrecognized value '4.5' for --langversion use --langversion:? for complete list // -#light + exit 0 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/comparer.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/comparer.fsx index 38adec6afd1..5f3b736aa89 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/comparer.fsx +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/comparer.fsx @@ -1,5 +1,5 @@ // #NoMT #CompilerOptions #RequiresENU -#light + let arg0 = System.Environment.GetCommandLineArgs().[0] let path = System.Environment.GetEnvironmentVariable("PATH") diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/dummy.fsx b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/dummy.fsx index c5ecbb36434..3479ead6032 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/dummy.fsx +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/langversion/dummy.fsx @@ -1,3 +1,3 @@ // #NoMT #CompilerOptions #RequiresENU -#light + exit 0 diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/AlternateGenericTypeSyntax01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/AlternateGenericTypeSyntax01.fs index 8759611cdb7..25e97d9d9f7 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/AlternateGenericTypeSyntax01.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/AlternateGenericTypeSyntax01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #ObjectConstructors -#light + // Test for alternate syntax for declaring generic types // This notation comes from OCaml and issues an OCaml-compat warning diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/ExplicitCtors01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/ExplicitCtors01.fs index 05adc1f00ae..f04d217a25a 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/ExplicitCtors01.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/ExplicitCtors01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DeclarationElements #ObjectConstructors -#light + // Verify explicit constructors work for class types // FSB 1.0 2927, grammar collision for accessibility modifiers on representation and members diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/GenericTypesInObjCtor.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/GenericTypesInObjCtor.fs index af3d9de86e1..3359215faf6 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/GenericTypesInObjCtor.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/GenericTypesInObjCtor.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #ObjectConstructors -#light + // Verify ability to create a generic class with a generic type in its object ctor. diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/MutuallyRecursive01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/MutuallyRecursive01.fs index 262dc6fb923..6a1e0bfc2fc 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/MutuallyRecursive01.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/MutuallyRecursive01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #ObjectConstructors -#light + // Verify the ability to define mutually recursive types. diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/SanityCheck01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/SanityCheck01.fs index 64f6d124553..ffbaf45c0e1 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/SanityCheck01.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/SanityCheck01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #ObjectConstructors -#light + type Foo(arg1:string, arg2:int) = let m_value = arg2 diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/SanityCheck02.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/SanityCheck02.fs index 194aa02d1a8..d005e3e2671 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/SanityCheck02.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/SanityCheck02.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #ObjectConstructors -#light + type King = class diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/ValOKWithoutImplicitCtor.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/ValOKWithoutImplicitCtor.fs index a71ec7a266b..04897d38c76 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/ValOKWithoutImplicitCtor.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/ObjectConstructors/ValOKWithoutImplicitCtor.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #ObjectConstructors -#light + // Verify val fields OK without default value if no implicit ctor is provided diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/ComVisible01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/ComVisible01.fs index 6e8579365c4..426937b3397 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/ComVisible01.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/ComVisible01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #PInvoke -#light + // Verify we can place the ComVisible attribute on Records // (We add a parameterless constructor) diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/EntryPoint.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/EntryPoint.fs index a22df40f458..9b20a9c8e28 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/EntryPoint.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/EntryPoint.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #PInvoke -#light + // Verify ability to map an F# function to a differently named Win32 method // via the 'EntryPoint' parameter. diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/MarshalStruct01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/MarshalStruct01.fs index 3cab5e80663..fa08a8fb5e4 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/MarshalStruct01.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/MarshalStruct01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #PInvoke -#light + // Sanity check marshalling structs via PInvoke // Specifically, the [StructLayout] attribute. diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/MarshalStruct01_Records.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/MarshalStruct01_Records.fs index 5c2bf55eff7..99956124976 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/MarshalStruct01_Records.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/MarshalStruct01_Records.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #PInvoke -#light + // copy of MarshalStruct01 test, but with struct records instead of standard structs // Sanity check marshalling struct records via PInvoke diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/SanityCheck01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/SanityCheck01.fs index 0f8db2d75b2..76db6389cb7 100644 --- a/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/SanityCheck01.fs +++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/P-invokeDeclarations/SanityCheck01.fs @@ -1,5 +1,5 @@ // #Conformance #DeclarationElements #PInvoke -#light + // Sanity check PInvoke from F# open System.Runtime.InteropServices diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_false.fs b/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_false.fs index 83afb8cd33e..fdedbead8b4 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_false.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_false.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ApplicationExpressions -#light + // Before check-in 11472, assert(false) had a special treatment (used to throw an AssertionFailure exception) // Now, it is just a normal expression and it is subject to conditional compilation rules. diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_false_DEBUG.fs b/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_false_DEBUG.fs index 644d185c994..82b664ca275 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_false_DEBUG.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_false_DEBUG.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ApplicationExpressions -#light + // Before check-in 11472, assert(false) had a special treatment (used to throw an AssertionFailure exception) // Now, it is just a normal expression and it is subject to conditional compilation rules. diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_true.fs b/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_true.fs index 79dc5fc59f8..1503f18d6a6 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_true.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ApplicationExpressions/Assertion/Assert_true.fs @@ -3,7 +3,7 @@ // Special cases: // - assert(true) ==> should not throw // -#light + assert(true) exit 0 diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/bool.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/bool.fs index 2832516912a..dec80621450 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/bool.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/bool.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = false // bool (System.Boolean) let v2 = true // bool (System.Boolean) diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/byte.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/byte.fs index 49711df5a25..24d218beac4 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/byte.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/byte.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v = 32uy // byte let check(x:byte) = true diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/byteArr.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/byteArr.fs index 09be2f9a390..f1bb74cc8a9 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/byteArr.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/byteArr.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = "ASCII"B // byte[] diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/char.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/char.fs index a8ecb17e100..15ee6146c6e 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/char.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/char.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = 'a' // char (System.Char) diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/double.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/double.fs index edc51152b9a..3450a4259bc 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/double.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/double.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = 1. // float/double diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/float.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/float.fs index 9bb27f4e608..646ef89eecf 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/float.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/float.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = 1. // float/double diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/float32.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/float32.fs index 57757ed6957..8e5c399abcb 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/float32.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/float32.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = 1.0f // float32/single let v2 = 1.01f // float32/single diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int.fs index e5d4c9a37a7..ad90d0ac20e 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v = 86 // int let check(x:int) = true diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int16.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int16.fs index 3d052db010e..1bc4e1aca21 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int16.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int16.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v = 17s // int16 let check(x:int16) = true diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int32.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int32.fs index c4a33d9f92f..41221816d33 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int32.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int32.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v = 86 // int32 let check(x:int32) = true diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int64.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int64.fs index 620d1a4ad9a..38d2a1621ec 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int64.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/int64.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v = 99999999L // int64 let check(x:int64) = true diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/nativenint.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/nativenint.fs index 417aef4ea91..e98cd07d860 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/nativenint.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/nativenint.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = 99999999n // nativeint (System.IntPtr) diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/sbyte.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/sbyte.fs index 940178309e4..a93ae4c5b1f 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/sbyte.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/sbyte.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v = 3y // sbyte let check(x:sbyte) = true diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/single.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/single.fs index da8b60d87a9..e0f1672c304 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/single.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/single.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = 1.0f // float32/single let v2 = 1.01f // float32/single diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/string.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/string.fs index 81270871a89..3bcae1f2066 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/string.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/string.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = "3" // string (String) diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint16.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint16.fs index 8b222985016..77d64882d12 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint16.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint16.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v = 18us // uint16 let check(x:uint16) = true diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint32.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint32.fs index 53c776ade73..06c39837491 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint32.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint32.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v = 99u // uint32 let check(x:uint32) = true diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint64.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint64.fs index f0086beea3e..546361ae7eb 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint64.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/uint64.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v = 10328273UL // uint64 let check(x:uint64) = true diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/unativenint.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/unativenint.fs index 6a22ed7e750..7870ea57750 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/unativenint.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/unativenint.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = 10328273un // unativeint (System.UIntPtr) diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/unit.fs b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/unit.fs index 30e995965c6..36305613290 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/unit.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ConstantExpressions/unit.fs @@ -4,7 +4,7 @@ // Verification: // - all the different types work // - the type we get is what we meant it to be -#light + let v1 = () // unit (Microsoft.FSharp.Core.Unit) diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/LiteralNull01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/LiteralNull01.fs index a20dcca4dd3..8f85e2f4449 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/LiteralNull01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/LiteralNull01.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #ControlFlow // Regression test for FSHARP1.0:2323 (Compiler ICE when matching on literal Null) // -#light + [] let Null = null diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_Function01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_Function01.fs index 87e96edc671..8bca73e1183 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_Function01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_Function01.fs @@ -3,7 +3,7 @@ // FS0025: Incomplete pattern matches on this expression... - wording could be improved a bit //'0.0' -#light + let x = fun (4.1 | 1.26) -> 33 (* warning FS0025: Incomplete pattern matches on this expression. For example, the value '0.0' will not be matched *) diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample01.fs index 85e14dd2b4e..26a3916f103 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:1986 (conter example in complex pattern matching) //'Some \(\(_,true\)\)' -#light + let f = function // Incomplete pattern matches on this expression. For example, the value 'Some ((_,true))' will not be matched diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample02.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample02.fs index e377c113fa6..cb7c6f6e45f 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample02.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/PatternMatching/W_PatternMatchingCounterExample02.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:1986 (conter example in complex pattern matching) //Incomplete pattern matches on this expression\. For example, the value '\[_;true\]' may indicate a case not covered by the pattern\(s\) -#light + let g = function | [] -> 0 diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/SequenceIteration/SequenceIteration01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/SequenceIteration/SequenceIteration01.fs index 4c9b275b619..83179a8f80c 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/SequenceIteration/SequenceIteration01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/SequenceIteration/SequenceIteration01.fs @@ -1,5 +1,5 @@ // #Conformance #ControlFlow #Sequences -#light + // Test Sequence iteration expressions (for loops). diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/SimpleFor/Downto01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/SimpleFor/Downto01.fs index 92c9a0938eb..dfb86e8a5da 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/SimpleFor/Downto01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/SimpleFor/Downto01.fs @@ -1,5 +1,5 @@ // #Conformance #ControlFlow -#light + // Sanity check the 'downto' keyword diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryFinally/W-TryFinallyNotUnit.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryFinally/W-TryFinallyNotUnit.fs index e78a19b0fae..71de5549bca 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryFinally/W-TryFinallyNotUnit.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryFinally/W-TryFinallyNotUnit.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ControlFlow #Exceptions -#light + // Verify warning if a finally block does not return 'unit' //The result of this expression has type 'bool' and is implicitly ignored diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryWith/TryWith01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryWith/TryWith01.fs index 869e6b65ab0..c8fb801bdf8 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryWith/TryWith01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryWith/TryWith01.fs @@ -1,5 +1,5 @@ // #Conformance #ControlFlow #Exceptions -#light + // Verify simple try with blogs work diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryWith/TryWith02.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryWith/TryWith02.fs index 23b5b9069ed..e47204e291f 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryWith/TryWith02.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryWith/TryWith02.fs @@ -1,5 +1,5 @@ // #Conformance #ControlFlow #Exceptions -#light + // Verify simple try finally blogs work diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof001.fsx b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof001.fsx index 1611af55de7..5e70cd25fb5 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof001.fsx +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof001.fsx @@ -3,7 +3,7 @@ // Verify we can use the & operator to invoke .Net method (byref) // In this case we call into a C# method (ref) // -#light + #r @"addressof001dll.dll" diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof002.fsx b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof002.fsx index 519f256a377..163a5a85a62 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof002.fsx +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/AddressOf/addressof002.fsx @@ -3,7 +3,7 @@ // Verify we can use the & operator to invoke .Net method (byref) // In this case we call into a C# method (out) // -#light + #r @"addressof002dll.dll" diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/ForLoop01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/ForLoop01.fs index 543e649227a..d7ed0859773 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/ForLoop01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/ForLoop01.fs @@ -1,5 +1,5 @@ // #Conformance #DataExpressions #ComputationExpressions -#light + // Verify use of 'for i = ... in Computation Expressions diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/Regressions01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/Regressions01.fs index 2281f23acd7..f35d93d04ea 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/Regressions01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ComputationExpressions/Regressions01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DataExpressions #ComputationExpressions -#light + // Regression test for FSB, 1831 // Finally block called twice for nested sequence comprehensions diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/E_ObjExprWithDuplOverride01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/E_ObjExprWithDuplOverride01.fs index 8621a19d337..d928644ec9d 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/E_ObjExprWithDuplOverride01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/E_ObjExprWithDuplOverride01.fs @@ -3,7 +3,7 @@ //More than one override implements 'Next: StrongToWeakEntry<'a> array -> int when 'a: not struct' -#light + [] type BaseHashtable<'Entry, 'Key>(initialCapacity) = diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericObjectExpression01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericObjectExpression01.fs index 01214f7b53d..9eb013066e1 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericObjectExpression01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericObjectExpression01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DataExpressions #ObjectConstructors -#light + // FSB 1112, Bug in definition of generic interface diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericObjectExpression02.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericObjectExpression02.fs index efd74285dd3..fd11974726d 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericObjectExpression02.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericObjectExpression02.fs @@ -3,7 +3,7 @@ // Title: spurious warning with slot inference? // Desc: Not expecting to get a 'less generic than indicated by the annotation' message at the point pointed by marked -#light + type IParameterUser<'t> = abstract Use<'b> : list<'b> -> 't diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericTypeAnnotations01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericTypeAnnotations01.fs index 0f1a0653d47..e850297cf0d 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericTypeAnnotations01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/GenericTypeAnnotations01.fs @@ -3,7 +3,7 @@ // Incorrect FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'a has been constrained to be type ''a'. // -#light + type X = abstract M : unit -> 'a let v = diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/StaticType01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/StaticType01.fs index 79e56d04bc3..ad7fff8d161 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/StaticType01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/StaticType01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DataExpressions #ObjectConstructors -#light + // Verify the static type of object expressions diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/W_Deprecated01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/W_Deprecated01.fs index cc7a624c314..4df4b369971 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/W_Deprecated01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/ObjectExpressions/W_Deprecated01.fs @@ -2,7 +2,7 @@ // Regression test for FSharp1.0:3389 - Deprecate older object expression syntax //This construct is deprecated: This form of object expression is not used in F#\. Use 'member this\.MemberName \.\.\. = \.\.\.' to define member implementations in object expressions\. -#light + type X = abstract M : unit -> 'a diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/FloatingPointRangeExp01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/FloatingPointRangeExp01.fs index 4fe0d1146c6..08bdc3f65ea 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/FloatingPointRangeExp01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/FloatingPointRangeExp01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DataExpressions -#light + // FSB 1005, float comprehensions of form "x0 .. dx .. x1" suffer rounding errors // After changes in BigInt, this is no longer a warning. diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/W-FloatingPointRangeExp01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/W-FloatingPointRangeExp01.fs index 20ba36e5492..f1d796fd242 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/W-FloatingPointRangeExp01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/RangeExpressions/W-FloatingPointRangeExp01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DataExpressions -#light + // FSB 1005, float comprehensions of form "x0 .. dx .. x1" suffer rounding errors //Floating point ranges are experimental and may be deprecated in a future release diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/ReallyLongArray01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/ReallyLongArray01.fs index 08c2813ffeb..0a92b9205a4 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/ReallyLongArray01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/ReallyLongArray01.fs @@ -1,5 +1,5 @@ // #Conformance #DataExpressions #Sequences -#light + // Verify arrays can be really, really long diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/YieldInsideFlowControl.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/YieldInsideFlowControl.fs index 8bc8552e71c..b90636f2da0 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/YieldInsideFlowControl.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/YieldInsideFlowControl.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #DataExpressions #Sequences -#light + // Regression test for FSharp1.0:3930 - "Invalid sequence expression" error when using yield combined with if-then expressions in seq. diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_bang_keyword_01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_bang_keyword_01.fs index 5ce4014dd77..677ae056d5e 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_bang_keyword_01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_bang_keyword_01.fs @@ -3,7 +3,7 @@ // Usage of "->>" in a sequence expression is deprecated // Use "do yield! ..." instead // -#light + let s = seq { for i in [1 .. 2] do yield! seq { yield i+1 } } (if (Seq.head s) = 2 then 0 else 1) |> exit diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_dash_gt_01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_dash_gt_01.fs index 537141f6eae..2925bfe0d61 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_dash_gt_01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_dash_gt_01.fs @@ -4,7 +4,7 @@ // in [ for pat in expr -> expr ] and other compact seq expr // Compile with --warnaserror // -#light + let s1 = seq { for i in [ 1 .. 2 ] -> 10 } (if (Seq.head s1) = 10 then 0 else 1) |> exit diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_keyword_01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_keyword_01.fs index bc0876af1de..6f8dfd0f9d8 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_keyword_01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/SequenceExpressions/final_yield_keyword_01.fs @@ -3,7 +3,7 @@ // Usage of "->" in a sequence expression is deprecated, unless // in [ for pat in expr -> expr ] and other compact seq expr // -#light + let s1 = seq { yield 10 } (if (Seq.head s1) = 10 then 0 else 1) |> exit diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/TupleExpressions/Tuples01.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/TupleExpressions/Tuples01.fs index 1ff4ae80435..76d5217b695 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/TupleExpressions/Tuples01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/TupleExpressions/Tuples01.fs @@ -1,5 +1,5 @@ // #Conformance #DataExpressions #Tuples -#light + let tuple1 = 1 let tuple2 = 1, 2 diff --git a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/TupleExpressions/Tuples02.fs b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/TupleExpressions/Tuples02.fs index 1a152319e75..405d3ab7d69 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/TupleExpressions/Tuples02.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/DataExpressions/TupleExpressions/Tuples02.fs @@ -1,5 +1,5 @@ // #Conformance #DataExpressions #Tuples -#light + // Verify tuples work right when crossing the '6' boundary diff --git a/tests/fsharpqa/Source/Conformance/Expressions/EvaluationOfElaboratedForms/letbinding_precomutation01.fs b/tests/fsharpqa/Source/Conformance/Expressions/EvaluationOfElaboratedForms/letbinding_precomutation01.fs index 521386d58f4..64b07e034d1 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/EvaluationOfElaboratedForms/letbinding_precomutation01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/EvaluationOfElaboratedForms/letbinding_precomutation01.fs @@ -1,7 +1,7 @@ // #Regression #Conformance // Regression test for FSHARP1.0:3330 // -#light + let mutable times_x_was_computed = 0 diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/E_GenericQuotation01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/E_GenericQuotation01.fs index fe2a934cbb6..77308132ed4 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/E_GenericQuotation01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/E_GenericQuotation01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #Quotations -#light + // Verify error for generalized quotations //Inner generic functions are not permitted in quoted expressions\. Consider adding some type constraints until this function is no longer generic diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/E_InvalidQuotationLiteral02.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/E_InvalidQuotationLiteral02.fs index 7a8b91fd88f..5b8b2410e16 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/E_InvalidQuotationLiteral02.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/E_InvalidQuotationLiteral02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #Quotations -#light + // Verify restrictions for what can be written in a quotation //Quotations cannot contain this kind of type diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/NestedQuoteAddition.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/NestedQuoteAddition.fs index 38780c4d030..45015ba22ac 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/NestedQuoteAddition.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/NestedQuoteAddition.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #Quotations // Regression test for FSHARP1.0:5339 // Make sure nested quotations are printing correctly. Nested quotation here used to print x in + expression as UnitVar0 -#light + open Microsoft.FSharp.Quotations diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationHoles01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationHoles01.fs index ae9fd95bf38..1b5026aa821 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationHoles01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationHoles01.fs @@ -1,5 +1,5 @@ // #Conformance #Quotations -#light + // Sanity check quotation holes diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions01.fs index 3630cf6b0b6..4855d28e5d8 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions01.fs @@ -1,5 +1,5 @@ // #Conformance #Quotations -#light + // FSB 959, TOp_asm in pattern match diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions02.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions02.fs index df083075d93..cff02395a75 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions02.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #Quotations -#light + // FSB 1075, TOp_asm in pattern match diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions04.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions04.fs index c10eb372497..724bf6bf39e 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions04.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions04.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #Quotations -#light + open Microsoft.FSharp.Quotations open Microsoft.FSharp.Quotations.Patterns diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions05.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions05.fs index 6e8d20f25f1..cc24c89d4f7 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions05.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions05.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #Quotations -#light + // FSB 2384, "Try with in quotations generates a stack overflow diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions06.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions06.fs index 499ba551d6b..eb6ef2173a4 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions06.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/QuotationRegressions06.fs @@ -1,5 +1,5 @@ // #Conformance #Quotations -#light + let quote = <@ diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/RawQuotation01.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/RawQuotation01.fs index d1b5851766d..dcc22161b1f 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/RawQuotation01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/RawQuotation01.fs @@ -1,5 +1,5 @@ // #Conformance #Quotations -#light + // Sanity check raw quotations diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/SpecificCall_Instance.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/SpecificCall_Instance.fs index ee20fbed134..464574d5a9f 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/SpecificCall_Instance.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/SpecificCall_Instance.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #Quotations // Regression test for FSHARP1.0:5428 // Make sure SpecificCall pattern correctly returns Some for the instance obj of an instance call -#light + open Microsoft.FSharp.Quotations.DerivedPatterns diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/SpecificCall_Static.fs b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/SpecificCall_Static.fs index 1985d7c8498..15351718538 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/SpecificCall_Static.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/ExpressionQuotations/Regressions/SpecificCall_Static.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #Quotations // Regression test for FSHARP1.0:5428 // Make sure SpecificCall pattern returns None as the instance of SpecificCall -#light + open Microsoft.FSharp.Quotations.DerivedPatterns diff --git a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/E_GetSliceNotDef01.fs b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/E_GetSliceNotDef01.fs index 7a080ac6342..c2a12354ad7 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/E_GetSliceNotDef01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/E_GetSliceNotDef01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #SyntacticSugar -#light + // Verify error if GetSlice is not defined //The type 'DU' does not define the field, constructor or member 'GetSlice' diff --git a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/E_GetSliceNotDef02.fs b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/E_GetSliceNotDef02.fs index ce67de40860..a7f3fe47c97 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/E_GetSliceNotDef02.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/E_GetSliceNotDef02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #SyntacticSugar -#light + // Verify error using a 1D slice if only a 2D version added //The member or object constructor 'GetSlice' takes 4 argument\(s\) but is here given 2\. The required signature is 'member Foo\.GetSlice: lb1: 'a option \* ub1: 'a option \* lb2: 'a option \* ub2: 'a option -> unit' diff --git a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices01.fs b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices01.fs index e4b938b6a30..fc6b1459d62 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices01.fs @@ -1,5 +1,5 @@ // #Conformance #SyntacticSugar -#light + // Sanity check slices let letters = [| 'a' .. 'z' |] diff --git a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices02.fs b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices02.fs index 64f1269d577..ec2850939fc 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices02.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices02.fs @@ -1,5 +1,5 @@ // #Conformance #SyntacticSugar -#light + // Verify slices syntax on types with a get slice method diff --git a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices03.fs b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices03.fs index b015118a5b8..a7d6da5abfc 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices03.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices03.fs @@ -1,5 +1,5 @@ // #Conformance #SyntacticSugar #ReqNOMT -#light + // Verify 2D slices. Note that in F# you (currently?) cannot // declare square array literals, so we need to convert expected diff --git a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices04.fs b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices04.fs index 061912d8962..03771309419 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices04.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugar/Slices04.fs @@ -1,5 +1,5 @@ // #Conformance #SyntacticSugar -#light + // Verify slices syntax on types with get and set slice 2D methods diff --git a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugarAndAmbiguities/SyntacticSugar01.fs b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugarAndAmbiguities/SyntacticSugar01.fs index 3606eb02fe1..5c0f1e3f309 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugarAndAmbiguities/SyntacticSugar01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/SyntacticSugarAndAmbiguities/SyntacticSugar01.fs @@ -1,5 +1,5 @@ // #Conformance #SyntacticSugar -#light + // Verify e1.[e2] is just syntactic sugar for calling the 'item' property. diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation01.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation01.fsx index f4bcbb82461..e1f4a2002d0 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation01.fsx +++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation01.fsx @@ -7,7 +7,7 @@ // rigid type annotation used in the let-binding // // -#light + [] type Kg [] type m diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation02.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation02.fsx index f4b96cca3bc..37c15b9d189 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation02.fsx +++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation02.fsx @@ -7,7 +7,7 @@ // rigid type annotation used in the let-binding (function definition + function invocation) // // -#light + [] type Kg [] type m diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation_null01.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation_null01.fsx index 175f9c82e0d..e711cb296d5 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation_null01.fsx +++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/RigidTypeAnnotation_null01.fsx @@ -1,5 +1,5 @@ // #Conformance #TypeRelatedExpressions #TypeAnnotations -#light + // // Expressions // @@ -8,7 +8,7 @@ // // Misc test on 'null' // -#light + let a = null : string let b = [(null : _); box 1] diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_class01.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_class01.fsx index 83a7153666b..e0f9ac43f76 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_class01.fsx +++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_class01.fsx @@ -1,7 +1,7 @@ // #Conformance #TypeRelatedExpressions #TypeAnnotations // Upcast with 1-level class hierarchy // -#light + type K1() = class end diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_int_to_obj.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_int_to_obj.fsx index e86d044d685..160fee04b05 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_int_to_obj.fsx +++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_int_to_obj.fsx @@ -1,7 +1,7 @@ // #Conformance #TypeRelatedExpressions #TypeAnnotations // Upcast to object - int // -#light + let a = ( upcast 1 ) : obj let b = ( 1 :> _ ) : obj let c = 1 :> obj diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface01.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface01.fsx index e8189cdb727..b9385e8cba3 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface01.fsx +++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface01.fsx @@ -1,7 +1,7 @@ // #Conformance #TypeRelatedExpressions #TypeAnnotations // Upcast with 1-level class hierarchy - cast to interface // -#light + type I = interface abstract member M : int -> int diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface02.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface02.fsx index 2e896ef9c30..2cd0305af1d 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface02.fsx +++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_interface02.fsx @@ -2,7 +2,7 @@ // Upcast with 1-level class hierarchy - cast to interface // Interface is defined in the base class -> can still upcast to I // -#light + type I = interface abstract member M : int -> int diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_null_to_obj.fsx b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_null_to_obj.fsx index d65de19a9d2..b73d3445e43 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_null_to_obj.fsx +++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/StaticCoercion_null_to_obj.fsx @@ -1,7 +1,7 @@ // #Conformance #TypeRelatedExpressions #TypeAnnotations // Upcast to object - null // -#light + let a = ( upcast null ) : obj let b = ( null :> _ ) : obj let c = null :> obj diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/staticcoercion01.fs b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/staticcoercion01.fs index 73c3f24fff2..4ebb17f8435 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/staticcoercion01.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/staticcoercion01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeRelatedExpressions #TypeAnnotations -#light + (1 :> obj) ("Hello" :> obj) diff --git a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/staticcoercion01b.fs b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/staticcoercion01b.fs index ae2709d03ee..57c54348644 100644 --- a/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/staticcoercion01b.fs +++ b/tests/fsharpqa/Source/Conformance/Expressions/Type-relatedExpressions/staticcoercion01b.fs @@ -1,5 +1,5 @@ // #Conformance #TypeRelatedExpressions #TypeAnnotations -#light + [] type s diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/AbstractSlot01.fs b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/AbstractSlot01.fs index b2786541c55..c72d221b9da 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/AbstractSlot01.fs +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/AbstractSlot01.fs @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + // Check FSI signature files for abstract slots module AbstractSlot01 diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/AbstractSlot01.fsi b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/AbstractSlot01.fsi index 5f4545ad7b6..e646d4977e5 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/AbstractSlot01.fsi +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/AbstractSlot01.fsi @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + module AbstractSlot01 diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/E-SignatureAfterSource.fsi b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/E-SignatureAfterSource.fsi index f1562086b08..5b144029ad4 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/E-SignatureAfterSource.fsi +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/E-SignatureAfterSource.fsi @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + // Test the ability to declare anonymous signature files, that is FSI files without a // top-level module or namespace. (Defaults to name of the file, first letter capitalized, no extension.) diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/E_AnonSignatureFile.fs b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/E_AnonSignatureFile.fs index 55bb5a601cc..e3d1cce1d59 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/E_AnonSignatureFile.fs +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/E_AnonSignatureFile.fs @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + type TypeInAnonSigFile() = member this.Value = 10 diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/Interfaces01.fsi b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/Interfaces01.fsi index 7a0e0269077..a4389fa2cf2 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/Interfaces01.fsi +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/Interfaces01.fsi @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + module Interfaces01 [] diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/Properties01.fs b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/Properties01.fs index 8c47f562d58..fba8b449d5f 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/Properties01.fs +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/Properties01.fs @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + // Check FSI signature files for properties diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/PublicPrivateInternal01.fs b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/PublicPrivateInternal01.fs index c3e765ff36a..8c25ceced66 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/PublicPrivateInternal01.fs +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/PublicPrivateInternal01.fs @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + module Island diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/PublicPrivateInternal01.fsi b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/PublicPrivateInternal01.fsi index 85fad7fb7a4..a5fc035b591 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/PublicPrivateInternal01.fsi +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/PublicPrivateInternal01.fsi @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + // Test FSI checking for public, private, and internal 'stuff' diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties01.fsi b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties01.fsi index 833d328503c..b424aeec022 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties01.fsi +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties01.fsi @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + namespace Properties01 diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties02.fs b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties02.fs index 634a4b3b53e..759d9120680 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties02.fs +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties02.fs @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + // Check FSI signature files for properties diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties02.fsi b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties02.fsi index 9f8facf6f90..90ee071606b 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties02.fsi +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/properties02.fsi @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + namespace Properties01 type AbstractPropertiesTest = diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal02.fs b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal02.fs index 5a55a3daa72..b69445efd85 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal02.fs +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal02.fs @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + // Verify error if you FSI has methods listed as internal / private but implementation does not diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal02.fsi b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal02.fsi index 0438e873259..8ecf6534e1d 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal02.fsi +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal02.fsi @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + // Verify error if you FSI has methods listed as internal / private but implementation does not diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal03.fsi b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal03.fsi index 84b65fc49a7..df8a5547fac 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal03.fsi +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/CheckingOfImplementationFiles/publicprivateinternal03.fsi @@ -1,5 +1,5 @@ // #Regression #Conformance #SignatureFiles -#light + // Marked internal in FSI but marked private in FS //Module 'PublicPrivateInternal' contains diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/SignatureFiles/E_MissingSourceFile02.fsi b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/SignatureFiles/E_MissingSourceFile02.fsi index f40377ad5b1..3e1f8c1a515 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/SignatureFiles/E_MissingSourceFile02.fsi +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/SignatureFiles/E_MissingSourceFile02.fsi @@ -1,5 +1,5 @@ // #Regression #Conformance #SignatureFiles -#light + // Same as E-MissingSourceFile01.fsi, but only testing the deprecation message diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/ConstructorConstraint01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/ConstructorConstraint01.fs index 4d53e01f694..d1dd9af347e 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/ConstructorConstraint01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/ConstructorConstraint01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:4850 // Title: incorrectly unsatisfied default constructor constraints -#light + type I<'self> when 'self : (new : unit -> 'self) = interface abstract foo : int diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/DelegateConstraint01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/DelegateConstraint01.fs index 408eaf9c58e..3b60b195a45 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/DelegateConstraint01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/DelegateConstraint01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference #TypeConstraints -#light + // Sanity check delegate constraints diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_DelegateConstraint01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_DelegateConstraint01.fs index 9819501a470..27b8e131527 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_DelegateConstraint01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_DelegateConstraint01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeInference #TypeConstraints -#light + // Verify error message if delegate type doesn't have first parameter of type 'object'. // That is, the delegate constraint requires the first parameter be the 'sender' diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_EnumConstraint01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_EnumConstraint01.fs index 8092a5f723f..95b27eb867f 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_EnumConstraint01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_EnumConstraint01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeInference #TypeConstraints -#light + // Verify error message when an enum constraint fails. //The type 'int16' does not match the type 'int64' diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_TypeFuncDeclaredExplicit01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_TypeFuncDeclaredExplicit01.fs index 431bf3f8d61..a628a65e061 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_TypeFuncDeclaredExplicit01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_TypeFuncDeclaredExplicit01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeInference #TypeConstraints -#light + // Verify that type functions need to be declared explicitly //Value restriction diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_ValueRestriction01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_ValueRestriction01.fs index cf485b37d8c..4dd7e25e290 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_ValueRestriction01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/E_ValueRestriction01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeInference #TypeConstraints -#light + // Verify error associated with open type variable diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/EnumConstraint01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/EnumConstraint01.fs index 8123dd23f3d..1e3f43a4053 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/EnumConstraint01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/EnumConstraint01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference #TypeConstraints -#light + // Verify happy case with an enum constraint diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/ValueRestriction01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/ValueRestriction01.fs index 2b8e23beacc..106a8452436 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/ValueRestriction01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ConstraintSolving/ValueRestriction01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference #TypeConstraints -#light + // Verify ability to have unknown open variables if // they are internal. diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/DispatchSlotChecking/InferSlotType01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/DispatchSlotChecking/InferSlotType01.fs index 72fd17cb2a1..8433debdb57 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/DispatchSlotChecking/InferSlotType01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/DispatchSlotChecking/InferSlotType01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference -#light + // Leave parameters generic, verify ability to infer which dispatch slot member corresponds to diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/FunctionApplicationResolution/InferGenericArgAsTuple01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/FunctionApplicationResolution/InferGenericArgAsTuple01.fs index c44256bb2f1..b15e01149cf 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/FunctionApplicationResolution/InferGenericArgAsTuple01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/FunctionApplicationResolution/InferGenericArgAsTuple01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference #ApplicationExpressions -#light + // Verify we can infer generic type args to be a tuple without adding // additional parens. diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/FunctionApplicationResolution/InferGenericArgAsTuple02.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/FunctionApplicationResolution/InferGenericArgAsTuple02.fs index 264c92fb225..0e581d60ff8 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/FunctionApplicationResolution/InferGenericArgAsTuple02.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/FunctionApplicationResolution/InferGenericArgAsTuple02.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference #ApplicationExpressions #ReqNOMT -#light + // Infer multiple parameters as a tuple when expecting a single generic arg diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/Generalization/GenGroup01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/Generalization/GenGroup01.fs index 742b75c4676..ebd0426f2b6 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/Generalization/GenGroup01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/Generalization/GenGroup01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference -#light + // Verify you generalization applies to groups of methods at once // (Let bindings) diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/MethodApplicationResolution/UnitVsNoArgs.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/MethodApplicationResolution/UnitVsNoArgs.fs index edb1273f943..41c209ce2a9 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/MethodApplicationResolution/UnitVsNoArgs.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/MethodApplicationResolution/UnitVsNoArgs.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference -#light + // Verify the difference between 'unit' and 'no args' diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/E_library_with_namespaces01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/E_library_with_namespaces01.fs index 8cc2aad2233..057d62574ac 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/E_library_with_namespaces01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/E_library_with_namespaces01.fs @@ -2,7 +2,7 @@ // The Expects here is an artifact to make our automation happy. // It actually refers to E_Module02.fs //The type 'C2' is not defined -#light + namespace XX.YY.ZZ type T3 = decimal [] diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/E_module02.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/E_module02.fs index 5e7de258ec2..cbb3eb20fb6 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/E_module02.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/E_module02.fs @@ -3,7 +3,7 @@ // Auto-open of my own namespace // Case: parent namespace is not visible //The type 'C2' is not defined -#light + module XX.YY.ZZ.MM type t = | AAA of C3 diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/Module01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/Module01.fs index 12c23cbc272..23ce2e79060 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/Module01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/Module01.fs @@ -3,7 +3,7 @@ // Auto-open of my own namespace // Case: no need to explicitly open XX.YY.ZZ // -#light + module XX.YY.ZZ.MM // no need to explicitly open XX.YY.ZZ diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/library_with_namespaces01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/library_with_namespaces01.fs index f472b26dcf7..c4b72deb54e 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/library_with_namespaces01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/library_with_namespaces01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference #Attributes #ReqNOMT -#light + namespace XX.YY.ZZ type T3 = decimal [] diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/namespace01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/namespace01.fs index 244acfaf15a..1f0997bbb72 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/namespace01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/namespace01.fs @@ -3,7 +3,7 @@ // Auto-open of my own namespace // Case: namespace // -#light + namespace XX.YY.ZZ type t = G3 // t is a type abbreviation for XX.YY.ZZ.G3<'a> diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/redundant_open01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/redundant_open01.fs index 74831bac177..93181cd797d 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/redundant_open01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/redundant_open01.fs @@ -3,7 +3,7 @@ // Auto-open of my own namespace // Case: redundant open // -#light + module XX.YY.ZZ.MM open XX.YY.ZZ // redundant, but ok! diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/type_abbreviation01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/type_abbreviation01.fs index 7ea85b1beba..a8ffff49c41 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/type_abbreviation01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/AutoOpen/type_abbreviation01.fs @@ -3,7 +3,7 @@ // Auto-open of my own namespace // Case: type abbreviation // -#light + module XX.YY.ZZ.MM type t = C3 // t is a type abbreviation for XX.YY.ZZ.MM diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/Misc/NoPartiallyQualifiedPathWarning01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/Misc/NoPartiallyQualifiedPathWarning01.fs index c06e0ec1d03..4b317281041 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/Misc/NoPartiallyQualifiedPathWarning01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/Misc/NoPartiallyQualifiedPathWarning01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3274 // This file is going to be loaded by fsi.exe // in the actual testcase. -#light + namespace S.M diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/Misc/recordlabels.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/Misc/recordlabels.fs index 3c97f698814..02664f190cb 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/Misc/recordlabels.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/NameResolution/Misc/recordlabels.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeInference -#light + // bug 3246 diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ResolvingApplicationExpressions/ComplexExpression01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ResolvingApplicationExpressions/ComplexExpression01.fs index f3256e245ad..3542290f293 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/ResolvingApplicationExpressions/ComplexExpression01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/ResolvingApplicationExpressions/ComplexExpression01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeInference #ApplicationExpressions -#light + // Verify you can pipe a complex expression through the F# compiler diff --git a/tests/fsharpqa/Source/Conformance/InferenceProcedures/WellFormednessChecking/E_Clashing_Record_Field_and_Member01.fs b/tests/fsharpqa/Source/Conformance/InferenceProcedures/WellFormednessChecking/E_Clashing_Record_Field_and_Member01.fs index aebb8b4df27..627fa86c158 100644 --- a/tests/fsharpqa/Source/Conformance/InferenceProcedures/WellFormednessChecking/E_Clashing_Record_Field_and_Member01.fs +++ b/tests/fsharpqa/Source/Conformance/InferenceProcedures/WellFormednessChecking/E_Clashing_Record_Field_and_Member01.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #TypeInference // Regression tests for FSHARP1.0:1348 //The member 'Name' cannot be defined because the name 'Name' clashes with the field 'Name' in this type or module -#light + type Repro = { Name:decimal } member r.Name : decimal = r.Name diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/DontEscapeCommentFromString01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/DontEscapeCommentFromString01.fs index aea07c85fcf..93b819d7551 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/DontEscapeCommentFromString01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/DontEscapeCommentFromString01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Verify that '*)' doesn't end a comment if within a string literal diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_IncompleteComment01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_IncompleteComment01.fs index 5fe29812b9b..a1f400e9973 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_IncompleteComment01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_IncompleteComment01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + //Incomplete structured construct at or before this point in binding //End of file in comment begun at or before here diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_IncompleteComment02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_IncompleteComment02.fs index 839f14c0638..d5f19df9418 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_IncompleteComment02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/E_IncompleteComment02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + //End of file in comment begun at or before here diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/XmlDocComments01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/XmlDocComments01.fs index b7ac7e1cfa2..c8fc91c7bf9 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/XmlDocComments01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/XmlDocComments01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Verify no syntax errors or problems when using XML doc comments diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString001.fs index 00265542dd4..1b9730dd6dc 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString001.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString001.fs @@ -3,7 +3,7 @@ // \s is not an escaped char, so it's the same as \\s // -#light + (* Remove the "\s" which is mandatory in OCaml regex. *) exit 0 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString002.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString002.fs index d5250ec549d..e0746ab2522 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString002.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString002.fs @@ -3,7 +3,7 @@ // block-comment-end token // -#light + (* Remove the "*)" which is mandatory in OCaml regex. *) exit 0 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString003.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString003.fs index 4931f43463c..c3ef58c92eb 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString003.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString003.fs @@ -2,7 +2,7 @@ // string embedded in a comment: legitimate escape sequence // -#light + (* Remove the "\\ " which is mandatory in OCaml regex. *) exit 0 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString004.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString004.fs index 88dc701d70e..404835b7308 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString004.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/embeddedString004.fs @@ -3,7 +3,7 @@ // A backslash in in the string // -#light + (* Remove the "\\" which is mandatory in OCaml regex. *) exit 0 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments001.fs index 622e431eeb2..7d25c1f2a90 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments001.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments001.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:945 // comment lexing does not handle \" inside quoted strings // -#light + (* simple escape chars (escape-char in the grammar) *) diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments002.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments002.fs index 4553f23c2b6..a372e1f8724 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments002.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/escapeCharsInComments002.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:946 // comment lexing does not handle "" and \ inside @" strings // -#light + (* @"\" *) (** @"\\" *) diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle001.fs index 91f98df0bf4..5c7d06c167a 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle001.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle001.fs @@ -3,7 +3,7 @@ // Verify that (**) does not leave the lexer in a comment state // -#light + let x (**) = (**) 1 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle002.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle002.fs index 25a89a88d10..e5766769036 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle002.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle002.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + open System.Text.RegularExpressions diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested001.fs index 61a6c1ffc15..1d45b47c4e0 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested001.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested001.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Regression test for FSHARP1.0:1561 // Verify that (**) does not leave the lexer in a comment state // diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested002.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested002.fs index 669873e81a9..75df7b12158 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested002.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested002.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Regression test for FSHARP1.0:1561 // Verify that (**) does not leave the lexer in a comment state // diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested003.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested003.fs index caa6e1fcdf3..2eb08d95b87 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested003.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested003.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Regression test for FSHARP1.0:1561 // Verify that (**) does not leave the lexer in a comment state // diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested004.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested004.fs index 68ece1a9eb6..2ccd1653950 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested004.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested004.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Regression test for FSHARP1.0:1561 // Verify that (**) does not leave the lexer in a comment state // diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested005.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested005.fs index 1aaa55e3330..a51d31937cd 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested005.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Comments/ocamlstyle_nested005.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Regression test for FSHARP1.0:1561 // Verify that (**) does not leave the lexer in a comment state // diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/ConditionalCompilation01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/ConditionalCompilation01.fs index ea5c412dea2..b88679f92d8 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/ConditionalCompilation01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/ConditionalCompilation01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Test conditional compilation flags. // To run this test please define "THIS_IS_DEFINED" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_MustBeIdent02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_MustBeIdent02.fs index 09dee4fbf57..3005aec26e6 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_MustBeIdent02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_MustBeIdent02.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:1419 //The type 'if_' is not defined. //The type 'endif_' is not defined. -#light + let t8 (x : #if_) = () let t7 (x : #endif_) = () diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedEndif01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedEndif01.fs index 4bbc76b98e6..fc88a89d136 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedEndif01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedEndif01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis // Regression test for FSHARP1.0:2261 //#endif has no matching #if in implementation file -#light + #endif diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedIf01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedIf01.fs index 8a65623ff45..1af988f58f3 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedIf01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedIf01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis // Regression test for FSHARP1.0:2261 //#if directive should be immediately followed by an identifier -#light + #if diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedIf02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedIf02.fs index 254d8350988..8abbddc423d 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedIf02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/E_UnmatchedIf02.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #LexicalAnalysis // Regression test for FSHARP1.0:2261 //End of file in #if section begun at or after here -#light + #if SOME_FLAG let x = 1 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/FSharp01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/FSharp01.fs index 0ac244d7023..b7de54872e7 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/FSharp01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/FSharp01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + (*IF-FSHARP diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/FSharp02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/FSharp02.fs index ac29ca72b27..f1ea6b2a941 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/FSharp02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/FSharp02.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + (*F# diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InComment01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InComment01.fs index 9ff6c53b023..c7260e16d30 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InComment01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InComment01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + let x = #if NOTDEFINED diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral01.fs index 185ed1189d7..a5eeb1bd312 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // test1 -------------------------------------- let test1 = " diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral02.fs index beadbfdf42e..c90decfc04b 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral02.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // test1 -------------------------------------- let test1 = diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral03.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral03.fs index 804e94ba623..01034fc7b1c 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral03.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/InStringLiteral03.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // test1 -------------------------------------- let test1 = diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/Nested01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/Nested01.fs index c031aae273b..5c80700c599 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/Nested01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/Nested01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Verify nested conditional compilation flags diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/Nested02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/Nested02.fs index 94d38abc6cf..efbf1e4ac3b 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/Nested02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/Nested02.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Verify nested conditional compilation flags diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/OCaml01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/OCaml01.fs index 0d4018e646a..0b41344ce8d 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/OCaml01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/ConditionalCompilation/OCaml01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + let x = 0 (*IF-OCAML*) + 1 (*ENDIF-OCAML*) diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifierReplacements/Line01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifierReplacements/Line01.fs index c700534f2ca..f9a4ba23f41 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifierReplacements/Line01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifierReplacements/Line01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light // 2 + // 2 // 3 // Test __LINE__ directive // 4 if __LINE__ <> "5" then exit 1 // 5 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifierReplacements/Line02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifierReplacements/Line02.fs index 69c17ae6773..5b956abd561 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifierReplacements/Line02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifierReplacements/Line02.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light // 2 + // 2 // 3 // Test ability for a function to 'return' the current source line directive. // 4 // 5 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_InvalidIdentifier01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_InvalidIdentifier01.fs index 59debddb561..5655e325e97 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_InvalidIdentifier01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_InvalidIdentifier01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Test invalid identifiers //This is not a valid numeric literal. Valid numeric literals include diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_KeywordIdent01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_KeywordIdent01.fs index 5aeec2e163f..52d76fe1158 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_KeywordIdent01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_KeywordIdent01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + //Unexpected keyword 'type' in binding //Unexpected keyword 'class' in binding. Expected '=' or other token. diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_MissingQualification.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_MissingQualification.fs index f8597aa4d0c..5f26f244f6c 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_MissingQualification.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_MissingQualification.fs @@ -2,7 +2,7 @@ // Regression test for FSharp1.0:3420 - parsing glitch allows trailing "." in file //Missing qualification after '\.' -#light + let x = 1 x. diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_NameCollision01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_NameCollision01.fs index 9d2362896f7..c7800b0c5e7 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_NameCollision01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_NameCollision01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Verify error when names collide. Typically you just outscope the // other value, but when the generated names collide we emit an error. diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_QuotedTypeModuleNames01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_QuotedTypeModuleNames01.fs index c6fcb0a91ae..8bf297ed7d3 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_QuotedTypeModuleNames01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_QuotedTypeModuleNames01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Regression test for FSharp1.0:4854 // Title: Unable to introduce types with certain invalid symbols, like '[' or '+' diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_ValidIdentifier04.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_ValidIdentifier04.fs index 1dc5d25e565..db6ca878fb3 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_ValidIdentifier04.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/E_ValidIdentifier04.fs @@ -3,7 +3,7 @@ //Unexpected character '.+' in pattern. Expected '\)' or other token //Unmatched '\(' //Unexpected character '.+' in expression -#light + let (++) x = x + 1 if (++) 4 <> 5 then exit 1 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/ValidIdentifier01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/ValidIdentifier01.fs index cc3c89eceba..3bae6791603 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/ValidIdentifier01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/ValidIdentifier01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Test strange but valid identifiers diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/ValidIdentifier02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/ValidIdentifier02.fs index a81c1a94ade..f8630cecc7e 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/ValidIdentifier02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/ValidIdentifier02.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Test more valid identifiers diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/W_ReservedWord01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/W_ReservedWord01.fs index 070cfca18ff..f5c7838f6d3 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/W_ReservedWord01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/IdentifiersAndKeywords/W_ReservedWord01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Verify warning when using a reserved identifier diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/E_MaxLiterals02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/E_MaxLiterals02.fs index 781f597a3f6..77b065ce9dc 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/E_MaxLiterals02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/E_MaxLiterals02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis #Constants -#light + // Verify compile error for unsigned literals which are MaxSize + 1, MaxSize - 1 // All of these should cause compiler errors diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals008.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals008.fs index 0f59aad7cad..ae2b7768b0e 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals008.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/E_enumNegativeLiterals008.fs @@ -4,5 +4,5 @@ // Negative literal with space //Literal enumerations must have type int, uint, int16, uint16, int64, uint64, byte, sbyte or char -#light + type EnumNativeInt = | A1 = -10n // enum on this type are not supported, -ve or +ve diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/MaxLiterals01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/MaxLiterals01.fs index f9fee0ac24a..6a754f41871 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/MaxLiterals01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/MaxLiterals01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Constants -#light + // Verify ability to specify min and max for literals diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/NumericLiterals01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/NumericLiterals01.fs index 380c73acffd..d70c1d192a1 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/NumericLiterals01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/NumericLiterals01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis #Constants -#light + // Verify numeric literals work as expected diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingBin.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingBin.fs index dc99a509748..9ee5dfcbb90 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingBin.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingBin.fs @@ -2,7 +2,7 @@ // Number type specifier are not case-sensitive // Bin // -#light + let x1 = 0B1 let y1 = 0b1 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingHex.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingHex.fs index ee4975b1b8e..4e58c1dece7 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingHex.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingHex.fs @@ -2,7 +2,7 @@ // Number type specifier are not case-sensitive // Float // -#light + let x = 0x5 let y = 0X5 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF01.fs index cca6380eb77..cf4c60e25d2 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF01.fs @@ -2,7 +2,7 @@ // Number type specifier LF/lf are case-sensitive // IEEE32/IEEE64 - lf vs LF // -#light + let x = 0x5lf let y = 0x5LF diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF02.fs index 01ee16c9603..7bc601141f1 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingIEEE-lf-LF02.fs @@ -3,7 +3,7 @@ // IEEE32/IEEE64 - lf vs LF // verify that xint can be specified either with '0x' or '0X' // -#light + let x = 0X5LF let y = 0X5lf diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingOct.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingOct.fs index b7f6667f94c..a2041ef2e58 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingOct.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/casingOct.fs @@ -2,7 +2,7 @@ // Number type specifier are not case-sensitive // Oct // -#light + let x = 0o7 let y = 0O6 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/enumNegativeLiterals001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/enumNegativeLiterals001.fs index 5306a4073ad..08b90df2356 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/enumNegativeLiterals001.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/NumericLiterals/enumNegativeLiterals001.fs @@ -3,7 +3,7 @@ // Enum type definitions do not support negative literals // Negative literal with no space // See FSHARP1.0:3714 -#light + type EnumInt8 = | A1 = -10y type EnumInt16 = | A1 = -10s diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs index 251673d2e07..ef829012d5a 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/Shift/Generics/RightShift001.fs @@ -4,7 +4,7 @@ // No spaces between >> and . // -#light + type ID<'T> = static member id (x:'T) = x diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/Backslash01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/Backslash01.fs index 82151bb63ac..47121343154 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/Backslash01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/Backslash01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Test the backslash functionality when defining strings (continues on next line) diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/Backslash02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/Backslash02.fs index 64c54482e26..45968d9d290 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/Backslash02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/Backslash02.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Verify the backslash in string literals chomps all whitespace diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteChars01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteChars01.fs index ad252e1ac0f..8a19615437e 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteChars01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteChars01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Verify byte chars return the expected value diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteChars02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteChars02.fs index 1e1e7f99b029869cd3b5db10aee42c7017456fc3..bd72599fa2e8e851c72d54b6b1dcbf55a48c6d68 100644 GIT binary patch delta 10 Rcmcb`bdG6)$HovgMgSMH1Cam# delta 22 dcmX@dbc<<%2e&dq4nrnGIzt9S$wqf}MgU7G1c diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString01.fs index b07ea595fb8..eb14e4c2cb7 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Test the ability to specify byte strings let test = "ABC"B diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString02.fs index cc02c64f560..af1e966ff6c 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString02.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Test ability to specify byte strings // Multi line using backslash diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString03.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString03.fs index e44b2c3ac63..f42964af065 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString03.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/ByteString03.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Test ability to create byte strings // literal strings diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals01.fs index 9b50a3f3c66..5512d8ab49e 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Define trigraph character literals diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals02.fs index e339f7dc40a..c6a74a965fc 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals02.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Character escape sequences diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals03.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals03.fs index f62fa481827..235b9d71ef1 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals03.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/CharLiterals03.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Test two-byte Unicode Character literals let spade, club, heart, diamond = '\u2660', '\u2663', '\u2665', '\u2666' diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_BogusLongUnicodeEscape.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_BogusLongUnicodeEscape.fs index e2e49154ba6..eeeafda03c6 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_BogusLongUnicodeEscape.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_BogusLongUnicodeEscape.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Verify error with malformed long unicode escape sequences diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_ByteCharUnicodeChar01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_ByteCharUnicodeChar01.fs index b07fdbb2586..7a255c2306b 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_ByteCharUnicodeChar01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_ByteCharUnicodeChar01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Verify error when trying to take the byte value of // a unicode character literal. diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_ByteStrUnicodeChar01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_ByteStrUnicodeChar01.fs index 5ef49323688..979c997fb0a 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_ByteStrUnicodeChar01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_ByteStrUnicodeChar01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Verify error when trying to take the byte string of // a string literal with unicode characters diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_MalformedShortUnicode01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_MalformedShortUnicode01.fs index 1341b1d13c9..af0565f7fde 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_MalformedShortUnicode01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/E_MalformedShortUnicode01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis -#light + // Verify error with malformed short unicode character diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/EscapeSequences01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/EscapeSequences01.fs index e938cdd2235..18e208d1608 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/EscapeSequences01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/EscapeSequences01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Verify String Escape sequences diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/EscapeSequences02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/EscapeSequences02.fs index 82bc7819b6a..1cddef1d2f5 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/EscapeSequences02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/EscapeSequences02.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Verify behavior of invalid escape sequences diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/UnicodeString03.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/UnicodeString03.fs index 878eb85caa4..a444372550c 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/UnicodeString03.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/UnicodeString03.fs @@ -3,7 +3,7 @@ // Unicodegraph-long not in parity with C# // -#light + let some_unicode_char = '\u00D6' let another_unicode_char = '\U000007FF' exit 0 diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/VerbatimString01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/VerbatimString01.fs index 413adf4e244..fddf17a8991 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/VerbatimString01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/StringsAndCharacters/VerbatimString01.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis -#light + // Test verbatim strings diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs index 12a6671e882..4f05653288b 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly01.fs @@ -3,6 +3,6 @@ // closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token). // -#light + type a1 = { x:list } diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs index 5af95e05e46..fc73641321f 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly02.fs @@ -3,6 +3,6 @@ // closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token). // -#light + type a2 = {x:list} diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs index ed3f5860e8a..12e4d4e77ac 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly03.fs @@ -3,6 +3,6 @@ // closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token). // -#light + type a3 = {x:list>} diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs index 0065830c2a9..1590945bbdb 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly04.fs @@ -3,7 +3,7 @@ // closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token). // -#light + [] type Kg type Y = {mass_at_rest:float} diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs index 6aff7f10196..f94f5ec93fc 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedCurly05.fs @@ -3,7 +3,7 @@ // closing brace following generic type bracket is syntax error without whitespace (lexed into symbolic token). // -#light + type A<'t> = interface end diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs index 7f23ee0d1e3..a7871f3cf29 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedParenthesis01.fs @@ -3,7 +3,7 @@ // closing square bracket following closing generic type angle bracket is syntax error without whitespace // -#light + let id x = x diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs index 76e31e183ca..755128d1c60 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicKeywords/GreaterThanClosedSquare02.fs @@ -3,7 +3,7 @@ // closing square bracket following closing generic type angle bracket is syntax error without whitespace // -#light + let id x = x let r6a = [id ] diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/E_QMarkGeneric.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/E_QMarkGeneric.fs index 7515b30124c..4c32b8be07e 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/E_QMarkGeneric.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/E_QMarkGeneric.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexicalAnalysis #Operators -#light + //Unexpected type arguments diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs index e90463c36ca..66db991943b 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/GreaterThanColon001.fs @@ -3,7 +3,7 @@ // Space should not be required between : and > // -#light + type Ix = interface abstract A<'t> : 't->'t // space between > and : diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkArguments.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkArguments.fs index ed255a6c78d..6507e1a5db7 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkArguments.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkArguments.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let mutable m : string = "" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkAssignSimple.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkAssignSimple.fs index 8536bf6c2cf..89addc07864 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkAssignSimple.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkAssignSimple.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let mutable result : string = "" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkExpressionAsArgument.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkExpressionAsArgument.fs index 8b9069d86cf..b3d2580336e 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkExpressionAsArgument.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkExpressionAsArgument.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let mutable m : string = "" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkExpressionAsArgument2.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkExpressionAsArgument2.fs index 090647f7007..68783dc0529 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkExpressionAsArgument2.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkExpressionAsArgument2.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let mutable m : string = "" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkNested.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkNested.fs index 94478e20250..bc5c9137a62 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkNested.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkNested.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let mutable members : string = "" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceArray.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceArray.fs index 46ac55a279e..48b94d16850 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceArray.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceArray.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let mutable m : string = "" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceCurrying.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceCurrying.fs index e55e7d4c7aa..9862d94c867 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceCurrying.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceCurrying.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let mutable m : string = "" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceInArrays.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceInArrays.fs index b4dada96f67..53eba307336 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceInArrays.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceInArrays.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let (?) (o:obj) (s:string) : System.String = s diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceMethodCall.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceMethodCall.fs index 716812f4898..9e086a37fbd 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceMethodCall.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceMethodCall.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let mutable m : string = "" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceMethodCallSpace.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceMethodCallSpace.fs index b116844c2af..8bdfbff6eed 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceMethodCallSpace.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceMethodCallSpace.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let mutable m : string = "" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceSpace.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceSpace.fs index 45828d4f8ef..9c8d457ae0d 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceSpace.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkPrecedenceSpace.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let mutable m : string = "" diff --git a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkSimple.fs b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkSimple.fs index b300dbc673f..fcc70e46fb1 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkSimple.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalAnalysis/SymbolicOperators/QMarkSimple.fs @@ -1,5 +1,5 @@ // #Conformance #LexicalAnalysis #Operators -#light + let (?) (o : obj) (s : string) : string = let ty = o.GetType() diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/Basic/ByExample/BasicCheck01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/Basic/ByExample/BasicCheck01.fs index 2a40348fc5f..da48a677e06 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/Basic/ByExample/BasicCheck01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/Basic/ByExample/BasicCheck01.fs @@ -1,5 +1,5 @@ // #Conformance #LexFilter -#light + // Sanity check #light functionality diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/MissingEndToken01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/MissingEndToken01.fs index 0ef7f7977ea..cc1e2ca1335 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/MissingEndToken01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/MissingEndToken01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexFilter -#light + // FSB 1431, 'end' token ambiguity for interface/class: Incorrect and unactionable error messages when defining class which just implements an interface diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/OffsideAccessibility01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/OffsideAccessibility01.fs index f4d00eb1e98..a068bded6f6 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/OffsideAccessibility01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/OffsideAccessibility01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexFilter -#light + // FSB 2150, Offside rule for #light code should set offside to left of accessibility modifier if present diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fs deleted file mode 100644 index d2c6b7da964..00000000000 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fs +++ /dev/null @@ -1,13 +0,0 @@ -// #Regression #Conformance #LexFilter -#indent "off" -// Regression test for FSHARP1.0:1078 -// The opposite of #light is (for now) #indent "off" -//This value is not a function and cannot be applied - -let SimpleSample() = - let x = 10 + 12 - 3 in - let y = x * 2 + 1 in - let r1,r2 = x/3, x%3 in - (x,y,r1,r2) - -exit 0 diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsi b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsi deleted file mode 100644 index a37b71dc6c5..00000000000 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsi +++ /dev/null @@ -1,7 +0,0 @@ -// #Regression #Conformance #LexFilter -#indent "off" -// Regression test for FSHARP1.0:1078 -// The opposite of #light is (for now) #indent "off" -//The signature file 'Indent_off_01' does not have a corresponding implementation file\. If an implementation file exists then check the 'module' and 'namespace' declarations in the signature and implementation files match - -type R diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsscript b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsscript deleted file mode 100644 index 059332d9484..00000000000 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsscript +++ /dev/null @@ -1,11 +0,0 @@ -// #Regression #Conformance #LexFilter -#indent "off" -// Regression test for FSHARP1.0:1078 -// The opposite of #light is (for now) #indent "off" -//Main module of program is empty - -let SimpleSample() = - let x = 10 + 12 - 3 in - let y = x * 2 + 1 in - let r1,r2 = x/3, x%3 in - (x,y,r1,r2) diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsx b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsx deleted file mode 100644 index 794b7288ab2..00000000000 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_01.fsx +++ /dev/null @@ -1,11 +0,0 @@ -// #Regression #Conformance #LexFilter -#indent "off" -// Regression test for FSHARP1.0:1078 -// The opposite of #light is (for now) #indent "off" -//Main module of program is empty - -let SimpleSample() = - let x = 10 + 12 - 3 in - let y = x * 2 + 1 in - let r1,r2 = x/3, x%3 in - (x,y,r1,r2) diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_after_comment01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_after_comment01.fs deleted file mode 100644 index bcfe12fdd79..00000000000 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/indent_off_after_comment01.fs +++ /dev/null @@ -1,11 +0,0 @@ -// #Regression #Conformance #LexFilter -// Regression test for FSHARP1.0:1078 -// The opposite of #light is (for now) #indent "off" -// -#indent "off" -module M -let SimpleSample() = - let x = 10 + 12 - 3 in - let y = x * 2 + 1 in - let r1,r2 = x/3, x%3 in - (x,y,r1,r2) diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/light_off_01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/light_off_01.fs deleted file mode 100644 index 2c75e5f8ec9..00000000000 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/light_off_01.fs +++ /dev/null @@ -1,6 +0,0 @@ -// #Regression #Conformance #LexFilter -// Regression test for FSHARP1.0:1078 -// The #light is (for now) #indent "off" -// -#light "off" -exit 0;; diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/BasicCheck01.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/BasicCheck01.fs index 7c741a7b28a..19718113329 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/BasicCheck01.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/BasicCheck01.fs @@ -1,5 +1,5 @@ // #Conformance #LexFilter #Precedence -#light + // Verify high precedence applications. That is, if no space is between the function // and its first method, then verify a different precedence. diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/BasicCheck02.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/BasicCheck02.fs index 530346bb5e4..4eec1b7d06b 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/BasicCheck02.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/BasicCheck02.fs @@ -1,5 +1,5 @@ // #Conformance #LexFilter #Precedence -#light + let mutable z=0;; // #light must not touch these. (non-#light will) let mutable y=0;; diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fsx b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fsx index 8f6b8df6b37..e7a306f26f2 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fsx +++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HighPrecedenceApplication/RangeOperator01.fsx @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:4161 - Error when trying to lex/parse a range involving biggest negative number // -#light + {-128y..1y};; {-128y.. 1y};; diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/AsDeclarations/SanityCheck01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/AsDeclarations/SanityCheck01.fs index 67ee7881c8f..ebd74c095aa 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/AsDeclarations/SanityCheck01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/AsDeclarations/SanityCheck01.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Classes -#light + // Verify the use of 'as' in classes with implicit constructors to // access the 'this' pointer diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/AsDeclarations/SanityCheck02.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/AsDeclarations/SanityCheck02.fs index c5eb12289d8..a356d7b1148 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/AsDeclarations/SanityCheck02.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/AsDeclarations/SanityCheck02.fs @@ -1,6 +1,6 @@ // #Regression #Conformance #ObjectOrientedTypes #Classes -#light + // Verify error when using 'as' to get a thisPointer when you don't have an // implicit constructor. diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ExplicitObjectConstructors/new_while_01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ExplicitObjectConstructors/new_while_01.fs index f9ac5061b21..c8a601f0124 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ExplicitObjectConstructors/new_while_01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/ExplicitObjectConstructors/new_while_01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3217 // Use misc constructs in explicit object constructor // construct: while ... do ... done -#light + type T = new () = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/BaseValue01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/BaseValue01.fs index f7eb3a9ecd0..482c29362de 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/BaseValue01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/BaseValue01.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Classes #Inheritance -#light + // Verify that the 'base' keyword refers to base type diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/E_InheritFromGenericType01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/E_InheritFromGenericType01.fs index 8d11b128e98..074799da8c3 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/E_InheritFromGenericType01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/E_InheritFromGenericType01.fs @@ -3,7 +3,7 @@ // Make sure we do not ICE when trying to // inherit from a type variable. //Cannot inherit from a variable type -#light + type X<'a>() = class inherit 'a() diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/E_InheritInterface01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/E_InheritInterface01.fs index 24f71dd771a..a7917a8798c 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/E_InheritInterface01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/E_InheritInterface01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Classes #Inheritance -#light + // Verify error when trying to inherit from interface type. diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/InheritFromAbstractClass.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/InheritFromAbstractClass.fs index 5193bdba68e..bcdf429d115 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/InheritFromAbstractClass.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/InheritsDeclarations/InheritFromAbstractClass.fs @@ -3,7 +3,7 @@ // Impossible to subclass certain C# classes // -#light + type Bottom() = inherit Mid() override x.PubF() = () diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/MemberDeclarations/E_PropertyInvalidGetter01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/MemberDeclarations/E_PropertyInvalidGetter01.fs index 66faa2c880e..89c8bf6f0ef 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/MemberDeclarations/E_PropertyInvalidGetter01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/MemberDeclarations/E_PropertyInvalidGetter01.fs @@ -4,7 +4,7 @@ // Regression test for FSHARP1.0:5375 //A getter property is expected to be a function, e\.g\. 'get\(\) = \.\.\.' or 'get\(index\) = \.\.\.' -#light + type action() = let mutable m_addToExisting = false diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/MemberDeclarations/E_PropertyInvalidGetter02.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/MemberDeclarations/E_PropertyInvalidGetter02.fs index 9bd0922b75a..54eb857814a 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/MemberDeclarations/E_PropertyInvalidGetter02.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/MemberDeclarations/E_PropertyInvalidGetter02.fs @@ -4,7 +4,7 @@ //'get' and/or 'set' required //'get' and/or 'set' required -#light + type A() = member this.Item with get (x: int, y: int) = 6 diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/AbstractClassAttribute01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/AbstractClassAttribute01.fs index 8e12b7a5cda..878ab56f6ab 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/AbstractClassAttribute01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/AbstractClassAttribute01.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Classes -#light + // Verify that the AbstractClass attribute works as expected. diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/AbstractClassAttribute02.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/AbstractClassAttribute02.fs index eeea4ff69cc..de4d33fdb8b 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/AbstractClassAttribute02.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/AbstractClassAttribute02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Classes -#light + // Verify error associated with putting the AbstractClass attribute o // on non-class types. diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_AbstractClassAttribute01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_AbstractClassAttribute01.fs index d6b9da24883..2262ddf86cc 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_AbstractClassAttribute01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_AbstractClassAttribute01.fs @@ -2,7 +2,7 @@ // Regression test for FSharp1.0:2272 - new 'a() should not be allowed on types with AbstractClassAttribute //A generic construct requires that the type 'A' be non-abstract -#light + [] type A() = class diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_RestrictedSuperTypes.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_RestrictedSuperTypes.fs index c973c282410..98e8be57e11 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_RestrictedSuperTypes.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_RestrictedSuperTypes.fs @@ -16,7 +16,7 @@ //The types System\.ValueType, System\.Enum, System\.Delegate, System\.MulticastDelegate and System\.Array cannot be used as super types in an object expression or class //The types System\.ValueType, System\.Enum, System\.Delegate, System\.MulticastDelegate and System\.Array cannot be used as super types in an object expression or class -#light + let o1 = { new System.ValueType with member x.ToString() = "" } let o2 = { new System.Array with member x.ToString() = "" } let o3 = { new System.Enum with member x.ToString() = "" } diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_SealedClass01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_SealedClass01.fs index e5f27d05622..19001d5f6b8 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_SealedClass01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/E_SealedClass01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Classes -#light + // FSB 1502, Implement a "sealed" attribute //Cannot inherit a sealed type diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/GenericClass01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/GenericClass01.fs index 97c9bdf1550..dd532ea1f9d 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/GenericClass01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/Misc/GenericClass01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Classes -#light + // FS1 1326: Generic unit types do not work with the implicit class syntax diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/LexicalScoping01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/LexicalScoping01.fs index 0ca40dc39c3..c1adf2e5b73 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/LexicalScoping01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/LexicalScoping01.fs @@ -2,7 +2,7 @@ // Scoping: // identifier introduced by let is local // -#light + type C() = class static let mutable m = [1;2;3] static let n = [1;2] diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/Offside01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/Offside01.fs index bd89ddbb5a1..0513d922530 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/Offside01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/Offside01.fs @@ -3,7 +3,7 @@ // We should start counting from the 'static' not from 'let' // Regression test for FSHARP1.0:2042 // -#light + type T() = static let foo baz = 1 diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/RecNonMutable01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/RecNonMutable01.fs index 43fdce499d2..5e15c6ae52c 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/RecNonMutable01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/ClassTypes/StaticLetDoDeclarations/RecNonMutable01.fs @@ -1,7 +1,7 @@ // #Conformance #ObjectOrientedTypes #Classes #LetBindings // rec (non-mutable) // -#light + type C() = class static let rec f a = if a = 0 then 1 else a*f(a-1) member x.X a = f a diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/DelegateTypes/ByrefArguments01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/DelegateTypes/ByrefArguments01.fs index 5591e4c9f57..ea5fa5b96a2 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/DelegateTypes/ByrefArguments01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/DelegateTypes/ByrefArguments01.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Delegates -#light + // FSB 151, Cannot construct delegate values that accept byref arguments diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/AttributesOn01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/AttributesOn01.fs index 53f8e21ad06..9e1d75a51db 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/AttributesOn01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/AttributesOn01.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Enums -#light + // Verify ability to put attributes on Enum tags diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/BinaryOr01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/BinaryOr01.fs index 5ad8445bf2e..08c81f8b419 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/BinaryOr01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/BinaryOr01.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Enums -#light + // FSB 531, Cannot use "A | B" in enum flags when specifying a custom attribute (not a recognised constant) diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/CallCSharpEnum.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/CallCSharpEnum.fs index cfadbab3c30..1e826b5de27 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/CallCSharpEnum.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/CallCSharpEnum.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Enums #ReqNOMT -#light + // Consume a C# Enum from F# namespace NF module M = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/ConsumeFromCS.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/ConsumeFromCS.fs index 3ef77866d96..c85b458513e 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/ConsumeFromCS.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/ConsumeFromCS.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Enums -#light + namespace NF module M = type SimpleEnum = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_BoolUnderlyingType.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_BoolUnderlyingType.fs index 72ca7f38a43..e36339737e4 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_BoolUnderlyingType.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_BoolUnderlyingType.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Enums -#light + // Test errors related to enums of invalid primitive/built-in types diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_InvalidCase01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_InvalidCase01.fs index de0ce072797..0b2bbf228cc 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_InvalidCase01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_InvalidCase01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Enums -#light + // FSB 1744, 'value__' is reserved and cannot be a name of enum element //This is not a valid name for an enumeration case diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NamedTypeInScope.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NamedTypeInScope.fs index 4ab7a349471..52d533586f1 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NamedTypeInScope.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NamedTypeInScope.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Enums -#light + // Verify that an Enum brings a named type into scope //Duplicate.*EnumType diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NeedToQualify01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NeedToQualify01.fs index f79718f1159..c5d84f4274e 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NeedToQualify01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NeedToQualify01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Enums -#light + // FSB 1552, Internal error: badly formed Item_ctor_group. //The value or constructor 'Black' is not defined diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NonInt32Enums01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NonInt32Enums01.fs index 1fe862f08c0..dc2de9310f1 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NonInt32Enums01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/E_NonInt32Enums01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Enums -#light + // Test errors related to enums of invalid primitive/built-in types diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/EqualsTag.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/EqualsTag.fs index 742c351fc2d..50bc5c49c4a 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/EqualsTag.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/EqualsTag.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Enums -#light + // FSB 1574, Name resolution problem: Enum Case "Equals" not handled correctly. diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/NamedTypeInScope.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/NamedTypeInScope.fs index 536079c1273..c8f60ac79bb 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/NamedTypeInScope.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/NamedTypeInScope.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Enums -#light + // namespace NS diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/NonInt32Enums01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/NonInt32Enums01.fs index 7814f11f983..18ebd7c3d61 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/NonInt32Enums01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/NonInt32Enums01.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Enums -#light + // FSB 937, enums on not int32 types? e.g. int64. diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/Simple001.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/Simple001.fs index bc2ee6fb2a5..3b7bb452703 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/Simple001.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/EnumTypes/Simple001.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Enums -#light + namespace NS module M = type SimpleEnum = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ClassConsumeMultipleInterfaceFromCS.5.0.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ClassConsumeMultipleInterfaceFromCS.5.0.fs index ec6bc99e266..591f8a9b314 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ClassConsumeMultipleInterfaceFromCS.5.0.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ClassConsumeMultipleInterfaceFromCS.5.0.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #InterfacesAndImplementations #ReqNOMT -#light + let mutable res = true diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ConsumeMultipleInterfaceFromCS.5.0.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ConsumeMultipleInterfaceFromCS.5.0.fs index 258e97be58a..4c93f14042f 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ConsumeMultipleInterfaceFromCS.5.0.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ConsumeMultipleInterfaceFromCS.5.0.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #InterfacesAndImplementations #ReqNOMT -#light + let mutable res = true let t = new T() 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 5c47e255fa6..e39533a7791 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,6 +1,6 @@ // #Conformance #ObjectOrientedTypes #InterfacesAndImplementations #ReqNOMT // 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 7f3c57e8b84..849663a5a77 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 @@ -2,7 +2,7 @@ // 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 let t = new T() diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ConsumeMultipleInterfaceFromCS.5.0.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ConsumeMultipleInterfaceFromCS.5.0.fs index ce206ece82f..e11a7b485bb 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ConsumeMultipleInterfaceFromCS.5.0.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/E_ConsumeMultipleInterfaceFromCS.5.0.fs @@ -1,7 +1,7 @@ // #Conformance #ObjectOrientedTypes #InterfacesAndImplementations #ReqNOMT // This type implements the same interface at different generic instantiations 'I_002\' and 'I_002\'\. This is not permitted in this version of F#\. // This type implements the same interface at different generic instantiations 'I_002\' and 'I_002\'\. This is not permitted in this version of F#\. -#light + let mutable res = true let t = new T() diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/InheritedInterface.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/InheritedInterface.fs index 9f2bf3fde84..061b9fe0557 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/InheritedInterface.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/InheritedInterface.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #InterfacesAndImplementations -#light + // Verify you can use inheritance with interfaces type IAge = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ObjImplementsInterface.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ObjImplementsInterface.fs index 8d4ef395b09..0d511591194 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ObjImplementsInterface.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/ObjImplementsInterface.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #InterfacesAndImplementations -#light + // Regression for FSharp 1.0:1794 //Define a new abstract type (interface) diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/interface002.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/interface002.fs index 89ff1431738..ef01649d53f 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/interface002.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/InterfaceTypes/interface002.fs @@ -1,6 +1,6 @@ // #Conformance #ObjectOrientedTypes #InterfacesAndImplementations // Verify properties -#light + //Interface with properties diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/DoStaticLetDo.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/DoStaticLetDo.fs index 1ce2d141bcf..ca82e488b22 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/DoStaticLetDo.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/DoStaticLetDo.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Structs -#light + namespace NS module M = let mutable r = 0 diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_AbstractClassStruct.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_AbstractClassStruct.fs index e117e1db1ce..f701f1b0b76 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_AbstractClassStruct.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_AbstractClassStruct.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Structs -#light + // Verify error when both AbstractClassAttribute and StructAttribute are on the same type. //The attributes of this type specify multiple kinds for the type diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_CyclicInheritance01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_CyclicInheritance01.fs index 7d37d1ceee2..a9469f691af 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_CyclicInheritance01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_CyclicInheritance01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Structs -#light + // Regression test for FSHARP1.0:1452, Complete checks for structs // Also, //This type definition involves an immediate cyclic reference through a struct field or inheritance relation diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_StructInheritance01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_StructInheritance01.fs index bfdc1e63d61..ad4152f8c0a 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_StructInheritance01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/E_StructInheritance01.fs @@ -2,7 +2,7 @@ // Verify error when trying to inherit from a struct type // Regression test for FSHARP1.0:2803 //Cannot inherit a sealed type -#light + type StructType = struct new(x : int, y : int) = { X = x; Y = y } diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/ExplicitCtor.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/ExplicitCtor.fs index 885d9483dc6..4cfebd39204 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/ExplicitCtor.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/ExplicitCtor.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Structs -#light + namespace NS module M = type S1 (i : int) = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/GenericStruct01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/GenericStruct01.fs index fdfaa08b2de..c3607cb5a0c 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/GenericStruct01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/GenericStruct01.fs @@ -1,7 +1,7 @@ // #Conformance #ObjectOrientedTypes #Structs -#light -#light + + // Verify no PEVerify errors when returning a generic struct diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/IndexerProperties01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/IndexerProperties01.fs index 67527087269..532b6d1caff 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/IndexerProperties01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/IndexerProperties01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Structs -#light + // FSB 1281, Indexed Item property on structs with get and set gives System.AccessViolationException in fsi diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/MutableFields.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/MutableFields.fs index 63916d9cc28..ea0af7c7c6d 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/MutableFields.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/MutableFields.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #Structs -#light + namespace NS module M = type S1 (i : int) = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructAttribute02.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructAttribute02.fs index 619830dd544..7cdf48fa5f0 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructAttribute02.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructAttribute02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Structs -#light + // Verify errors associated with putting the struct attribute on non structs //The kind of the type specified by its attributes does not match the kind implied by its definition diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction01.fs index 0652724508c..71c1048cdbb 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Structs -#light + // FS1 1337: "new" is still required for the default struct constructor diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction02.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction02.fs index 78aed8080bd..b74f06ad475 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction02.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Structs -#light + // FSB 1768, Allow the definition of immutable structs using the implicit construction syntax diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructInstantiation01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructInstantiation01.fs index 867360fbe19..081bb95a196 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructInstantiation01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructInstantiation01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #Structs -#light + // Bug 1337: "new" is still required for the default struct constructor diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/BasicExtensions.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/BasicExtensions.fs index beefee8ded8..4d2869fb961 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/BasicExtensions.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/BasicExtensions.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // Verify error for invalid type extensions // Extend primitive types with methods called DoStuff() diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_ExtendVirtualMethods01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_ExtendVirtualMethods01.fs index d0874eea233..1e9d034a43b 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_ExtendVirtualMethods01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_ExtendVirtualMethods01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // It's error if the augmentation is of a type from a different assembly // The is regression test for FSHARP1.0:3272 diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions01.fs index e3017226c06..1f785863e86 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // Verify error for invalid type extensions //This declaration element is not permitted in an augmentation diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions02.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions02.fs index b3d3940e34f..a5a0893d3ca 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions02.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // Verify error for invalid type extensions //This declaration element is not permitted in an augmentation diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions03.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions03.fs index 633995f6479..d5f71733ead 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions03.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidExtensions03.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeExtensions -#light + //Invalid type extension diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidForwardRef01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidForwardRef01.fs index 7aed14d449b..fd974baa081 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidForwardRef01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/E_InvalidForwardRef01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // Regression test for FSHARP1.0:575 - Augmentations lead to unsoundnesses in the treatment of constraints. Available instances should be lexically scoped //The member '\(\+\)' is used in an invalid way\. A use of '\(\+\)' has been inferred prior to its definition.+ diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendHierarchy01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendHierarchy01.fs index 6c232c13a36..32a943e9c8a 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendHierarchy01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendHierarchy01.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // Verify type extensions extend the full hierarchy of a type // Verify that if you extend an interface a class implements, the class is extended diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendHierarchy02.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendHierarchy02.fs index 75c4a212de5..9be4230406a 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendHierarchy02.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendHierarchy02.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // Verify type extensions extend the full hierarchy of a type // Verify that if you extend a base class, derived classes are extended diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendViaOverloading01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendViaOverloading01.fs index 8140d2382e8..dfcd21fa110 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendViaOverloading01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendViaOverloading01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // Regression test for FSharp1.0:4939 // Title: Make overload resolution in the presence of extension members work more like C# diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendViaOverloading02.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendViaOverloading02.fs index c8b43d7cd5a..b488732ab59 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendViaOverloading02.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendViaOverloading02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // Regression test for FSharp1.0:4973 // Title: extension methods and overloading diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendWithOperator01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendWithOperator01.fs index 375f02c2730..1c8033d9b64 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendWithOperator01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/ExtendWithOperator01.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // Verify ability to add a type extension for an operator // Note that C# and VB do NOT support this. diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/MultipleExtensions.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/MultipleExtensions.fs index 0dc3af0252a..4ec08a031a9 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/MultipleExtensions.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/MultipleExtensions.fs @@ -1,6 +1,6 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions //verify that you can extend a type multiple times -#light + namespace NS module M = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/NonConflictingIntrinsicMembers.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/NonConflictingIntrinsicMembers.fs index 1f668e8eec1..56345b1eb02 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/NonConflictingIntrinsicMembers.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/NonConflictingIntrinsicMembers.fs @@ -5,7 +5,7 @@ // extension methods... so this code compiles just fine. // -#light + namespace NS module K = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.fs index e0b3b861f16..9aa017c0f04 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3473 // Signature checking issue with extension of a type defined in a C# dll // -#light + module Experiment.Extension diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.fsi b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.fsi index c99ea8c1217..9532d694b9a 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.fsi +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.fsi @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3473 // Signature checking issue with extension of a type defined in a C# dll // -#light + module Experiment.Extension diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.test.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.test.fs index 583335bb35d..f75aa451547 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.test.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/SignatureIssue01.test.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:3473 // Signature checking issue with extension of a type defined in a C# dll // -#light + module Experiment.Test diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/UnqualifiedName.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/UnqualifiedName.fs index dd296dc7b0f..9d49a9f314b 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/UnqualifiedName.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/basic/UnqualifiedName.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + // Verify type extensions on non-fully qualified names diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/E_typeext_int002.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/E_typeext_int002.fs index 72e0f36197d..bce637f9be4 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/E_typeext_int002.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/E_typeext_int002.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + namespace NS module M = type Lib with diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib001.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib001.fs index 08d6c8f53f8..e0ff65c0e2b 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib001.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib001.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + namespace NS type Lib() = class diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib002.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib002.fs index 53a8867f37a..4970806bd11 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib002.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib002.fs @@ -1,7 +1,7 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeExtensions // verify that over-riding a virtual method of a type defined in another assembly gives an error. //Method overrides and interface implementations are not permitted here -#light + namespace NS [] type Lib() = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib003.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib003.fs index 9c7c5512a79..5ed8bf8a1f1 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib003.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib003.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + namespace NS type IM = interface diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib004.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib004.fs index b31e64a8c27..c874f6e7c81 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib004.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib004.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + namespace NS type Lib() = class diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib005.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib005.fs index 2d4c3a63cda..6103f954186 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib005.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/lib005.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + namespace NS type Lib() = class diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/typeext_int003.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/typeext_int003.fs index cb4869815f6..2cc94fb0be6 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/typeext_int003.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/intrinsic/typeext_int003.fs @@ -1,6 +1,6 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions // verify that hiding an interface implementation is allowed -#light + namespace NS module M = type Lib with diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/ShortNamesAllowed.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/ShortNamesAllowed.fs index bb7015771db..82e8c3c442d 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/ShortNamesAllowed.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/ShortNamesAllowed.fs @@ -5,7 +5,7 @@ -#light + namespace OE open NS module M = diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib000.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib000.fs index 5776a9da6fe..ad0929368f3 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib000.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib000.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + namespace NS type Lib() = class diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib001.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib001.fs index 7ad39bff82c..c3b6e824922 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib001.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib001.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + namespace NS type Lib() = class diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib003.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib003.fs index e05dc748e29..0c30d17bf36 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib003.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib003.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + namespace NS type IM = interface diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib004.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib004.fs index b676861cd0c..f08f8a47cd3 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib004.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib004.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + namespace NS type Lib() = class diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib005.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib005.fs index a3136dabb01..59ee67aaf6d 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib005.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/lib005.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions -#light + namespace NS type Lib() = class diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/typeext_opt003.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/typeext_opt003.fs index a94f247442c..d2a73b362cc 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/typeext_opt003.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeExtensions/optional/typeext_opt003.fs @@ -1,6 +1,6 @@ // #Conformance #ObjectOrientedTypes #TypeExtensions // verify that hiding an interface implementation is allowed -#light + namespace NS module M = type Lib with diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_class004.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_class004.fs index 33d911220fb..b849db1383b 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_class004.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_class004.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeInference -#light + // Verify type kind inference based on type members module TypeInference diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_class005.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_class005.fs index 1fa989a20f6..0aeca259a2a 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_class005.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_class005.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeInference -#light + // Verify type kind inference based on type members module TypeInference diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_interface004.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_interface004.fs index 8eb5e3c3d85..a7df7507621 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_interface004.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_interface004.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeInference -#light + // Verify inference based on type members module TypeInference diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct001.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct001.fs index 04e974adb68..b5e94e326b9 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct001.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct001.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeInference -#light + // Verify the use of Type Kind Attributes module TypeInference diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct001e.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct001e.fs index fb1aba00921..caadbfda813 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct001e.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct001e.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #ObjectOrientedTypes #TypeInference -#light + // attribute must match struct-end //kind.*does not match //kind.*does not match diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct002.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct002.fs index 185c905be92..54045216000 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct002.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct002.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeInference -#light + // Verify the use of Type Kind Attributes module TypeInference diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct003.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct003.fs index 228ffcb9dca..e90a53231cb 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct003.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/TypeKindInference/infer_struct003.fs @@ -1,5 +1,5 @@ // #Conformance #ObjectOrientedTypes #TypeInference -#light + // Verify the use of struct/end module TypeInference diff --git a/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility01.fs b/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility01.fs index 181f3a51513..a2ff756a4c2 100644 --- a/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility01.fs +++ b/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility01.fs @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + // Verify ability to use FSI files in conjunction with internal types diff --git a/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility01.fsi b/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility01.fsi index cbd8c06bc68..921dcf631bf 100644 --- a/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility01.fsi +++ b/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility01.fsi @@ -1,5 +1,5 @@ // #Conformance #SignatureFiles -#light + // Verify ability to use FSI files in conjunction with internal types diff --git a/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility02.fs b/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility02.fs index 92b6d1bc819..70825644d8e 100644 --- a/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility02.fs +++ b/tests/fsharpqa/Source/Conformance/Signatures/SignatureConformance/InternalAccessibility02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #SignatureFiles -#light + // Regression test for FSHARP1.0:4155 - combined accessibilities internal --> internal give "private" diff --git a/tests/fsharpqa/Source/Conformance/TypeForwarding/Nested/Nested_ClassDeclaration.fs b/tests/fsharpqa/Source/Conformance/TypeForwarding/Nested/Nested_ClassDeclaration.fs index c0244f640ac..fda9d6ba401 100644 --- a/tests/fsharpqa/Source/Conformance/TypeForwarding/Nested/Nested_ClassDeclaration.fs +++ b/tests/fsharpqa/Source/Conformance/TypeForwarding/Nested/Nested_ClassDeclaration.fs @@ -1,4 +1,4 @@ -#light + open System let a = 1 diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint01.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint01.fs index 3ffb6553297..1a6310f43b9 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint01.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeConstraints -#light + // FSB 1742, Wrong ctor signature (in ctor constraint) is not reported as an error //'new'.+constraint // DefaultConstructorConstraint01.fs(12,15-12,40): error FS0191: 'new' constraints must take one argument of type 'unit' and return the constructed type. diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint02.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint02.fs index af9932bda45..9575b900e20 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint02.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint02.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeConstraints -#light + // FSB 1742, Wrong ctor signature (in ctor constraint) is not reported as an error //'C'.+default.+constructor // DefaultConstructorConstraint02.fs(17,11-17,15): error FS0001: A generic construct requires that the type 'C' have a public default constructor diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint03.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint03.fs index 2e53219f8cc..71a66ec3ecd 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint03.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint03.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeConstraints -#light + // FSB 2029, default constructor constraint is ignoring the return type of the signature //'new'.+constraint // DefaultConstructorConstraint03.fs(12,15-12,38): error FS0191: 'new' constraints must take one argument of type 'unit' and return the constructed type. diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint04.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint04.fs index 083e64d3125..f0ecbe9519d 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint04.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint04.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeConstraints -#light + // FSB 2029, default constructor constraint is ignoring the return type of the signature //'new'.+constrain // DefaultConstructorConstraint04.fs(11,15-11,40): error FS0191: 'new' constraints must take one argument of type 'unit' and return the constructed type. diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint05.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint05.fs index c36ba2e79af..0caa5e017da 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint05.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/DefaultConstructorConstraint05.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeConstraints -#light + // FSB 2029, default constructor constraint is ignoring the return type of the signature //'new'.+constraint // DefaultConstructorConstraint05.fs(12,15-12,36): error FS0191: 'new' constraints must take one argument of type 'unit' and return the constructed type. diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/E_EnumConstraint01.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/E_EnumConstraint01.fs index d174b79dc2e..f9369aa7754 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/E_EnumConstraint01.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/E_EnumConstraint01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeConstraints -#light + // Verify error if trying to use a failing enum type constraint //The type 'byte' does not match the type 'int16' diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/Regressions01.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/Regressions01.fs index 51a015b59e4..f4162fee133 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/Regressions01.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/CheckingSyntacticTypes/Regressions01.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeConstraints -#light + // FSB 1748, Internal Error: when calling a base member diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Abstract.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Abstract.fs index 2c47e51f793..0c23c81a5e1 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Abstract.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Abstract.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: AbstractClass [] diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Array.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Array.fs index e12aad3bc6d..70caf32cb9f 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Array.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Array.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: Array diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Class.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Class.fs index 1f011ea60d2..92401399c07 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Class.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Class.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: Class diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Delegate.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Delegate.fs index 70808591b65..ee24c316794 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Delegate.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Delegate.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: Delegate diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_DerivedClass.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_DerivedClass.fs index d333987a25e..3db7afe9614 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_DerivedClass.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_DerivedClass.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: Derived Class diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_DiscriminatedUnion.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_DiscriminatedUnion.fs index c4a05dc75db..5ba0428bf52 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_DiscriminatedUnion.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_DiscriminatedUnion.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: Discriminated Union diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Exception.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Exception.fs index 4d054fcf149..5ae982837bc 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Exception.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Exception.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: F#-style Exception diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Interface.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Interface.fs index abe49edc305..92c1427f7b5 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Interface.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Interface.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: Interface diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Record.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Record.fs index 930201b32f6..0be9de2c4c3 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Record.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Record.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: Record diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Struct.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Struct.fs index dddddae0fb3..13a97b8d59e 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Struct.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Struct.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: Struct diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Variable.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Variable.fs index df78cb95e3c..5dcb07a84ca 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Variable.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/BaseTypes_Variable.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test the base types of F# types: Variable diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullAsAbnormalValue.fsx b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullAsAbnormalValue.fsx index e8136c430c3..632e72537a6 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullAsAbnormalValue.fsx +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullAsAbnormalValue.fsx @@ -1,6 +1,6 @@ // #Regression #Conformance #TypeConstraints // Type With Null As Abnormal Value.fsx -#light + // F# List let x1 : int list = null diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullAsRepresentationValue.fsx b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullAsRepresentationValue.fsx index 6be68effa9e..33506824f58 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullAsRepresentationValue.fsx +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullAsRepresentationValue.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeConstraints -#light + // Regression test for FSHARP1.0:3880 // Type With Null As representation value // It is not allowed to use null directly! diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullLiteral_NetVal.fsx b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullLiteral_NetVal.fsx index 9c0d3e79c1e..848620558ee 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullLiteral_NetVal.fsx +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/E_TypeWithNullLiteral_NetVal.fsx @@ -1,5 +1,5 @@ // #Regression #Conformance #TypeConstraints -#light + // Odd type: System.Void let x1 : System.Void = null diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/FSharpType_IsRecord.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/FSharpType_IsRecord.fs index ad9e4c8706b..b6e4a5a438d 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/FSharpType_IsRecord.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/FSharpType_IsRecord.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Test Microsoft.FSharp.Reflection.IsRecord function works properly on various types diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/TypeWithNullAsAbnormalValue.fsx b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/TypeWithNullAsAbnormalValue.fsx index 887c6463ad2..b3316a91304 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/TypeWithNullAsAbnormalValue.fsx +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/TypeWithNullAsAbnormalValue.fsx @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + let x1 : int list = Unchecked.defaultof let x2 : int[] = Unchecked.defaultof diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/TypeWithNullAsRepresentationValue.fsx b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/TypeWithNullAsRepresentationValue.fsx index 5e1731a3a93..32ca757b69b 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/TypeWithNullAsRepresentationValue.fsx +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/LogicalPropertiesOfTypes/TypeWithNullAsRepresentationValue.fsx @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Type With Null As representation value diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/BasicTypeParam01.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/BasicTypeParam01.fs index 02929c283ec..623138687c3 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/BasicTypeParam01.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/BasicTypeParam01.fs @@ -1,5 +1,5 @@ // #Conformance #TypeConstraints -#light + // Verify the ability to state type parameters in modules diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/HashConstraint01.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/HashConstraint01.fs index e7de2783cab..10d5f9a3fbb 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/HashConstraint01.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/HashConstraint01.fs @@ -3,7 +3,7 @@ // Tokens beginning with # should not match greedily with directives // The only case where we are still a bit confused is #light, which is missing in // this source file (see HashContraint02.fs) and #endif. -#light + type R() = class end diff --git a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/HashConstraint02.fs b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/HashConstraint02.fs index fe215d60f9e..af41d59491d 100644 --- a/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/HashConstraint02.fs +++ b/tests/fsharpqa/Source/Conformance/TypesAndTypeConstraints/TypeParameterDefinitions/HashConstraint02.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:1419 // Tokens beginning with # should not match greedily with directives //The type 'float' is not compatible with the type 'light_' -#light + type light_() = class end diff --git a/tests/fsharpqa/Source/Diagnostics/General/E_LiteralEnumerationMustHaveType01.fs b/tests/fsharpqa/Source/Diagnostics/General/E_LiteralEnumerationMustHaveType01.fs index 4de07d35eb2..c3e42520eb7 100644 --- a/tests/fsharpqa/Source/Diagnostics/General/E_LiteralEnumerationMustHaveType01.fs +++ b/tests/fsharpqa/Source/Diagnostics/General/E_LiteralEnumerationMustHaveType01.fs @@ -3,7 +3,7 @@ // Notice that the bug was in the IDE, but a compiler test is equally useful. //This is not a valid value for an enumeration literal //This is not a valid value for an enumeration literal -#light + // Shouldn't work type EnumOfBigInt = diff --git a/tests/fsharpqa/Source/Diagnostics/General/E_MemberObjectctorTakeGiven.fs b/tests/fsharpqa/Source/Diagnostics/General/E_MemberObjectctorTakeGiven.fs index 4f645652e35..e94cdd80884 100644 --- a/tests/fsharpqa/Source/Diagnostics/General/E_MemberObjectctorTakeGiven.fs +++ b/tests/fsharpqa/Source/Diagnostics/General/E_MemberObjectctorTakeGiven.fs @@ -8,7 +8,7 @@ // //The member or object constructor 'Random' takes 0 type argument\(s\) but is here given 1\. The required signature is 'static member Variable\.Random: y: Variable<'a> -> Variable<'a>' -#light + type Variable() = member x.Name with set(v:string) = () diff --git a/tests/fsharpqa/Source/Diagnostics/General/E_ObjectConstructorAndTry01.fs b/tests/fsharpqa/Source/Diagnostics/General/E_ObjectConstructorAndTry01.fs index bebbbf4bbc5..9e23de30cc8 100644 --- a/tests/fsharpqa/Source/Diagnostics/General/E_ObjectConstructorAndTry01.fs +++ b/tests/fsharpqa/Source/Diagnostics/General/E_ObjectConstructorAndTry01.fs @@ -1,7 +1,7 @@ // #Regression #Diagnostics // Regression test for FSHARP1.0:1980 // -#light + type X = class new (arg) = diff --git a/tests/fsharpqa/Source/Diagnostics/General/E_ObjectConstructorAndTry02.fs b/tests/fsharpqa/Source/Diagnostics/General/E_ObjectConstructorAndTry02.fs index b1510fbf1a6..395418b9df7 100644 --- a/tests/fsharpqa/Source/Diagnostics/General/E_ObjectConstructorAndTry02.fs +++ b/tests/fsharpqa/Source/Diagnostics/General/E_ObjectConstructorAndTry02.fs @@ -1,7 +1,7 @@ // #Regression #Diagnostics // Regression test for FSHARP1.0:1980 // -#light + type X = struct val f : decimal diff --git a/tests/fsharpqa/Source/Diagnostics/General/E_StructMustHaveAtLeastOneField.fs b/tests/fsharpqa/Source/Diagnostics/General/E_StructMustHaveAtLeastOneField.fs index 577d8c4f352..070367f5d01 100644 --- a/tests/fsharpqa/Source/Diagnostics/General/E_StructMustHaveAtLeastOneField.fs +++ b/tests/fsharpqa/Source/Diagnostics/General/E_StructMustHaveAtLeastOneField.fs @@ -1,5 +1,5 @@ // #Regression #Diagnostics -#light + // Somehow related to the fix for FSHARP1.0:3143: as a result, now struct may be empty // diff --git a/tests/fsharpqa/Source/Diagnostics/General/E_UnexpectedKeyworkWith01.fs b/tests/fsharpqa/Source/Diagnostics/General/E_UnexpectedKeyworkWith01.fs index 455380ea7a7..8b858439663 100644 --- a/tests/fsharpqa/Source/Diagnostics/General/E_UnexpectedKeyworkWith01.fs +++ b/tests/fsharpqa/Source/Diagnostics/General/E_UnexpectedKeyworkWith01.fs @@ -2,6 +2,6 @@ // Regression test for FSHARP1.0:1872 //'with' -#light + let x = 3 with // (6,11): error FS0010: unexpected keyword 'with' in implementation file diff --git a/tests/fsharpqa/Source/Diagnostics/General/W_IndexedPropertySetter01.fs b/tests/fsharpqa/Source/Diagnostics/General/W_IndexedPropertySetter01.fs index 494013c48d9..6468ddaf959 100644 --- a/tests/fsharpqa/Source/Diagnostics/General/W_IndexedPropertySetter01.fs +++ b/tests/fsharpqa/Source/Diagnostics/General/W_IndexedPropertySetter01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:1185 //indexed property setters should take their arguments in curried form, e\.g\. 'member x\.P with set idx v = \.\.\.'\. Setter properties with tuple type should take their arguments in uncurried form, e\.g\. 'member x\.P with set \(\(idx,v\)\) = \.\.\.' -#light + type T = member this.X diff --git a/tests/fsharpqa/Source/Diagnostics/General/X-DontWarnOnImplicitModule01.fsscript b/tests/fsharpqa/Source/Diagnostics/General/X-DontWarnOnImplicitModule01.fsscript index 2841475eaa4..607add50df6 100644 --- a/tests/fsharpqa/Source/Diagnostics/General/X-DontWarnOnImplicitModule01.fsscript +++ b/tests/fsharpqa/Source/Diagnostics/General/X-DontWarnOnImplicitModule01.fsscript @@ -4,5 +4,5 @@ // We want to verify that when the extension is .fsx // we do not emit any warning like: // "The declarations in this File will be placed in an implicit module..." -#light + exit 0 diff --git a/tests/fsharpqa/Source/Diagnostics/General/X-DontWarnOnImplicitModule01.fsx b/tests/fsharpqa/Source/Diagnostics/General/X-DontWarnOnImplicitModule01.fsx index 2841475eaa4..607add50df6 100644 --- a/tests/fsharpqa/Source/Diagnostics/General/X-DontWarnOnImplicitModule01.fsx +++ b/tests/fsharpqa/Source/Diagnostics/General/X-DontWarnOnImplicitModule01.fsx @@ -4,5 +4,5 @@ // We want to verify that when the extension is .fsx // we do not emit any warning like: // "The declarations in this File will be placed in an implicit module..." -#light + exit 0 diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/attrUnionCaseDecl01.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/attrUnionCaseDecl01.fs index 9f4fe2ffb47..a64dd460bc2 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/attrUnionCaseDecl01.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/attrUnionCaseDecl01.fs @@ -1,7 +1,7 @@ // #Regression #Diagnostics // Regression test for FSharp1.0:3702 //Incomplete structured construct at or before this point in union case -#light + type Stuff = | AnonymousVariableType of string | TypeVariable of string diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/braceExpr01.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/braceExpr01.fs index d8a44dc1c3d..5b02c28ae5b 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/braceExpr01.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/braceExpr01.fs @@ -3,6 +3,6 @@ //Unexpected symbol '<' in expression$ //Unmatched '{' -#light + {< diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/braceExpr01b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/braceExpr01b.fs index aa88eb453a6..6c016a87f7f 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/braceExpr01b.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/braceExpr01b.fs @@ -3,6 +3,6 @@ //NONTERM //Unexpected symbol '<' in expression\. Expected '}' or other token\. //: error : Unmatched '{'$ -#light + {< diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/declExpr01.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/declExpr01.fs deleted file mode 100644 index a45b5bedb1d..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/declExpr01.fs +++ /dev/null @@ -1,10 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:2124 -//'if' -#light "off" -let take n (ie : seq<'a>) = - if n < 0 then () - if n = 0 then Seq.empty else - { use e = ie.GetEnumerator() - for i in 0 .. n - 1 do - yield e.Current };; diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/declExpr01b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/declExpr01b.fs deleted file mode 100644 index 849880f6ca3..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/declExpr01b.fs +++ /dev/null @@ -1,13 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:2124 -//NONTERM -// - -#light "off" - -let take n (ie : seq<'a>) = - if n < 0 then () - if n = 0 then Seq.empty else - { use e = ie.GetEnumerator() - for i in 0 .. n - 1 do - yield e.Current };; diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/fileModuleImpl01.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/fileModuleImpl01.fs index 7645d7cc7f5..0af7f23be63 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/fileModuleImpl01.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/fileModuleImpl01.fs @@ -2,7 +2,7 @@ // Regression test for FSharp1.0:2219 //'val' -#light + [] val inline sizeof<'a> : int diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/fileModuleImpl02.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/fileModuleImpl02.fs index 03f026d7d7c..03353146f42 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/fileModuleImpl02.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/fileModuleImpl02.fs @@ -1,6 +1,6 @@ // #Regression #Diagnostics // Regression test for FSharp1.0:2681 //Unexpected start of structured construct in definition\. Expected identifier, 'global' or other token -#light + module '\U00002620' diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/fileNamespaceImpl01.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/fileNamespaceImpl01.fs deleted file mode 100644 index c82007cb838..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/fileNamespaceImpl01.fs +++ /dev/null @@ -1,11 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:2324 -//Unexpected symbol '\[<' in definition$ - - -#light "off" - -module M1 = - [] // error FS0010: unexpected symbol '[<' in definition - type T = - static let mutable f = () diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/fileNamespaceImpl01b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/fileNamespaceImpl01b.fs deleted file mode 100644 index 7005248760c..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/fileNamespaceImpl01b.fs +++ /dev/null @@ -1,13 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:2324 -//NONTERM -//Unexpected symbol '\[<' in definition - -#light "off" - -module M1 = - [] // error FS0010: unexpected symbol '[<' in definition - type T = - static let mutable f = () - - diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator03.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator03.fs deleted file mode 100644 index 51d7ec31522..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator03.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:2124 -//'member' -#light "off" -type foo() = - member x.Bar = 0 -end diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator03b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator03b.fs deleted file mode 100644 index d51d30c1366..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator03b.fs +++ /dev/null @@ -1,10 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:2124 -//NONTERM -//Unexpected keyword 'member' in type definition - -#light "off" - -type foo() = - member x.Bar = 0 -end diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator04.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator04.fs deleted file mode 100644 index a82e54c46c9..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator04.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:2124 -//'member' -#light "off" -type foo() = - member f.Foo with get() = 0 - and set (x: int) = () diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator04b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator04b.fs deleted file mode 100644 index d350cec694d..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/interactiveExprOrDefinitionsTerminator04b.fs +++ /dev/null @@ -1,10 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:2124 -//NONTERM -//Unexpected keyword 'member' in type definition - -#light "off" - -type foo() = - member f.Foo with get() = 0 - and set (x: int) = () diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicExprNonEmptyInitial01b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicExprNonEmptyInitial01b.fs index 2e135a6fba1..2d7adfc4d5d 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicExprNonEmptyInitial01b.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicExprNonEmptyInitial01b.fs @@ -2,7 +2,7 @@ // Regression test for FSharp1.0:2104 //NONTERM //Unexpected end of input$ -#light + open Microsoft.FSharp.Control diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicPatternClauses01.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicPatternClauses01.fs index 4df2feb6009..b1a00f7b467 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicPatternClauses01.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicPatternClauses01.fs @@ -2,7 +2,7 @@ // Regression test for FSharp1.0:2106 // -#light + open Microsoft.FSharp.Control diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicPatternClauses01b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicPatternClauses01b.fs index 765257c1562..45593bb9f36 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicPatternClauses01b.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/monadicPatternClauses01b.fs @@ -3,7 +3,7 @@ //NONTERM // -#light + open Microsoft.FSharp.Control diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01.fs index e6767171375..9661e19c070 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01.fs @@ -1,5 +1,5 @@ // #Regression #Diagnostics // Regression test for FSHARP1.0:2391, FSHARP1.0:1479 //The result of this expression has type 'Quotations.Var seq' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'. -#light "off" + <@@ 1 @@>.GetFreeVars() diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01b.fs index 4d0087137cd..32a0fe1d399 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01b.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01b.fs @@ -3,5 +3,5 @@ //NONTERM // -#light "off" + <@@ 1 @@>.GetFreeVars() diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/typ01.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/typ01.fs index 11d27b9100e..01a8b72c045 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/typ01.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/typ01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2467 //Expecting type -#light + type ProjectFlavoring = { Create:(*projectFilename:*)string->(*files:*)string list->(*references:*)string list->(*projReferences:*)string list-> diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/typ01b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/typ01b.fs index d350b633fb1..c9a8124243b 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/typ01b.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/typ01b.fs @@ -3,7 +3,7 @@ //NONTERM //Expecting type -#light + type ProjectFlavoring = { Create:(*projectFilename:*)string->(*files:*)string list->(*references:*)string list->(*projReferences:*)string list-> diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/typeConstraint01.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/typeConstraint01.fs index c1db1638670..c37d3f93fa4 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/typeConstraint01.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/typeConstraint01.fs @@ -1,7 +1,7 @@ // #Regression #Diagnostics // Regression test for FSHARP1.0:2648 //Unexpected end of input in type name\. Expected '>' or other token -#light + type MonadMaker<'m, ^a when ^a : (new : unit -> ^a) and diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/typeConstraint01b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/typeConstraint01b.fs index 9f5c695916f..61d4256e195 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/typeConstraint01b.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/typeConstraint01b.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2648 //NONTERM // -#light + type MonadMaker<'m, ^a when ^a : (new : unit -> ^a) and diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/typedSeqExprBlock01b.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/typedSeqExprBlock01b.fs index cc7101d992b..bfd910c9e3e 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/typedSeqExprBlock01b.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/typedSeqExprBlock01b.fs @@ -3,6 +3,6 @@ //NONTERM // -#light + do diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/typedSeqExprBlock02.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/typedSeqExprBlock02.fs index 29faaaac86c..cac4f6e0b77 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/typedSeqExprBlock02.fs +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/typedSeqExprBlock02.fs @@ -2,7 +2,7 @@ // Regression test for FSharp1.0:2237 //Expecting expression -#light + let f = 1 do diff --git a/tests/fsharpqa/Source/Import/AccessingRecordFields.Lib.fs b/tests/fsharpqa/Source/Import/AccessingRecordFields.Lib.fs index 2c205f056d7..1f9de822a6d 100644 --- a/tests/fsharpqa/Source/Import/AccessingRecordFields.Lib.fs +++ b/tests/fsharpqa/Source/Import/AccessingRecordFields.Lib.fs @@ -1,5 +1,5 @@ // #NoMT #Import -#light + module InfoLib diff --git a/tests/fsharpqa/Source/Import/AccessingRecordFields.fs b/tests/fsharpqa/Source/Import/AccessingRecordFields.fs index 85277639c63..b14e457f8be 100644 --- a/tests/fsharpqa/Source/Import/AccessingRecordFields.fs +++ b/tests/fsharpqa/Source/Import/AccessingRecordFields.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #Import -#light + // Regression test for FSharp1.0:4136 - CTP: FieldAccessException is thrown when accessing record fields from other assemblies diff --git a/tests/fsharpqa/Source/Import/InternalsConsumer.fs b/tests/fsharpqa/Source/Import/InternalsConsumer.fs index 87ae208c2c5..97811df94b4 100644 --- a/tests/fsharpqa/Source/Import/InternalsConsumer.fs +++ b/tests/fsharpqa/Source/Import/InternalsConsumer.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #Import -#light + // Regression test for FSharp1.0:3882 - C# internals are not visible to F# when C# uses the InternalsVisibleTo attribute // Greetings and Calc classes are exposed by a referenced C# class library diff --git a/tests/fsharpqa/Source/Import/LessGeneric01.Lib.fs b/tests/fsharpqa/Source/Import/LessGeneric01.Lib.fs index 5a696be07cc..9f06143f376 100644 --- a/tests/fsharpqa/Source/Import/LessGeneric01.Lib.fs +++ b/tests/fsharpqa/Source/Import/LessGeneric01.Lib.fs @@ -1,5 +1,5 @@ // #NoMT #Import -#light + namespace NS // Compiled using [fsc -a] to produce a class library diff --git a/tests/fsharpqa/Source/Import/assign_to_static_field01.fs b/tests/fsharpqa/Source/Import/assign_to_static_field01.fs index 345f0bf6605..ddcf13e2be7 100644 --- a/tests/fsharpqa/Source/Import/assign_to_static_field01.fs +++ b/tests/fsharpqa/Source/Import/assign_to_static_field01.fs @@ -2,7 +2,7 @@ // Regression test for FSHARP1.0:2097 // Make sure we can assign to a static field imported from a C# assembly // -#light + // Retrieve initial value let before = C.d diff --git a/tests/fsharpqa/Source/Import/reference1ns.fs b/tests/fsharpqa/Source/Import/reference1ns.fs index 69be7c44116..c22db6b5634 100644 --- a/tests/fsharpqa/Source/Import/reference1ns.fs +++ b/tests/fsharpqa/Source/Import/reference1ns.fs @@ -5,7 +5,7 @@ // using both fsc and fsi // Note: the code here has nothing to do with the // test itself. Any F# code would pretty much do. -#light + namespace Name.Space diff --git a/tests/fsharpqa/Source/Import/reference3a.fsx b/tests/fsharpqa/Source/Import/reference3a.fsx index e5ab31541ba..33cb70cd85c 100644 --- a/tests/fsharpqa/Source/Import/reference3a.fsx +++ b/tests/fsharpqa/Source/Import/reference3a.fsx @@ -5,7 +5,7 @@ // using both fsc and fsi // Note: the code here consumes stuff imported from reference1.exe or reference1.dll // It has nothing to do with the test itself. Any F# code would pretty much do. -#light + #r "reference1.dll" diff --git a/tests/fsharpqa/Source/Import/reference3b.fsx b/tests/fsharpqa/Source/Import/reference3b.fsx index acbd1cfe7ab..d7366ecd77c 100644 --- a/tests/fsharpqa/Source/Import/reference3b.fsx +++ b/tests/fsharpqa/Source/Import/reference3b.fsx @@ -5,7 +5,7 @@ // using both fsc and fsi // Note: the code here consumes stuff imported from reference1.exe or reference1.dll // It has nothing to do with the test itself. Any F# code would pretty much do. -#light + #r "reference1.exe" diff --git a/tests/fsharpqa/Source/Import/reference4a.fsx b/tests/fsharpqa/Source/Import/reference4a.fsx index d0c0a5a1bd0..c6cc492e9d8 100644 --- a/tests/fsharpqa/Source/Import/reference4a.fsx +++ b/tests/fsharpqa/Source/Import/reference4a.fsx @@ -5,7 +5,7 @@ // using both fsc and fsi // Note: the code here consumes stuff imported from reference1.exe or reference1.dll // It has nothing to do with the test itself. Any F# code would pretty much do. -#light + #r "reference1ns.dll" diff --git a/tests/fsharpqa/Source/Import/reference4b.fsx b/tests/fsharpqa/Source/Import/reference4b.fsx index 54a43ae5971..9a9b7792bce 100644 --- a/tests/fsharpqa/Source/Import/reference4b.fsx +++ b/tests/fsharpqa/Source/Import/reference4b.fsx @@ -5,7 +5,7 @@ // using both fsc and fsi // Note: the code here consumes stuff imported from reference1.exe or reference1.dll // It has nothing to do with the test itself. Any F# code would pretty much do. -#light + #r "reference1ns.exe" diff --git a/tests/fsharpqa/Source/Import/reference5ns.fs b/tests/fsharpqa/Source/Import/reference5ns.fs index ea984fba881..40a5e2129d0 100644 --- a/tests/fsharpqa/Source/Import/reference5ns.fs +++ b/tests/fsharpqa/Source/Import/reference5ns.fs @@ -1,7 +1,7 @@ // #Regression #NoMT #Import // Regression test for FSHARP1.0:3200 // Aux library that defines a type inside a module inside a namespace -#light + namespace N module M = type T = string diff --git a/tests/fsharpqa/Source/InteractiveSession/Misc/DefinesCompiled.fs b/tests/fsharpqa/Source/InteractiveSession/Misc/DefinesCompiled.fs index 8a2e90d02bb..c31af3411f2 100644 --- a/tests/fsharpqa/Source/InteractiveSession/Misc/DefinesCompiled.fs +++ b/tests/fsharpqa/Source/InteractiveSession/Misc/DefinesCompiled.fs @@ -1,5 +1,5 @@ // #NoMT #FSI -#light + // Verify COMPILED is defined for all compiled .fs files diff --git a/tests/fsharpqa/Source/InteractiveSession/Misc/DefinesInteractive.fs b/tests/fsharpqa/Source/InteractiveSession/Misc/DefinesInteractive.fs index 1943aab9768..50024bcdfb2 100644 --- a/tests/fsharpqa/Source/InteractiveSession/Misc/DefinesInteractive.fs +++ b/tests/fsharpqa/Source/InteractiveSession/Misc/DefinesInteractive.fs @@ -1,5 +1,5 @@ // #NoMT #FSI -#light + // Verify INTERACTIVE is defined for all fsi sessions diff --git a/tests/fsharpqa/Source/InteractiveSession/Misc/DoWithNotUnit.fs b/tests/fsharpqa/Source/InteractiveSession/Misc/DoWithNotUnit.fs index ed307323394..de24b107af7 100644 --- a/tests/fsharpqa/Source/InteractiveSession/Misc/DoWithNotUnit.fs +++ b/tests/fsharpqa/Source/InteractiveSession/Misc/DoWithNotUnit.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #FSI -#light + // Regression test for FSHARP1.0:3628 - "do 1" expression code gen error, unverifiable code diff --git a/tests/fsharpqa/Source/InteractiveSession/Misc/PipingWithDirectives.fs b/tests/fsharpqa/Source/InteractiveSession/Misc/PipingWithDirectives.fs index 92f141a0194..3087e35a3fb 100644 --- a/tests/fsharpqa/Source/InteractiveSession/Misc/PipingWithDirectives.fs +++ b/tests/fsharpqa/Source/InteractiveSession/Misc/PipingWithDirectives.fs @@ -1,5 +1,5 @@ // #Regression #NoMT #FSI -#light + // Regression test for FSHARP1.0:1564 - Parsing difference in FSI between redirection and loading with #directives diff --git a/tests/fsharpqa/Source/Misc/Parsing01.fs b/tests/fsharpqa/Source/Misc/Parsing01.fs index 28236d654dd..d1b11debfdb 100644 --- a/tests/fsharpqa/Source/Misc/Parsing01.fs +++ b/tests/fsharpqa/Source/Misc/Parsing01.fs @@ -1,5 +1,5 @@ // #Misc -#light + // Verify if...then...else parsed as a single unit // The '|>' should NOT apply to the result of the if...then...else expr: diff --git a/tests/fsharpqa/Source/Misc/StaticMethodValueTypeMain.fs b/tests/fsharpqa/Source/Misc/StaticMethodValueTypeMain.fs index 74dec356ff7..9635077efa1 100644 --- a/tests/fsharpqa/Source/Misc/StaticMethodValueTypeMain.fs +++ b/tests/fsharpqa/Source/Misc/StaticMethodValueTypeMain.fs @@ -1,5 +1,5 @@ // #Regression #Misc -#light + // Verify ability to call a static method on a generic type // defined in another assembly. (FSB 1.0, 1529) diff --git a/tests/fsharpqa/Source/Misc/productioncoverage01.fs b/tests/fsharpqa/Source/Misc/productioncoverage01.fs index ab2990bc168..fb0be7c2eb4 100644 --- a/tests/fsharpqa/Source/Misc/productioncoverage01.fs +++ b/tests/fsharpqa/Source/Misc/productioncoverage01.fs @@ -4,7 +4,7 @@ This testcase is designed to exercise uncommonly used grammar productions in the language. ***) -#light + /// RULE: 255 explicitValTyparDeclsCore -> let f<'a> (x:'a) = x diff --git a/tests/fsharpqa/Source/Misc/productioncoverage02.fs b/tests/fsharpqa/Source/Misc/productioncoverage02.fs index 16e06cbd9bb..c48d181b754 100644 --- a/tests/fsharpqa/Source/Misc/productioncoverage02.fs +++ b/tests/fsharpqa/Source/Misc/productioncoverage02.fs @@ -1,5 +1,5 @@ // #Misc -#light + // RULE: 319 cArg -> opt_attributes cType // RULE 322 cType -> cType opt_HIGH_PRECEDENCE_APP LBRACK RBRACK diff --git a/tests/fsharpqa/Source/Misc/productioncoverage03.fsscript b/tests/fsharpqa/Source/Misc/productioncoverage03.fsscript index 9fadb6b9169..66a718d1ab7 100644 --- a/tests/fsharpqa/Source/Misc/productioncoverage03.fsscript +++ b/tests/fsharpqa/Source/Misc/productioncoverage03.fsscript @@ -1,5 +1,5 @@ // #Misc -#light + #r "NestedClasses.dll" diff --git a/tests/fsharpqa/Source/Stress/CodeGeneratorFor2766.fsx b/tests/fsharpqa/Source/Stress/CodeGeneratorFor2766.fsx index 56d84be835c..33bfe79c329 100644 --- a/tests/fsharpqa/Source/Stress/CodeGeneratorFor2766.fsx +++ b/tests/fsharpqa/Source/Stress/CodeGeneratorFor2766.fsx @@ -1,5 +1,5 @@ // #Regression #Stress #RequiresENU #ReqRetail #STRESS -#light + open System open System.IO diff --git a/tests/fsharpqa/Source/comparer.fsx b/tests/fsharpqa/Source/comparer.fsx index 3832c61c73b..d33016215c4 100644 --- a/tests/fsharpqa/Source/comparer.fsx +++ b/tests/fsharpqa/Source/comparer.fsx @@ -1,5 +1,5 @@ // #NoMT #CompilerOptions #RequiresENU -#light + open System open System.IO open System.Text.RegularExpressions diff --git a/tests/fsharpqa/comparer.fsx b/tests/fsharpqa/comparer.fsx index 26bff8cb785..91b61b7fa80 100644 --- a/tests/fsharpqa/comparer.fsx +++ b/tests/fsharpqa/comparer.fsx @@ -1,5 +1,5 @@ // #NoMT #CompilerOptions #RequiresENU -#light + open System open System.IO open System.Text.RegularExpressions From 0514bcbc3bb8bc843a8765cafad3ed254b938616 Mon Sep 17 00:00:00 2001 From: kerams Date: Thu, 11 Dec 2025 15:42:48 +0100 Subject: [PATCH 14/25] Fixes --- src/Compiler/FSComp.txt | 3 +- src/Compiler/lex.fsl | 8 ++ src/Compiler/xlf/FSComp.txt.cs.xlf | 9 +- src/Compiler/xlf/FSComp.txt.de.xlf | 9 +- src/Compiler/xlf/FSComp.txt.es.xlf | 9 +- src/Compiler/xlf/FSComp.txt.fr.xlf | 9 +- src/Compiler/xlf/FSComp.txt.it.xlf | 9 +- src/Compiler/xlf/FSComp.txt.ja.xlf | 9 +- src/Compiler/xlf/FSComp.txt.ko.xlf | 9 +- src/Compiler/xlf/FSComp.txt.pl.xlf | 9 +- src/Compiler/xlf/FSComp.txt.pt-BR.xlf | 9 +- src/Compiler/xlf/FSComp.txt.ru.xlf | 9 +- src/Compiler/xlf/FSComp.txt.tr.xlf | 9 +- src/Compiler/xlf/FSComp.txt.zh-Hans.xlf | 9 +- src/Compiler/xlf/FSComp.txt.zh-Hant.xlf | 9 +- tests/fsharp/core/innerpoly/test.fsx | 2 +- tests/fsharp/optimize/basics/test.ml | 107 ------------------ .../typeProviders/diamondAssembly/test3.fsx | 4 +- .../HashLight/E_TABsNotAllowedIndentOff.fs | 2 +- .../General/E_OCamlCompatibility01.fs | 10 -- .../E_OCamlStylePolymorphicRecordFields01.fs | 7 -- 21 files changed, 105 insertions(+), 155 deletions(-) delete mode 100644 tests/fsharp/optimize/basics/test.ml delete mode 100644 tests/fsharpqa/Source/Diagnostics/General/E_OCamlCompatibility01.fs delete mode 100644 tests/fsharpqa/Source/Diagnostics/General/E_OCamlStylePolymorphicRecordFields01.fs diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index b57bfe3c82c..454caa0c81d 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -1046,7 +1046,7 @@ lexUnexpectedChar,"Unexpected character '%s'" 1158,lexInvalidCharLiteral,"This is not a valid character literal" 1159,lexThisUnicodeOnlyInStringLiterals,"This Unicode encoding is only valid in string literals" 1160,lexTokenReserved,"This token is reserved for future use" -1161,lexTabsNotAllowed,"TABs are not allowed in F# code unless the #indent \"off\" option is used" +1161,lexTabsNotAllowed,"TABs are not allowed in F# code" 1162,lexInvalidLineNumber,"Invalid line number: '%s'" 1163,lexHashIfMustBeFirst,"#if directive must appear as the first non-whitespace character on a line" lexHashElseNoMatchingIf,"#else has no matching #if" @@ -1092,6 +1092,7 @@ parsNonAtomicType,"The use of the type syntax 'int C' and 'C ' is not perm 1202,typrelCannotResolveAmbiguityInUnmanaged,"Could not resolve the ambiguity in the use of a generic construct with an 'unmanaged' constraint at or near this position" #1203 - used for error in FSharp.Core CompilerMessage message #1204 - used for error in FSharp.Core CompilerMessage message +mlCompatLightOffNoLongerSupported,"The use of '#light \"off\"' or '#indent \"off\"' is no longer supported" 1206,ilFieldDoesNotHaveValidOffsetForStructureLayout,"The type '%s' has been marked as having an Explicit layout, but the field '%s' has not been marked with the 'FieldOffset' attribute" 1207,tcInterfacesShouldUseInheritNotInterface,"Interfaces inherited by other interfaces should be declared using 'inherit ...' instead of 'interface ...'" 1208,parsInvalidPrefixOperator,"Invalid prefix operator" diff --git a/src/Compiler/lex.fsl b/src/Compiler/lex.fsl index 90f664ae547..2096a810249 100644 --- a/src/Compiler/lex.fsl +++ b/src/Compiler/lex.fsl @@ -999,6 +999,14 @@ rule token (args: LexArgs) (skip: bool) = parse let tok = shouldStartFile args lexbuf m (0,FSComp.SR.lexHashBangMustBeFirstInFile()) tok if not skip then tok else singleLineComment (None,1,m,m,args) skip lexbuf } +| "#light" anywhite* +| ("#indent" | "#light") anywhite+ "\"on\"" + { token args skip lexbuf } + + | ("#indent" | "#light") anywhite+ "\"off\"" + { errorR (Error(FSComp.SR.mlCompatLightOffNoLongerSupported(), lexbuf.LexemeRange)) + token args skip lexbuf } + | anywhite* "#if" anywhite+ anystring { let m = lexbuf.LexemeRange shouldStartLine args lexbuf m (FSComp.SR.lexHashIfMustBeFirst()) diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index 64ab9eb7b89..b0b27b31ebb 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -932,6 +932,11 @@ Pro případ sjednocení, který nepřijímá žádná data, se zahození vzoru nepovoluje.
+ + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. Stream nezačíná zdrojem s hodnotou null a není ve formátu .RES. @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - Výraz tabulátoru není v kódu F# povolený, pokud se nepoužije možnost #indent \"off\". + TABs are not allowed in F# code + Výraz tabulátoru není v kódu F# povolený, pokud se nepoužije možnost #indent \"off\". diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index ba35635a687..1199e290265 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -932,6 +932,11 @@ Das Verwerfen von Mustern ist für Union-Fall, der keine Daten akzeptiert, nicht zulässig. + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. Der Stream beginnt nicht mit einer NULL-Ressource und ist nicht im RES-Format. @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - Tabulatorzeichen sind in F#-Code nur zulässig, wenn die Option "#indent \"off\"" verwendet wird. + TABs are not allowed in F# code + Tabulatorzeichen sind in F#-Code nur zulässig, wenn die Option "#indent \"off\"" verwendet wird. diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index 7d1b3220030..3d432d2ae41 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -932,6 +932,11 @@ No se permite el descarte de patrón para un caso de unión que no tome datos. + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. El flujo no comienza con un recurso nulo ni está en formato ".RES". @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - No se permiten tabulaciones en código de F# a menos que se use la opción #indent \"off\". + TABs are not allowed in F# code + No se permiten tabulaciones en código de F# a menos que se use la opción #indent \"off\". diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index c22f50aa4a8..94ca187e00f 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -932,6 +932,11 @@ L’abandon de modèle n’est pas autorisé pour un cas d’union qui n’accepte aucune donnée. + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. Le flux ne commence pas par une ressource null et n'est pas au format '.RES'. @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - Les tabulations ne sont pas autorisées dans le code F# sauf si l'option #indent \"off\" est utilisée + TABs are not allowed in F# code + Les tabulations ne sont pas autorisées dans le code F# sauf si l'option #indent \"off\" est utilisée diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index 86993517c7f..ceb229dbad4 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -932,6 +932,11 @@ L'eliminazione del criterio non è consentita per case di unione che non accetta dati. + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. Il flusso non inizia con una risorsa Null e non è in formato '.RES'. @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - I caratteri di tabulazione non sono consentiti nel codice F# a meno che non si utilizzi l'opzione #indent \"off\" + TABs are not allowed in F# code + I caratteri di tabulazione non sono consentiti nel codice F# a meno che non si utilizzi l'opzione #indent \"off\" diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index d03532962e9..a6b0b09de3d 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -932,6 +932,11 @@ データを受け取らない共用体ケースでは、パターンの破棄は許可されません。 + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. ストリームは null リソースでは始まらず、'RES' 形式でもありません。 @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - F# コードにタブを使用するには、#indent \"off\" オプションを使用する必要があります + TABs are not allowed in F# code + F# コードにタブを使用するには、#indent \"off\" オプションを使用する必要があります diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index f4098ed0952..5ade5d3b9fe 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -932,6 +932,11 @@ 데이터를 사용하지 않는 공용 구조체 사례에는 패턴 삭제가 허용되지 않습니다. + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. 스트림은 null 리소스로 시작되지 않으며 '.RES' 형식이 아닙니다. @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - #indent \"off\" 옵션을 사용하지 않는 한 TAB은 F# 코드에서 허용되지 않습니다. + TABs are not allowed in F# code + #indent \"off\" 옵션을 사용하지 않는 한 TAB은 F# 코드에서 허용되지 않습니다. diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index d0d1d9b7f4a..1dd360978fa 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -932,6 +932,11 @@ Odrzucanie wzorca jest niedozwolone w przypadku unii, która nie przyjmuje żadnych danych. + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. Strumień nie zaczyna się od zasobu o wartości null i nie jest w formacie „.RES”. @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - Znaki TAB są niedozwolone w kodzie języka F#, chyba że użyto opcji #indent \"off\" + TABs are not allowed in F# code + Znaki TAB są niedozwolone w kodzie języka F#, chyba że użyto opcji #indent \"off\" diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index 4734459949c..fc9d083c63a 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -932,6 +932,11 @@ O descarte de padrão não é permitido para casos união que não aceitam dados. + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. Stream não começa com um recurso nulo e não está no formato '.RES'. @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - TABs não são permitidos em código F#, a menos que a opção #indent \"off\" seja usada + TABs are not allowed in F# code + TABs não são permitidos em código F#, a menos que a opção #indent \"off\" seja usada diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index c3d936010bc..f15054b8e49 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -932,6 +932,11 @@ Отмена шаблона не разрешена для случая объединения, не принимающего данные. + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. Поток не начинается с нулевого ресурса и не соответствует формату ".RES". @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - В коде F# табуляция может использоваться только при использовании параметра #indent \"off\" + TABs are not allowed in F# code + В коде F# табуляция может использоваться только при использовании параметра #indent \"off\" diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index 91e14d0e6c6..8f3f900da19 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -932,6 +932,11 @@ Veri almayan birleşim durumu için desen atma kullanılamaz. + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. Akış null kaynakla başlamıyor ve '.RES' biçiminde değil. @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - #indent \"off\" seçeneği kullanılmadığı sürece F# kodunda SEKMELERE izin verilmez + TABs are not allowed in F# code + #indent \"off\" seçeneği kullanılmadığı sürece F# kodunda SEKMELERE izin verilmez diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index 8c4272e51a9..c714ae92bf8 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -932,6 +932,11 @@ 不允许将模式丢弃用于不采用数据的联合事例。 + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. 流应以空资源开头并且应采用 .RES 格式。 @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - F# 代码中不允许使用制表符,除非使用了 #indent \"off\" 选项 + TABs are not allowed in F# code + F# 代码中不允许使用制表符,除非使用了 #indent \"off\" 选项 diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index 2497ef6d835..ddc4aa31551 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -932,6 +932,11 @@ 不接受資料的聯集案例不允許模式捨棄。 + + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + The use of '#light \"off\"' or '#indent \"off\"' is no longer supported + + Stream does not begin with a null resource and is not in '.RES' format. 資料流未以 null 資源開頭,並且未使用 '.RES' 格式。 @@ -6703,8 +6708,8 @@ - TABs are not allowed in F# code unless the #indent \"off\" option is used - F# 程式碼中不允許使用 TAB,除非使用 #indent \"off\" 選項 + TABs are not allowed in F# code + F# 程式碼中不允許使用 TAB,除非使用 #indent \"off\" 選項 diff --git a/tests/fsharp/core/innerpoly/test.fsx b/tests/fsharp/core/innerpoly/test.fsx index c9a8c714bc6..b3e01924060 100644 --- a/tests/fsharp/core/innerpoly/test.fsx +++ b/tests/fsharp/core/innerpoly/test.fsx @@ -47,7 +47,7 @@ let f2 n = let f3 (x:int) = failwith "a" in z2 -let _ : string = try (f2 3).x(3) ^ "unused" with Failure _ -> "" +let _ : string = try (f2 3).x(3) + "unused" with Failure _ -> "" #endif diff --git a/tests/fsharp/optimize/basics/test.ml b/tests/fsharp/optimize/basics/test.ml deleted file mode 100644 index 5744e8a1800..00000000000 --- a/tests/fsharp/optimize/basics/test.ml +++ /dev/null @@ -1,107 +0,0 @@ -// #Optimizations - - -let testEliminableBinding () = - let localShouldNotAppear = "stringShouldNotAppear" in 3 - -let testEliminableInnerFunction () = - let localFunctionShouldNotAppear x = "stringShouldNotAppear" in 3 - -(* TODO: Elimination of "letrec" bindings -let testEliminableInnerRecursiveFunction () = - let rec localFunctionShouldNotAppear1 x = localFunctionShouldNotAppear2 x - and localFunctionShouldNotAppear2 x = "stringShouldNotAppear" ^ localFunctionShouldNotAppear1 x in - 3 -*) - - -let testMultipleEliminableBindings1 () = - let localShouldNotAppear1,localShouldNotAppear2 = "stringShouldNotAppear1","stringShouldNotAppear2" in 3 - -let testMultipleEliminableBindings2 () = - let localShouldNotAppear1 = "stringShouldNotAppear1" in - let localShouldNotAppear2 = localShouldNotAppear1 in - let localShouldNotAppear3 = localShouldNotAppear2 in - 4 - -let testBetaVarAndBindingElim1 () = - let localShouldNotAppear1 = "liveString1" in - localShouldNotAppear1 - -let testBetaVarAndBindingElim2 () = - let localShouldNotAppear1 = "liveString1" in - let localShouldNotAppear2 = localShouldNotAppear1 in - localShouldNotAppear2 - -let testBetaVarAndBindingElim3 () = - let localShouldNotAppear1 = "liveString1" in - let localShouldNotAppear2 = localShouldNotAppear1 in - localShouldNotAppear1 - - -let testDeadStringInSeq () = ignore ("stringShouldNotAppear"); 3 -let testDeadBindingInSeq () = (let localShouldNotAppear1 = "stringShouldNotAppear" in ()); 3 - -let testSimpleInliner1 () = - let simpleInlineeShouldNotAppear () = 3 in - simpleInlineeShouldNotAppear () - -let testSimpleInliner2 () = - let simpleInlineeShouldNotAppear () = 3 in - simpleInlineeShouldNotAppear () + simpleInlineeShouldNotAppear () - -let testSimplePolymorphicInliner1 () = - let simplePolymorphicInlineeShouldNotAppear x = 3 in - ignore (simplePolymorphicInlineeShouldNotAppear 3); simplePolymorphicInlineeShouldNotAppear 4 - -let testSimpleInliner3 () = - let simpleInlineeShouldNotAppear () () = 3 in - simpleInlineeShouldNotAppear () () - -let testBetaReduce1 () = - (fun simpleVarShouldNotAppear -> simpleVarShouldNotAppear + simpleVarShouldNotAppear) 3 - -let testSimpleProjection1 () = - let pairShouldNotAppear = ("stringFromPairShouldNotAppear","stringFromPair2") in - match pairShouldNotAppear with (varShouldNotAppear1,varShouldNotAppear2) -> varShouldNotAppear2 - -let testSimpleProjection2 () = - let tripleShouldNotAppear = ("stringFromPairShouldNotAppear",2,"stringFromPairShouldNotAppear") in - match tripleShouldNotAppear with (varShouldNotAppear1,varShouldNotAppear2,varShouldNotAppear3) -> varShouldNotAppear2 -let testSimpleTupleMatchGetReduced () = - match ("stringFromPairShouldNotAppear",2,"stringFromPairShouldNotAppear") with - (varShouldNotAppear1,varShouldNotAppear2,varShouldNotAppear3) -> varShouldNotAppear2 - -let testSimpleListMatch1GetsReduced () = - match [] with - [] -> () - | _ -> failwith "stringFromSimpleListMatch1ShouldNotAppear" - -let testSimpleListMatch2GetsReduced () = - match [1] with - [x] -> x - | _ -> failwith "stringFromSimpleListMatch2ShouldNotAppear" - -let testSimpleListMatch3GetsReduced (a,b,c) = - let varShouldNotAppear1 = [a;b;c] in - match varShouldNotAppear1 with - [x;y;z] -> y - | _ -> failwith "stringFromSimpleListMatch3GetsReducedShouldNotAppear" - -let testSimpleUnionProjection1 () = - let x = ["stringCanAppear"; "stringShouldNotAppear"] in match x with h::_ -> h - - -let testSimpleUnionProjection2 () = - let x = ["stringShouldNotAppear"; "stringCanAppear"] in match x with _::h::_ -> h - -let testNestedTupleMatchGetsReduced () = - match ("stringFromNestedTupleMatchShouldNotAppear",(2,"stringFromNestedTupleMatchShouldNotAppear")) with - (varShouldNotAppear1,(varShouldNotAppear2,varShouldNotAppear3)) -> varShouldNotAppear2 - -let testUnitMatchIsOptimized () = - match () with - varShouldNotAppear -> varShouldNotAppear - - - diff --git a/tests/fsharp/typeProviders/diamondAssembly/test3.fsx b/tests/fsharp/typeProviders/diamondAssembly/test3.fsx index d3350294831..e73b27d97a2 100644 --- a/tests/fsharp/typeProviders/diamondAssembly/test3.fsx +++ b/tests/fsharp/typeProviders/diamondAssembly/test3.fsx @@ -13,8 +13,8 @@ let reportFailure s = stdout.WriteLine "\n................TEST FAILED...............\n"; failures <- failures @ [s] let check s e r = - if r = e then stdout.WriteLine (s^": YES") - else (stdout.WriteLine ("\n***** "^s^": FAIL\n"); reportFailure s) + if r = e then stdout.WriteLine (s + ": YES") + else (stdout.WriteLine ("\n***** " + s + ": FAIL\n"); reportFailure s) let test s b = if b then ( (* stdout.WriteLine ("passed: " + s) *) ) diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/E_TABsNotAllowedIndentOff.fs b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/E_TABsNotAllowedIndentOff.fs index f27b74828f8..1fb4e979927 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/E_TABsNotAllowedIndentOff.fs +++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/E_TABsNotAllowedIndentOff.fs @@ -1,5 +1,5 @@ // #Regression #Conformance #LexFilter // Regression test for FSHARP1.0:5399 -//TABs are not allowed in F# code unless the #indent "off" option is used +//TABs are not allowed in F# code (* <- invisible tab! *) type T = class end diff --git a/tests/fsharpqa/Source/Diagnostics/General/E_OCamlCompatibility01.fs b/tests/fsharpqa/Source/Diagnostics/General/E_OCamlCompatibility01.fs deleted file mode 100644 index c5e009427a8..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/General/E_OCamlCompatibility01.fs +++ /dev/null @@ -1,10 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:2836 -//The value or constructor 'lsl' is not defined -module M - -let _ = 1 lsl 4 - - - - diff --git a/tests/fsharpqa/Source/Diagnostics/General/E_OCamlStylePolymorphicRecordFields01.fs b/tests/fsharpqa/Source/Diagnostics/General/E_OCamlStylePolymorphicRecordFields01.fs deleted file mode 100644 index 26adfc54f73..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/General/E_OCamlStylePolymorphicRecordFields01.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:1243 -// Deprecate OCaml-compat polymorphic record fields -//Unexpected quote symbol in field declaration$ - -type t = { id : 'a. 'a -> 'a } - From 85a8dd9f370869ae9d71ad048783e40208cebd8f Mon Sep 17 00:00:00 2001 From: kerams Date: Thu, 11 Dec 2025 15:58:23 +0100 Subject: [PATCH 15/25] Fix --- src/Compiler/FSComp.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index 454caa0c81d..0123e3d5797 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -1092,7 +1092,7 @@ parsNonAtomicType,"The use of the type syntax 'int C' and 'C ' is not perm 1202,typrelCannotResolveAmbiguityInUnmanaged,"Could not resolve the ambiguity in the use of a generic construct with an 'unmanaged' constraint at or near this position" #1203 - used for error in FSharp.Core CompilerMessage message #1204 - used for error in FSharp.Core CompilerMessage message -mlCompatLightOffNoLongerSupported,"The use of '#light \"off\"' or '#indent \"off\"' is no longer supported" +1205,mlCompatLightOffNoLongerSupported,"The use of '#light \"off\"' or '#indent \"off\"' is no longer supported" 1206,ilFieldDoesNotHaveValidOffsetForStructureLayout,"The type '%s' has been marked as having an Explicit layout, but the field '%s' has not been marked with the 'FieldOffset' attribute" 1207,tcInterfacesShouldUseInheritNotInterface,"Interfaces inherited by other interfaces should be declared using 'inherit ...' instead of 'interface ...'" 1208,parsInvalidPrefixOperator,"Invalid prefix operator" From 23799faf27960d44ac7e9266785c6f006ee6324c Mon Sep 17 00:00:00 2001 From: kerams Date: Thu, 11 Dec 2025 16:53:11 +0100 Subject: [PATCH 16/25] Fixes --- tests/fsharp/core/printing/output.1000.stdout.bsl | 3 +-- tests/fsharp/core/printing/output.200.stdout.bsl | 3 +-- tests/fsharp/core/printing/output.47.stdout.bsl | 3 +-- tests/fsharp/core/printing/output.multiemit.stdout.bsl | 3 +-- tests/fsharp/core/printing/output.off.stdout.bsl | 3 +-- tests/fsharp/core/printing/output.stdout.bsl | 3 +-- tests/fsharp/tests.fs | 4 ---- 7 files changed, 6 insertions(+), 16 deletions(-) diff --git a/tests/fsharp/core/printing/output.1000.stdout.bsl b/tests/fsharp/core/printing/output.1000.stdout.bsl index fc13290cf5d..e3e7335a304 100644 --- a/tests/fsharp/core/printing/output.1000.stdout.bsl +++ b/tests/fsharp/core/printing/output.1000.stdout.bsl @@ -2685,8 +2685,7 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: - land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int > type RecordWithStrangeNames = { diff --git a/tests/fsharp/core/printing/output.200.stdout.bsl b/tests/fsharp/core/printing/output.200.stdout.bsl index aa585170c64..d06bb7de30e 100644 --- a/tests/fsharp/core/printing/output.200.stdout.bsl +++ b/tests/fsharp/core/printing/output.200.stdout.bsl @@ -1930,8 +1930,7 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: - land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int > type RecordWithStrangeNames = { diff --git a/tests/fsharp/core/printing/output.47.stdout.bsl b/tests/fsharp/core/printing/output.47.stdout.bsl index 819f5b20c09..84611cd5a83 100644 --- a/tests/fsharp/core/printing/output.47.stdout.bsl +++ b/tests/fsharp/core/printing/output.47.stdout.bsl @@ -6230,8 +6230,7 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: - land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int > type RecordWithStrangeNames = { diff --git a/tests/fsharp/core/printing/output.multiemit.stdout.bsl b/tests/fsharp/core/printing/output.multiemit.stdout.bsl index bec45967f2d..40d3c0f66d5 100644 --- a/tests/fsharp/core/printing/output.multiemit.stdout.bsl +++ b/tests/fsharp/core/printing/output.multiemit.stdout.bsl @@ -6232,8 +6232,7 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: - land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int > type RecordWithStrangeNames = { diff --git a/tests/fsharp/core/printing/output.off.stdout.bsl b/tests/fsharp/core/printing/output.off.stdout.bsl index db11ee0c248..9ca6741a258 100644 --- a/tests/fsharp/core/printing/output.off.stdout.bsl +++ b/tests/fsharp/core/printing/output.off.stdout.bsl @@ -1700,8 +1700,7 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: - land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int > type RecordWithStrangeNames = { diff --git a/tests/fsharp/core/printing/output.stdout.bsl b/tests/fsharp/core/printing/output.stdout.bsl index bec45967f2d..40d3c0f66d5 100644 --- a/tests/fsharp/core/printing/output.stdout.bsl +++ b/tests/fsharp/core/printing/output.stdout.bsl @@ -6232,8 +6232,7 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: - land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int > type RecordWithStrangeNames = { diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs index 4df4684d52f..cde9c139870 100644 --- a/tests/fsharp/tests.fs +++ b/tests/fsharp/tests.fs @@ -1415,10 +1415,6 @@ module CoreTests = peverify cfg "test_static_init_exe--optimize.exe" - exec cfg ("." ++ "test.exe") "" - - exec cfg ("." ++ "test--optimize.exe") "" - exec cfg ("." ++ "test_deterministic_init.exe") "" exec cfg ("." ++ "test_deterministic_init--optimize.exe") "" From 0f617fc95f88ae927c05b7e33430b440a6707b1c Mon Sep 17 00:00:00 2001 From: kerams Date: Thu, 11 Dec 2025 19:30:27 +0100 Subject: [PATCH 17/25] Fixes --- src/Compiler/Driver/CompilerOptions.fs | 10 ---------- .../fsharp/core/printing/output.1000.stderr.bsl | 6 ------ .../fsharp/core/printing/output.1000.stdout.bsl | 6 +++--- tests/fsharp/core/printing/output.200.stderr.bsl | 6 ------ tests/fsharp/core/printing/output.200.stdout.bsl | 6 +++--- tests/fsharp/core/printing/output.47.stderr.bsl | 6 ------ tests/fsharp/core/printing/output.47.stdout.bsl | 6 +++--- .../core/printing/output.multiemit.stderr.bsl | 6 ------ .../core/printing/output.multiemit.stdout.bsl | 6 +++--- tests/fsharp/core/printing/output.off.stderr.bsl | 6 ------ tests/fsharp/core/printing/output.off.stdout.bsl | 6 +++--- .../fsharp/core/printing/output.quiet.stderr.bsl | 6 ------ tests/fsharp/core/printing/output.stderr.bsl | 6 ------ tests/fsharp/core/printing/output.stdout.bsl | 6 +++--- .../Source/CompilerOptions/fsc/Removed/env.lst | 8 ++++---- .../fsc/dumpAllCommandLineOptions/dummy.fs | 5 ----- .../fsc/dumpAllCommandLineOptions/dummy.fsx | 5 ----- .../Source/CompilerOptions/fsc/target/error02.fs | 2 +- .../fsi/help/help40-nologo.437.1033.bsl | 1 - .../CompilerOptions/fsi/help/help40.437.1033.bsl | 1 - .../basic/E_NamespaceAndModule02.fsi | 2 +- .../LexicalFiltering/HashLight/env.lst | 7 ------- .../StructTypes/StructConstruction02.fs | 2 +- .../Diagnostics/General/W_redefineOperator07.fs | 13 ------------- .../Diagnostics/General/W_redefineOperator09.fs | 13 ------------- .../fsharpqa/Source/Diagnostics/General/env.lst | 5 ----- .../fsharpqa/Source/Diagnostics/NONTERM/env.lst | 16 ++++------------ 27 files changed, 29 insertions(+), 139 deletions(-) delete mode 100644 tests/fsharpqa/Source/Diagnostics/General/W_redefineOperator07.fs delete mode 100644 tests/fsharpqa/Source/Diagnostics/General/W_redefineOperator09.fs diff --git a/src/Compiler/Driver/CompilerOptions.fs b/src/Compiler/Driver/CompilerOptions.fs index 1772eee66ec..0960d153137 100644 --- a/src/Compiler/Driver/CompilerOptions.fs +++ b/src/Compiler/Driver/CompilerOptions.fs @@ -1874,15 +1874,6 @@ let compilingFsLibNoBigIntFlag = None ) -let mlKeywordsFlag = - CompilerOption( - "ml-keywords", - tagNone, - OptionUnit(fun () -> ()), - Some(DeprecatedCommandLineOptionNoDescription("--ml-keywords", rangeCmdArgs)), - None - ) - let gnuStyleErrorsFlag tcConfigB = CompilerOption( "gnu-style-errors", @@ -2082,7 +2073,6 @@ let deprecatedFlagsFsc tcConfigB = None ) - mlKeywordsFlag gnuStyleErrorsFlag tcConfigB ] diff --git a/tests/fsharp/core/printing/output.1000.stderr.bsl b/tests/fsharp/core/printing/output.1000.stderr.bsl index dae4463d4db..fdec08982eb 100644 --- a/tests/fsharp/core/printing/output.1000.stderr.bsl +++ b/tests/fsharp/core/printing/output.1000.stderr.bsl @@ -101,12 +101,6 @@ stdin(586,20): warning FS0086: The name '(:=)' should not be used as a member na stdin(590,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - static member (&) = "AMP" - -------------------^ - -stdin(590,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. - - static member (&^) = "AMP_AMP" -------------------^^ diff --git a/tests/fsharp/core/printing/output.1000.stdout.bsl b/tests/fsharp/core/printing/output.1000.stdout.bsl index e3e7335a304..95999b932f9 100644 --- a/tests/fsharp/core/printing/output.1000.stdout.bsl +++ b/tests/fsharp/core/printing/output.1000.stdout.bsl @@ -2685,14 +2685,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land: (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - land : obj + land: obj ``base`` : obj } @@ -2731,7 +2731,7 @@ type System.Int32 with > val ``or`` : int = 2 -> val land : int = 2 +> val land: int = 2 > val ``.ctor`` : int = 2 diff --git a/tests/fsharp/core/printing/output.200.stderr.bsl b/tests/fsharp/core/printing/output.200.stderr.bsl index dae4463d4db..fdec08982eb 100644 --- a/tests/fsharp/core/printing/output.200.stderr.bsl +++ b/tests/fsharp/core/printing/output.200.stderr.bsl @@ -101,12 +101,6 @@ stdin(586,20): warning FS0086: The name '(:=)' should not be used as a member na stdin(590,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - static member (&) = "AMP" - -------------------^ - -stdin(590,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. - - static member (&^) = "AMP_AMP" -------------------^^ diff --git a/tests/fsharp/core/printing/output.200.stdout.bsl b/tests/fsharp/core/printing/output.200.stdout.bsl index d06bb7de30e..3622aeecd1e 100644 --- a/tests/fsharp/core/printing/output.200.stdout.bsl +++ b/tests/fsharp/core/printing/output.200.stdout.bsl @@ -1930,14 +1930,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land: (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - land : obj + land: obj ``base`` : obj } @@ -1976,7 +1976,7 @@ type System.Int32 with > val ``or`` : int = 2 -> val land : int = 2 +> val land: int = 2 > val ``.ctor`` : int = 2 diff --git a/tests/fsharp/core/printing/output.47.stderr.bsl b/tests/fsharp/core/printing/output.47.stderr.bsl index 7ea9b2e9f1b..689c9d18094 100644 --- a/tests/fsharp/core/printing/output.47.stderr.bsl +++ b/tests/fsharp/core/printing/output.47.stderr.bsl @@ -101,12 +101,6 @@ stdin(586,20): warning FS0086: The name '(:=)' should not be used as a member na stdin(590,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - static member (&) = "AMP" - -------------------^ - -stdin(590,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. - - static member (&^) = "AMP_AMP" -------------------^^ diff --git a/tests/fsharp/core/printing/output.47.stdout.bsl b/tests/fsharp/core/printing/output.47.stdout.bsl index 84611cd5a83..874b7915a68 100644 --- a/tests/fsharp/core/printing/output.47.stdout.bsl +++ b/tests/fsharp/core/printing/output.47.stdout.bsl @@ -6230,14 +6230,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land: (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - land : obj + land: obj ``base`` : obj } @@ -6276,7 +6276,7 @@ type System.Int32 with > val ``or`` : int = 2 -> val land : int = 2 +> val land: int = 2 > val ``.ctor`` : int = 2 diff --git a/tests/fsharp/core/printing/output.multiemit.stderr.bsl b/tests/fsharp/core/printing/output.multiemit.stderr.bsl index dae4463d4db..fdec08982eb 100644 --- a/tests/fsharp/core/printing/output.multiemit.stderr.bsl +++ b/tests/fsharp/core/printing/output.multiemit.stderr.bsl @@ -101,12 +101,6 @@ stdin(586,20): warning FS0086: The name '(:=)' should not be used as a member na stdin(590,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - static member (&) = "AMP" - -------------------^ - -stdin(590,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. - - static member (&^) = "AMP_AMP" -------------------^^ diff --git a/tests/fsharp/core/printing/output.multiemit.stdout.bsl b/tests/fsharp/core/printing/output.multiemit.stdout.bsl index 40d3c0f66d5..8080bcbf73b 100644 --- a/tests/fsharp/core/printing/output.multiemit.stdout.bsl +++ b/tests/fsharp/core/printing/output.multiemit.stdout.bsl @@ -6232,14 +6232,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land: (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - land : obj + land: obj ``base`` : obj } @@ -6278,7 +6278,7 @@ type System.Int32 with > val ``or`` : int = 2 -> val land : int = 2 +> val land: int = 2 > val ``.ctor`` : int = 2 diff --git a/tests/fsharp/core/printing/output.off.stderr.bsl b/tests/fsharp/core/printing/output.off.stderr.bsl index dae4463d4db..fdec08982eb 100644 --- a/tests/fsharp/core/printing/output.off.stderr.bsl +++ b/tests/fsharp/core/printing/output.off.stderr.bsl @@ -101,12 +101,6 @@ stdin(586,20): warning FS0086: The name '(:=)' should not be used as a member na stdin(590,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - static member (&) = "AMP" - -------------------^ - -stdin(590,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. - - static member (&^) = "AMP_AMP" -------------------^^ diff --git a/tests/fsharp/core/printing/output.off.stdout.bsl b/tests/fsharp/core/printing/output.off.stdout.bsl index 9ca6741a258..172e67e2436 100644 --- a/tests/fsharp/core/printing/output.off.stdout.bsl +++ b/tests/fsharp/core/printing/output.off.stdout.bsl @@ -1700,14 +1700,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land: (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - land : obj + land: obj ``base`` : obj } @@ -1746,7 +1746,7 @@ type System.Int32 with > val ``or`` : int -> val land : int +> val land: int > val ``.ctor`` : int diff --git a/tests/fsharp/core/printing/output.quiet.stderr.bsl b/tests/fsharp/core/printing/output.quiet.stderr.bsl index dae4463d4db..fdec08982eb 100644 --- a/tests/fsharp/core/printing/output.quiet.stderr.bsl +++ b/tests/fsharp/core/printing/output.quiet.stderr.bsl @@ -101,12 +101,6 @@ stdin(586,20): warning FS0086: The name '(:=)' should not be used as a member na stdin(590,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - static member (&) = "AMP" - -------------------^ - -stdin(590,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. - - static member (&^) = "AMP_AMP" -------------------^^ diff --git a/tests/fsharp/core/printing/output.stderr.bsl b/tests/fsharp/core/printing/output.stderr.bsl index dae4463d4db..fdec08982eb 100644 --- a/tests/fsharp/core/printing/output.stderr.bsl +++ b/tests/fsharp/core/printing/output.stderr.bsl @@ -101,12 +101,6 @@ stdin(586,20): warning FS0086: The name '(:=)' should not be used as a member na stdin(590,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - static member (&) = "AMP" - -------------------^ - -stdin(590,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. - - static member (&^) = "AMP_AMP" -------------------^^ diff --git a/tests/fsharp/core/printing/output.stdout.bsl b/tests/fsharp/core/printing/output.stdout.bsl index 40d3c0f66d5..8080bcbf73b 100644 --- a/tests/fsharp/core/printing/output.stdout.bsl +++ b/tests/fsharp/core/printing/output.stdout.bsl @@ -6232,14 +6232,14 @@ type System.Int32 with > val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int -> val functionWhichTakesAParameterCalled_land: land : (int -> int -> int) -> int +> val functionWhichTakesAParameterCalled_land: land: (int -> int -> int) -> int > type RecordWithStrangeNames = { ``funky name`` : obj op_Addition: obj ``+`` : obj - land : obj + land: obj ``base`` : obj } @@ -6278,7 +6278,7 @@ type System.Int32 with > val ``or`` : int = 2 -> val land : int = 2 +> val land: int = 2 > val ``.ctor`` : int = 2 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/env.lst b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/env.lst index 65fc82ddddf..d5787509488 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/env.lst +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/Removed/env.lst @@ -52,6 +52,10 @@ SOURCE=unrecognized_argument01.fs SCFLAGS="--no-banner" # fsc --no-banner SOURCE=unrecognized_argument01.fs SCFLAGS="--nobanner" # fsc --nobanner SOURCE=unrecognized_argument01.fs SCFLAGS="--fast-sublanguage-only" FSIMODE=PIPE # fsi --fast-sublanguage-only + SOURCE=unrecognized_argument01.fs SCFLAGS="--light" # --light + SOURCE=unrecognized_argument01.fs SCFLAGS="--indentation-syntax" # --indentation-syntax + SOURCE=unrecognized_argument01.fs SCFLAGS="--no-indentation-syntax" # --no-indentation-syntax + SOURCE=unrecognized_argument01.fs SCFLAGS="--ml-keywords" # fsc --ml-keywords # Not removed - just deprecated SOURCE=deprecated_Ooff.fs SCFLAGS="-Ooff" # fsc -Ooff @@ -65,7 +69,6 @@ SOURCE=deprecated_no-string-interning01.fs SCFLAGS="--no-string-interning" # fsc --no-string-interning - SOURCE=deprecated_ml-keywords01.fs SCFLAGS="--ml-keywords" # fsc --ml-keywords SOURCE=deprecated_gnu-style-errors01.fs SCFLAGS="--gnu-style-errors" # fsc --gnu-style-errors # Not really removed... @@ -76,8 +79,5 @@ # SOURCE=unrecognized_argument01.fs SCFLAGS="--version-file" # --version-file # SOURCE=unrecognized_argument01.fs SCFLAGS="--fast-sublanguage-only" # --fast-sublanguage-only # SOURCE=unrecognized_argument01.fs SCFLAGS="--progress" # --progress -# SOURCE=unrecognized_argument01.fs SCFLAGS="--light" # --light -# SOURCE=unrecognized_argument01.fs SCFLAGS="--indentation-syntax" # --indentation-syntax -# SOURCE=unrecognized_argument01.fs SCFLAGS="--no-indentation-syntax" # --no-indentation-syntax # SOURCE=unrecognized_argument01.fs SCFLAGS="--detuple" # --detuple # SOURCE=unrecognized_argument01.fs SCFLAGS="--version" # --version diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fs index 104eb8e2166..89bb46021d6 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fs @@ -31,7 +31,6 @@ //section='- ERRORS AND WARNINGS - ' ! option=consolecolors kind=OptionSwitch //section='- LANGUAGE - ' ! option=checked kind=OptionSwitch //section='- LANGUAGE - ' ! option=define kind=OptionString -//section='- LANGUAGE - ' ! option=mlcompatibility kind=OptionUnit //section='- MISCELLANEOUS - ' ! option=nologo kind=OptionUnit //section='- MISCELLANEOUS - ' ! option=help kind=OptionConsoleOnly //section='- ADVANCED - ' ! option=codepage kind=OptionInt @@ -102,9 +101,6 @@ //section='NoSection ' ! option=a kind=OptionUnit //section='NoSection ' ! option=help kind=OptionConsoleOnly //section='NoSection ' ! option=full-help kind=OptionConsoleOnly -//section='NoSection ' ! option=light kind=OptionUnit -//section='NoSection ' ! option=indentation-syntax kind=OptionUnit -//section='NoSection ' ! option=no-indentation-syntax kind=OptionUnit //section='NoSection ' ! option=cliroot kind=OptionString //section='NoSection ' ! option=jit-optimize kind=OptionUnit //section='NoSection ' ! option=no-jit-optimize kind=OptionUnit @@ -127,7 +123,6 @@ //section='NoSection ' ! option=debug-file kind=OptionString //section='NoSection ' ! option=no-debug-file kind=OptionUnit //section='NoSection ' ! option=Ooff kind=OptionUnit -//section='NoSection ' ! option=ml-keywords kind=OptionUnit //section='NoSection ' ! option=gnu-style-errors kind=OptionUnit //section='NoSection ' ! option=dumpAllCommandLineOptions kind=OptionConsoleOnly diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fsx b/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fsx index ede4b3b0dea..871d87a449f 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fsx +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/dumpAllCommandLineOptions/dummy.fsx @@ -24,7 +24,6 @@ //section='- ERRORS AND WARNINGS - ' ! option=consolecolors kind=OptionSwitch //section='- LANGUAGE - ' ! option=checked kind=OptionSwitch //section='- LANGUAGE - ' ! option=define kind=OptionString -//section='- LANGUAGE - ' ! option=mlcompatibility kind=OptionUnit //section='- MISCELLANEOUS - ' ! option=nologo kind=OptionUnit //section='- ADVANCED - ' ! option=codepage kind=OptionInt //section='- ADVANCED - ' ! option=utf8output kind=OptionUnit @@ -82,9 +81,6 @@ //section='NoSection ' ! option=i kind=OptionUnit //section='NoSection ' ! option=r kind=OptionString //section='NoSection ' ! option=I kind=OptionStringList -//section='NoSection ' ! option=light kind=OptionUnit -//section='NoSection ' ! option=indentation-syntax kind=OptionUnit -//section='NoSection ' ! option=no-indentation-syntax kind=OptionUnit //section='NoSection ' ! option=dumpAllCommandLineOptions kind=OptionConsoleOnly //section='- INPUT FILES - ' ! option=-- kind=OptionRest //section='- MISCELLANEOUS - ' ! option=help kind=OptionConsoleOnly @@ -155,7 +151,6 @@ //section='NoSection ' ! option=debug-file kind=OptionString //section='NoSection ' ! option=no-debug-file kind=OptionUnit //section='NoSection ' ! option=Ooff kind=OptionUnit -//section='NoSection ' ! option=ml-keywords kind=OptionUnit //section='NoSection ' ! option=gnu-style-errors kind=OptionUnit diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/target/error02.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/target/error02.fs index 2035594d260..1ad4596bf33 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/target/error02.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/target/error02.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions -//The file extension of '//a' is not recognized\. Source files must have extension \.fs, \.fsi, \.fsx, \.fsscript, \.ml or \.mli\.$ +//The file extension of '//a' is not recognized\. Source files must have extension \.fs, \.fsi, \.fsx, \.fsscript$ exit 1 diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl index bd4d89ab9ac..7d5d9c0e8f9 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl @@ -69,7 +69,6 @@ Usage: fsiAnyCpu [script.fsx []] default) --define: Define conditional compilation symbols (Short form: -d) ---mlcompatibility Ignore ML compatibility warnings --strict-indentation[+|-] Override indentation rules implied by the language version (off by default) diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl index ce50a9e5e5d..cbf22f98d36 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl @@ -71,7 +71,6 @@ Usage: fsiAnyCpu [script.fsx []] default) --define: Define conditional compilation symbols (Short form: -d) ---mlcompatibility Ignore ML compatibility warnings --strict-indentation[+|-] Override indentation rules implied by the language version (off by default) diff --git a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/NamespacesFragmentsAndImplementationFiles/basic/E_NamespaceAndModule02.fsi b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/NamespacesFragmentsAndImplementationFiles/basic/E_NamespaceAndModule02.fsi index de016c39b6b..0dedcd436c0 100644 --- a/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/NamespacesFragmentsAndImplementationFiles/basic/E_NamespaceAndModule02.fsi +++ b/tests/fsharpqa/Source/Conformance/ImplementationFilesAndSignatureFiles/NamespacesFragmentsAndImplementationFiles/basic/E_NamespaceAndModule02.fsi @@ -1,7 +1,7 @@ // #Regression #Conformance #SignatureFiles #Namespaces // Regression test for FSHARP1.0:4987 // Can't have both namespace and module in the same file -//Incomplete structured construct at or before this point in signature file\. Expected ':', '=' or other token\.$ +//Incomplete structured construct at or before this point in signature file\. Expected '=' or other token\.$ namespace A.B.C diff --git a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/env.lst b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/env.lst index defbbf4e3b9..507c4965f05 100644 --- a/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/env.lst +++ b/tests/fsharpqa/Source/Conformance/LexicalFiltering/HashLight/env.lst @@ -5,14 +5,7 @@ ##### - SOURCE=indent_off_01.fs SCFLAGS=--langversion:5.0 --mlcompatibility # indent_off_01.fs - SOURCE=indent_off_01.fsi SCFLAGS=--langversion:5.0 --mlcompatibility # indent_off_01.fsi - SOURCE=indent_off_01.fsx SCFLAGS=--langversion:5.0 --mlcompatibility # indent_off_01.fsx - SOURCE=indent_off_01.fsscript SCFLAGS=--langversion:5.0 --mlcompatibility # indent_off_01.fsscript - SOURCE=indent_off_after_comment01.fs SCFLAGS="-a --langversion:5.0 --mlcompatibility" # indent_off_after_comment01.fs - SOURCE=First_Non_Comment_Text01.fs # First_Non_Comment_Text01.fs - SOURCE=light_off_01.fs SCFLAGS="--warnaserror --mlcompatibility --langversion:5.0" # light_off_01.fs NoMT SOURCE=default_in_fsi01.fs COMPILE_ONLY=1 FSIMODE=PIPE # default_in_fsi01.fs NoMT SOURCE=default_in_fsi02.fs COMPILE_ONLY=1 FSIMODE=EXEC # default_in_fsi02.fs diff --git a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction02.fs b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction02.fs index b74f06ad475..06ffd3c63a7 100644 --- a/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction02.fs +++ b/tests/fsharpqa/Source/Conformance/ObjectOrientedTypeDefinitions/StructTypes/StructConstruction02.fs @@ -9,6 +9,6 @@ type MyInt(sign:int, v : int) = member this.xV = v let someStruct = MyInt(-1, 42) -if someStruct.xSig <> -1 or someStruct.xV <> 42 then exit 1 +if someStruct.xSig <> -1 || someStruct.xV <> 42 then exit 1 exit 0 diff --git a/tests/fsharpqa/Source/Diagnostics/General/W_redefineOperator07.fs b/tests/fsharpqa/Source/Diagnostics/General/W_redefineOperator07.fs deleted file mode 100644 index e350b55c51b..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/General/W_redefineOperator07.fs +++ /dev/null @@ -1,13 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:3292 -// Give a warning when the user attempts to redefine "=", "<", ">", ">=", "<=" or "<>" or define static members with these names -//The '&' operator should not normally be redefined\. Consider using a different operator name -//The '&' operator should not normally be redefined\. Consider using a different operator name -//The name '\(&\)' should not be used as a member name\. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead\.$ -module M -let (&) x y = x + y -let f (&) = 1 < 2 -type C() = - static member (&) (x:C,y:C) = true - - diff --git a/tests/fsharpqa/Source/Diagnostics/General/W_redefineOperator09.fs b/tests/fsharpqa/Source/Diagnostics/General/W_redefineOperator09.fs deleted file mode 100644 index ff8f418994c..00000000000 --- a/tests/fsharpqa/Source/Diagnostics/General/W_redefineOperator09.fs +++ /dev/null @@ -1,13 +0,0 @@ -// #Regression #Diagnostics -// Regression test for FSHARP1.0:3292 -// Give a warning when the user attempts to redefine "=", "<", ">", ">=", "<=" or "<>" or define static members with these names -//The 'or' operator should not normally be redefined\. Consider using a different operator name -//The 'or' operator should not normally be redefined\. Consider using a different operator name -//The name '\(or\)' should not be used as a member name\. If defining a static member for use from other CLI languages then use the name 'or' instead\.$ -module M -let (or) x y = x + y -let f (or) = 1 < 2 -type C() = - static member (or) (x:C,y:C) = true - - diff --git a/tests/fsharpqa/Source/Diagnostics/General/env.lst b/tests/fsharpqa/Source/Diagnostics/General/env.lst index 766d948de33..2978eee3609 100644 --- a/tests/fsharpqa/Source/Diagnostics/General/env.lst +++ b/tests/fsharpqa/Source/Diagnostics/General/env.lst @@ -42,9 +42,7 @@ SOURCE=W_redefineOperator04.fs SCFLAGS="-a --test:ErrorRanges" # W_redefineOperator04.fs SOURCE=W_redefineOperator05.fs SCFLAGS="-a --test:ErrorRanges" # W_redefineOperator05.fs SOURCE=W_redefineOperator06.fs SCFLAGS="-a --test:ErrorRanges" # W_redefineOperator06.fs - SOURCE=W_redefineOperator07.fs SCFLAGS="-a --test:ErrorRanges" # W_redefineOperator07.fs SOURCE=W_redefineOperator08.fs SCFLAGS="-a --test:ErrorRanges" # W_redefineOperator08.fs - SOURCE=W_redefineOperator09.fs SCFLAGS="-a --test:ErrorRanges" # W_redefineOperator09.fs SOURCE=W_redefineOperator10.fs SCFLAGS="-a --test:ErrorRanges" # W_redefineOperator10.fs SOURCE=E_matrix_class01.fs SCFLAGS="--test:ErrorRanges" # E_matrix_class01.fs @@ -83,8 +81,6 @@ NoMT SOURCE=E_MissingSourceFile04.fs SCFLAGS="--exec doesnotexist.fs" FSIMODE=PIPE # E_MissingSourceFile04.fs - SOURCE=E_OCamlStylePolymorphicRecordFields01.fs SCFLAGS="--test:ErrorRanges" # E_OCamlStylePolymorphicRecordFields01.fs - SOURCE=E_IncompleteConstruct01.fs # E_IncompleteConstruct01.fs SOURCE=E_IncompleteConstruct01b.fs # E_IncompleteConstruct01b.fs @@ -100,7 +96,6 @@ NoMT SOURCE=E_MissingSourceFile04.fs SCFLAGS="--exec doesnotexist.fs" FSIMODE=PI SOURCE=E_Quotation_UnresolvedGenericConstruct01.fs SCFLAGS="--test:ErrorRanges" # E_Quotation_UnresolvedGenericConstruct01.fs - SOURCE=E_OCamlCompatibility01.fs SCFLAGS="--test:ErrorRanges" # E_OCamlCompatibility01.fs SOURCE=E_InvalidObjectExpression01.fs SCFLAGS="--test:ErrorRanges" #E_InvalidObjectExpression01.fs SOURCE=W_CreateIDisposable.fs SCFLAGS="--test:ErrorRanges -a" # W_CreateIDisposable.fs diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst b/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst index e9b7aee42ca..9118154f183 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst @@ -17,11 +17,11 @@ NoMT SOURCE=fileModuleImpl03b.fs FSIMODE=PIPE COMPILE_ONLY=1 # fileModuleImpl SOURCE=typ01.fs SCFLAGS="--test:ErrorRanges" # typ01.fs SOURCE=typ01b.fs SCFLAGS="--test:ErrorRanges" # typ01b.fs - SOURCE=quoteExpr01.fs SCFLAGS="--langversion:5.0 --mlcompatibility --test:ErrorRanges" # quoteExpr01.fs - SOURCE=quoteExpr01b.fs SCFLAGS="--langversion:5.0 --mlcompatibility --test:ErrorRanges" # quoteExpr01b.fs + SOURCE=quoteExpr01.fs SCFLAGS="--langversion:5.0 --test:ErrorRanges" # quoteExpr01.fs + SOURCE=quoteExpr01b.fs SCFLAGS="--langversion:5.0 --test:ErrorRanges" # quoteExpr01b.fs - SOURCE=braceExpr01.fs SCFLAGS="--langversion:5.0 --mlcompatibility --test:ErrorRanges" # braceExpr01.fs - SOURCE=braceExpr01b.fs SCFLAGS="--langversion:5.0 --mlcompatibility --test:ErrorRanges" # braceExpr01b.fs + SOURCE=braceExpr01.fs SCFLAGS="--langversion:5.0 --test:ErrorRanges" # braceExpr01.fs + SOURCE=braceExpr01b.fs SCFLAGS="--langversion:5.0 --test:ErrorRanges" # braceExpr01b.fs SOURCE=fileModuleImpl01.fs SCFLAGS="--test:ErrorRanges" # fileModuleImpl01.fs @@ -39,11 +39,8 @@ NoMT SOURCE=fileModuleImpl03b.fs FSIMODE=PIPE COMPILE_ONLY=1 # fileModuleImpl SOURCE=interactiveExprOrDefinitionsTerminator05.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator05.fs SOURCE=interactiveExprOrDefinitionsTerminator06.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator06.fs - SOURCE=fileNamespaceImpl01.fs SCFLAGS="--test:ErrorRanges --nowarn:62" # fileNamespaceImpl01.fs - # *b.fs tests are the same as .fs, but they check for the fact that NONTERM is not in the error message # This is an artifact to deal with the current harness: there is not reason we could not do 1 verification at once... - SOURCE=fileModuleImpl01b.fs SCFLAGS="--nowarn:62" # fileModuleImpl01b.fs SOURCE=monadicExprNonEmptyInitial01b.fs # monadicExprNonEmptyInitial01b.fs SOURCE=monadicPatternClauses01b.fs # monadicPatternClauses01b.fs @@ -51,13 +48,8 @@ NoMT SOURCE=fileModuleImpl03b.fs FSIMODE=PIPE COMPILE_ONLY=1 # fileModuleImpl SOURCE=typedSeqExprBlock01b.fs SCFLAGS="--langversion:5.0 --mlcompatibility" # typedSeqExprBlock01b.fs SOURCE=typedSeqExprBlock02b.fs # typedSeqExprBlock02b.fs - SOURCE=declExpr01.fs SCFLAGS="--test:ErrorRanges" # declExpr01.fs - SOURCE=declExpr01b.fs SCFLAGS="--langversion:5.0 --mlcompatibility --test:ErrorRanges" # declExpr01b.fs - SOURCE=interactiveExprOrDefinitionsTerminator01b.fs # interactiveExprOrDefinitionsTerminator01b.fs SOURCE=interactiveExprOrDefinitionsTerminator02b.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator02b.fs - SOURCE=interactiveExprOrDefinitionsTerminator03b.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator03b.fs - SOURCE=interactiveExprOrDefinitionsTerminator04b.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator04b.fs SOURCE=interactiveExprOrDefinitionsTerminator05b.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator05b.fs SOURCE=interactiveExprOrDefinitionsTerminator06b.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator06b.fs From 001c5b1faeaba0f1c6564a725bd27582c6ae66a9 Mon Sep 17 00:00:00 2001 From: kerams Date: Thu, 11 Dec 2025 20:18:31 +0100 Subject: [PATCH 18/25] Fix --- src/Compiler/lex.fsl | 5 ++++- tests/fsharpqa/Source/CompilerOptions/fsc/target/error02.fs | 2 +- tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst | 4 ---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/Compiler/lex.fsl b/src/Compiler/lex.fsl index 2096a810249..f276f962202 100644 --- a/src/Compiler/lex.fsl +++ b/src/Compiler/lex.fsl @@ -999,7 +999,10 @@ rule token (args: LexArgs) (skip: bool) = parse let tok = shouldStartFile args lexbuf m (0,FSComp.SR.lexHashBangMustBeFirstInFile()) tok if not skip then tok else singleLineComment (None,1,m,m,args) skip lexbuf } -| "#light" anywhite* +| "#light" anywhite* newline + { incrLine lexbuf + token args skip lexbuf } + | ("#indent" | "#light") anywhite+ "\"on\"" { token args skip lexbuf } diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/target/error02.fs b/tests/fsharpqa/Source/CompilerOptions/fsc/target/error02.fs index 1ad4596bf33..cbb333cf647 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/target/error02.fs +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/target/error02.fs @@ -1,4 +1,4 @@ // #Regression #NoMT #CompilerOptions -//The file extension of '//a' is not recognized\. Source files must have extension \.fs, \.fsi, \.fsx, \.fsscript$ +//The file extension of '//a' is not recognized\. Source files must have extension \.fs, \.fsi, \.fsx or \.fsscript$ exit 1 diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst b/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst index 9118154f183..d5d180e32ce 100644 --- a/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst +++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/env.lst @@ -34,8 +34,6 @@ NoMT SOURCE=fileModuleImpl03b.fs FSIMODE=PIPE COMPILE_ONLY=1 # fileModuleImpl SOURCE=interactiveExprOrDefinitionsTerminator01.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator01.fs SOURCE=interactiveExprOrDefinitionsTerminator02.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator02.fs - SOURCE=interactiveExprOrDefinitionsTerminator03.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator03.fs - SOURCE=interactiveExprOrDefinitionsTerminator04.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator04.fs SOURCE=interactiveExprOrDefinitionsTerminator05.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator05.fs SOURCE=interactiveExprOrDefinitionsTerminator06.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator06.fs @@ -53,7 +51,5 @@ NoMT SOURCE=fileModuleImpl03b.fs FSIMODE=PIPE COMPILE_ONLY=1 # fileModuleImpl SOURCE=interactiveExprOrDefinitionsTerminator05b.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator05b.fs SOURCE=interactiveExprOrDefinitionsTerminator06b.fs SCFLAGS="--test:ErrorRanges" # interactiveExprOrDefinitionsTerminator06b.fs - SOURCE=fileNamespaceImpl01b.fs SCFLAGS="--test:ErrorRanges" # fileNamespaceImpl01b.fs - SOURCE=memberDefinitionWithoutType01.fs SCFLAGS="--test:ErrorRanges" # memberDefinitionWithoutType01.fs SOURCE=memberDefinitionWithoutType01b.fs SCFLAGS="--test:ErrorRanges" # memberDefinitionWithoutType01b.fs From ddb40c223e96106372377f5b036a0971b8529b9c Mon Sep 17 00:00:00 2001 From: kerams Date: Fri, 12 Dec 2025 12:31:02 +0100 Subject: [PATCH 19/25] Fixes --- src/Compiler/SyntaxTree/SyntaxTreeOps.fs | 12 -------- src/Compiler/SyntaxTree/SyntaxTreeOps.fsi | 2 -- src/Compiler/lex.fsl | 8 ------ src/Compiler/pars.fsy | 1 + .../Tests.LanguageService.Completion.fs | 28 ------------------- .../Tests.LanguageService.General.fs | 2 +- .../Tests.LanguageService.GotoDefinition.fs | 2 ++ 7 files changed, 4 insertions(+), 51 deletions(-) diff --git a/src/Compiler/SyntaxTree/SyntaxTreeOps.fs b/src/Compiler/SyntaxTree/SyntaxTreeOps.fs index d5a19c9b674..9ce91852896 100644 --- a/src/Compiler/SyntaxTree/SyntaxTreeOps.fs +++ b/src/Compiler/SyntaxTree/SyntaxTreeOps.fs @@ -507,18 +507,6 @@ let mkSynDotBrackGet m mDot a b = SynExpr.DotIndexedGet(a, b, mDot, m) let mkSynQMarkSet m a b c = mkSynTrifix m qmarkSet a b c -let mkSynDotParenGet mLhs mDot a b = - match b with - | SynExpr.Tuple(false, [ _; _ ], _, _) -> - errorR (Deprecated(FSComp.SR.astDeprecatedIndexerNotation (), mLhs)) - SynExpr.Const(SynConst.Unit, mLhs) - - | SynExpr.Tuple(false, [ _; _; _ ], _, _) -> - errorR (Deprecated(FSComp.SR.astDeprecatedIndexerNotation (), mLhs)) - SynExpr.Const(SynConst.Unit, mLhs) - - | _ -> mkSynInfix mDot a parenGet b - let mkSynUnit m = SynExpr.Const(SynConst.Unit, m) let mkSynUnitPat m = SynPat.Const(SynConst.Unit, m) diff --git a/src/Compiler/SyntaxTree/SyntaxTreeOps.fsi b/src/Compiler/SyntaxTree/SyntaxTreeOps.fsi index 3aa8ebba11d..cb5fe46a1b6 100644 --- a/src/Compiler/SyntaxTree/SyntaxTreeOps.fsi +++ b/src/Compiler/SyntaxTree/SyntaxTreeOps.fsi @@ -157,8 +157,6 @@ val mkSynQMarkSet: m: range -> a: SynExpr -> b: SynExpr -> c: SynExpr -> SynExpr //val mkSynDotBrackSeqSliceGet: m:range -> mDot:range -> arr:SynExpr -> argsList:SynIndexerArg list -> SynExpr -val mkSynDotParenGet: mLhs: range -> mDot: range -> a: SynExpr -> b: SynExpr -> SynExpr - val mkSynUnit: m: range -> SynExpr val mkSynUnitPat: m: range -> SynPat diff --git a/src/Compiler/lex.fsl b/src/Compiler/lex.fsl index f276f962202..4752bca915d 100644 --- a/src/Compiler/lex.fsl +++ b/src/Compiler/lex.fsl @@ -584,14 +584,6 @@ rule token (args: LexArgs) (skip: bool) = parse UINT8 (byte(x)) | _ -> fail args lexbuf (FSComp.SR.lexInvalidAsciiByteLiteral()) (UINT8(byte 0)) } - | "(*F#" - { if not skip then COMMENT (LexCont.Token (args.ifdefStack, args.stringNest)) - else token args skip lexbuf } - - | "F#*)" - { if not skip then COMMENT (LexCont.Token (args.ifdefStack, args.stringNest)) - else token args skip lexbuf } - | "(*)" { LPAREN_STAR_RPAREN } diff --git a/src/Compiler/pars.fsy b/src/Compiler/pars.fsy index 48eb91becf7..0542c45637d 100644 --- a/src/Compiler/pars.fsy +++ b/src/Compiler/pars.fsy @@ -5339,6 +5339,7 @@ atomicExprQualification: | SynExpr.IndexRange(None, mOperator, None, _m1, _m2, _) -> mkSynDot mDot mLhs e (SynIdent(ident(CompileOpName "*", mOperator), Some(IdentTrivia.OriginalNotationWithParen(lpr, "*", rpr)))) | _ -> + errorR(Deprecated(FSComp.SR.astDeprecatedIndexerNotation(), lhs parseState)) exprFromParseError $2) } | LBRACK typedSequentialExpr RBRACK diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Completion.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Completion.fs index a46757ef5cd..b2edb2a68c7 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Completion.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.Completion.fs @@ -2821,24 +2821,6 @@ let x = query { for bbbb in abbbbc(*D0*) do t.Start() System.Threading.Thread.Sleep(1000) - [] - member public this.``DotBetweenParens.Bug175360.Case1``() = - AssertAutoCompleteContains - [ - "let a = 10." - "(a :> System.IConvertible).(null) |> ignore" ] - "ible)." - [ "ToDecimal" ] // should contain - [] // should not contain - - [] - member public this.``DotBetweenParens.Bug175360.Case2``() = - AssertAutoCompleteContains - [ "[| 1 |].(0)" ] - "|]." - [ "Clone" ] // should contain - [] // should not contain - [] member public this.``GenericType.Self.Bug69673_1.01``() = AssertCtrlSpaceCompleteContains @@ -2997,16 +2979,6 @@ let x = query { for bbbb in abbbbc(*D0*) do [ "abs" ] // should contain (top level) [ "CompareTo" ] // should not contain (from Int32) - // Verify the auto completion after the close-parentheses, - // there should be auto completion - [] - member public this.``Array.AfterParentheses.Bug175360``() = - AssertAutoCompleteContainsNoCoffeeBreak - [ "let a = 10." - "let r = (a :> System.IConvertible).(null)" ] - "IConvertible)." // marker - [ "ToDecimal" ] // should contain (top level) - [ ] // should not contain [] member public this.``Identifier.FuzzyDefined.Bug67133``() = diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.General.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.General.fs index dc5ff0822a3..59dab3c110e 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.General.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.General.fs @@ -202,7 +202,7 @@ type UsingMSBuild() = // Sanity check MoveCursorToStartOfMarker(file,"//") - AssertEqual(TokenType.PreprocessorKeyword, GetTokenTypeAtCursor(file)) + AssertEqual(TokenType.Comment, GetTokenTypeAtCursor(file)) MoveCursorToEndOfMarker(file,"let x = ") AssertEqual(TokenType.String, GetTokenTypeAtCursor(file)) diff --git a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.GotoDefinition.fs b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.GotoDefinition.fs index 6be03a4f957..3e115779423 100644 --- a/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.GotoDefinition.fs +++ b/vsintegration/tests/UnitTests/LegacyLanguageService/Tests.LanguageService.GotoDefinition.fs @@ -672,6 +672,7 @@ type UsingMSBuild() = member internal this.SolutionGotoDefinitionTestWithSimpleFile (startLoc : string)(exp : (string * string) option) : unit = let lines = [ + "" "let _ = 3" "let _ = \"hi\"" "let _ = 2 + 3" @@ -1291,6 +1292,7 @@ type UsingMSBuild() = member this.``GotoDefinition.ObjectOriented.StructConstructor`` () = let lines = [ + "" "[]" "type Astruct(x:int, y:int) =" " []" From 7fc5ac0bc8a910d93f940d7cd61d90f35f50fb32 Mon Sep 17 00:00:00 2001 From: kerams Date: Fri, 12 Dec 2025 14:23:05 +0100 Subject: [PATCH 20/25] Fixes --- .../LegacyProjectSystem/Tests.ProjectSystem.Project.fs | 5 +++++ .../LegacyProjectSystem/Tests.ProjectSystem.ProjectItems.fs | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Project.fs b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Project.fs index 26cdb992ca0..56bde547a4e 100644 --- a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Project.fs +++ b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.Project.fs @@ -595,6 +595,7 @@ type Project() = this.MakeProjectAndDo(["orig1.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "orig1.fs") try + File.AppendAllText(absFilePath, "//") let orig1 = TheTests.FindNodeWithCaption(project, "orig1.fs") VsMocks.vsRunningDocumentTableNextRenameDocumentCallThrows <- true VsMocks.vsRunningDocumentTableFindAndLockDocumentVsHierarchyMock <- project @@ -621,6 +622,7 @@ type Project() = this.MakeProjectAndDo(["a.fs";"b.fs";"orig1.fs";"c.fs";"d.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "orig1.fs") try + File.AppendAllText(absFilePath, "//") let orig1 = TheTests.FindNodeWithCaption(project, "orig1.fs") VsMocks.vsRunningDocumentTableNextRenameDocumentCallThrows <- true VsMocks.vsRunningDocumentTableFindAndLockDocumentVsHierarchyMock <- project @@ -653,6 +655,7 @@ type Project() = this.MakeProjectAndDo([name1], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, name1) try + File.AppendAllText(absFilePath, "//") let orig1 = TheTests.FindNodeWithCaption(project, name1) VsMocks.vsRunningDocumentTableFindAndLockDocumentVsHierarchyMock <- project try @@ -672,6 +675,7 @@ type Project() = this.MakeProjectAndDo(["orig1.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "orig1.fs") try + File.AppendAllText(absFilePath, "//") let orig1 = TheTests.FindNodeWithCaption(project, "orig1.fs") VsMocks.vsRunningDocumentTableFindAndLockDocumentVsHierarchyMock <- project try @@ -698,6 +702,7 @@ type Project() = let absFilePath = Path.Combine(project.ProjectFolder, "Folder1", "nested1.fs") try Directory.CreateDirectory(Path.GetDirectoryName(absFilePath)) |> ignore; + File.AppendAllText(absFilePath, "//") let orig1 = TheTests.FindNodeWithCaption(project, "nested1.fs") let folder1 = TheTests.FindNodeWithCaption(project, "Folder1") VsMocks.vsRunningDocumentTableFindAndLockDocumentVsHierarchyMock <- project diff --git a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.ProjectItems.fs b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.ProjectItems.fs index 8f75692904f..d13a0988faa 100644 --- a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.ProjectItems.fs +++ b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.ProjectItems.fs @@ -68,6 +68,7 @@ type ProjectItems() = this.MakeProjectAndDo(["orig.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "a.fs") try + File.AppendAllText(absFilePath, "//") // Note: this is not the same code path as the UI, but it is close project.MoveNewlyAddedFileToBottomOfGroup (fun () -> project.AddNewFileNodeToHierarchy(project,absFilePath) |> ignore) @@ -84,6 +85,7 @@ type ProjectItems() = Directory.CreateDirectory(dir) |> ignore let absFilePath = Path.Combine(dir, "a.fs") try + File.AppendAllText(absFilePath, "//") // Note: this is not the same code path as the UI, but it is close project.MoveNewlyAddedFileToBottomOfGroup (fun () -> project.AddNewFileNodeToHierarchy(project.FindChild("Folder"),absFilePath) |> ignore) @@ -98,6 +100,7 @@ type ProjectItems() = this.MakeProjectAndDo(["orig1.fs"; "orig2.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "new.fs") try + File.AppendAllText(absFilePath, "//") // Note: this is not the same code path as the UI, but it is close let orig1 = TheTests.FindNodeWithCaption(project, "orig1.fs") project.MoveNewlyAddedFileBelow (orig1, fun () -> @@ -120,6 +123,7 @@ type ProjectItems() = this.MakeProjectAndDo(["orig1.fs"; "orig2.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "new.fs") try + File.AppendAllText(absFilePath, "//") // Note: this is not the same code path as the UI, but it is close let orig2 = TheTests.FindNodeWithCaption(project, "orig2.fs") project.MoveNewlyAddedFileAbove (orig2, fun () -> @@ -142,6 +146,7 @@ type ProjectItems() = this.MakeProjectAndDo(["orig1.fs"; "orig2.fs"], [], "", (fun project -> let absFilePath = Path.Combine(project.ProjectFolder, "new.fs") try + File.AppendAllText(absFilePath, "//") // Note: this is not the same code path as the UI, but it is close let orig1 = TheTests.FindNodeWithCaption(project, "orig1.fs") project.MoveNewlyAddedFileAbove (orig1, fun () -> From f9607ec2211e1812cc2e52bb68785e036978e145 Mon Sep 17 00:00:00 2001 From: kerams Date: Fri, 12 Dec 2025 18:45:45 +0100 Subject: [PATCH 21/25] Release notes, out of support version check --- azure-pipelines-PR.yml | 2 ++ azure-pipelines.yml | 1 + docs/release-notes/.FSharp.Compiler.Service/10.0.200.md | 4 ++++ docs/release-notes/.FSharp.Core/10.0.200.md | 4 ++++ docs/release-notes/.Language/preview.md | 3 +++ src/Compiler/Driver/CompilerOptions.fs | 2 ++ src/Compiler/FSComp.txt | 1 + src/Compiler/Facilities/LanguageFeatures.fs | 9 ++++++++- src/Compiler/Facilities/LanguageFeatures.fsi | 5 ++++- src/Compiler/xlf/FSComp.txt.cs.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.de.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.es.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.fr.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.it.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.ja.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.ko.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.pl.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.pt-BR.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.ru.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.tr.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.zh-Hans.xlf | 5 +++++ src/Compiler/xlf/FSComp.txt.zh-Hant.xlf | 5 +++++ 22 files changed, 94 insertions(+), 2 deletions(-) diff --git a/azure-pipelines-PR.yml b/azure-pipelines-PR.yml index cd84d88b809..7ff712b9fbc 100644 --- a/azure-pipelines-PR.yml +++ b/azure-pipelines-PR.yml @@ -470,6 +470,7 @@ stages: DOTNET_DbgMiniDumpType: 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing. DOTNET_DbgMiniDumpName: $(Build.SourcesDirectory)\artifacts\log\$(_configuration)\$(Build.BuildId)-%e-%p-%t.dmp NativeToolsOnMachine: true + SKIP_VERSION_SUPPORTED_CHECK: 1 displayName: Build and Test $(_testKind) $(transparentCompiler) - task: PublishTestResults@2 @@ -706,6 +707,7 @@ stages: - script: .\Build.cmd -c Release -pack env: NativeToolsOnMachine: true + SKIP_VERSION_SUPPORTED_CHECK: 1 - script: .\tests\EndToEndBuildTests\EndToEndBuildTests.cmd -c Release displayName: End to end build tests diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 709b6a94b4a..279440c9866 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -149,6 +149,7 @@ extends: NativeToolsOnMachine: true FSHARP_CACHE_OVERRIDE: 256 FSharp_CacheEvictionImmediate: true + SKIP_VERSION_SUPPORTED_CHECK: 1 - task: PublishTestResults@2 displayName: Publish Test Results inputs: diff --git a/docs/release-notes/.FSharp.Compiler.Service/10.0.200.md b/docs/release-notes/.FSharp.Compiler.Service/10.0.200.md index 03c30d64d6c..880fb67c4e6 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/10.0.200.md +++ b/docs/release-notes/.FSharp.Compiler.Service/10.0.200.md @@ -8,3 +8,7 @@ * `SynExprLetOrUseTrivia` is now `SynLetOrUseTrivia`. ([PR #19090](https://github.com/dotnet/fsharp/pull/19090)) * `SynMemberDefn.LetBindings` has trivia. ([PR #19090](https://github.com/dotnet/fsharp/pull/19090)) * `SynModuleDecl.Let` has trivia. ([PR #19090](https://github.com/dotnet/fsharp/pull/19090)) +* Removed support for `.ml` and `.mli` source files. ([PR #19143](https://github.com/dotnet/fsharp/pull/19143)) +* Removed `#light` and `#indent` directives (they are now a no-op; combined with `off` they give an error). ([PR #19143](https://github.com/dotnet/fsharp/pull/19143)) +* Removed `--light`, `--indentation-syntax`, `--no-indendation-syntax`, `--ml-keywords` and `--mlcompatibility` compiler/fsi flags. ([PR #19143](https://github.com/dotnet/fsharp/pull/19143)) +* Removed parsing support for long-deprecated ML (non-light) constructs. ([PR #19143](https://github.com/dotnet/fsharp/pull/19143)) diff --git a/docs/release-notes/.FSharp.Core/10.0.200.md b/docs/release-notes/.FSharp.Core/10.0.200.md index ceba7553639..b544224fdaa 100644 --- a/docs/release-notes/.FSharp.Core/10.0.200.md +++ b/docs/release-notes/.FSharp.Core/10.0.200.md @@ -1,3 +1,7 @@ ### Fixed * Fix IL2091 trimming warning in `LazyExtensions.Create` by adding `DynamicallyAccessedMembers` attribute to the generic type parameter. ([Issue #17356](https://github.com/dotnet/fsharp/issues/17356), [PR #18302](https://github.com/dotnet/fsharp/pull/18302)) + +### Changed + +* Renamed deprecated `or` and `&` operators, but keeping the original compiled names for binary compatibility. ([PR #19143](https://github.com/dotnet/fsharp/pull/19143)) \ No newline at end of file diff --git a/docs/release-notes/.Language/preview.md b/docs/release-notes/.Language/preview.md index e5c2b65704f..bf4928cc213 100644 --- a/docs/release-notes/.Language/preview.md +++ b/docs/release-notes/.Language/preview.md @@ -19,3 +19,6 @@ * Fix type erasure logic for `nativeptr<'T>` overloads to properly preserve element type differences during duplicate member checking. ([Issue #](https://github.com/dotnet/fsharp/issues/), [PR #](https://github.com/dotnet/fsharp/pull/)) ### Changed + +* Removed parsing support for long-deprecated ML constructs and non-light syntax. ([PR #19143](https://github.com/dotnet/fsharp/pull/19143)) +* Released `asr`, `land`, `lor`, `lsl`, `lsr` and `lxor` as usable keywords (note: `mod` continues to be reserved). ([PR #19143](https://github.com/dotnet/fsharp/pull/19143)) \ No newline at end of file diff --git a/src/Compiler/Driver/CompilerOptions.fs b/src/Compiler/Driver/CompilerOptions.fs index 0960d153137..0ab22de4f26 100644 --- a/src/Compiler/Driver/CompilerOptions.fs +++ b/src/Compiler/Driver/CompilerOptions.fs @@ -1142,6 +1142,8 @@ let setLanguageVersion (specifiedVersion: string) = () elif not (LanguageVersion.ContainsVersion specifiedVersion) then error (Error(FSComp.SR.optsUnrecognizedLanguageVersion specifiedVersion, rangeCmdArgs)) + elif not (LanguageVersion.IsVersionSupported specifiedVersion) then + error (Error(FSComp.SR.optsLangVersionOutOfSupport (specifiedVersion, "10.0"), rangeCmdArgs)) LanguageVersion(specifiedVersion) diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index 0123e3d5797..3396d998557 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -1799,3 +1799,4 @@ featureAllowLetOrUseBangTypeAnnotationWithoutParens,"Allow let! and use! type an 3877,lexLineDirectiveMappingIsNotUnique,"The file '%s' was also pointed to in a line directive in '%s'. Proper warn directive application may not be possible." 3878,tcAttributeIsNotValidForUnionCaseWithFields,"This attribute is not valid for use on union cases with fields." featureReturnFromFinal,"Support for ReturnFromFinal/YieldFromFinal in computation expressions to enable tailcall optimization when available on the builder." +3879,optsLangVersionOutOfSupport,"Language version '%s' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/%s" diff --git a/src/Compiler/Facilities/LanguageFeatures.fs b/src/Compiler/Facilities/LanguageFeatures.fs index 6797aa3e858..09fbf5e5991 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fs +++ b/src/Compiler/Facilities/LanguageFeatures.fs @@ -291,11 +291,18 @@ type LanguageVersion(versionText) = /// Has preview been explicitly specified member _.IsPreviewEnabled = specified = previewVersion - /// Does the languageVersion support this version string + /// Is the selected LanguageVersion valid static member ContainsVersion version = let langVersion = getVersionFromString version langVersion <> 0m && languageVersions.Contains langVersion + /// Is the selected LanguageVersion currently supported + static member IsVersionSupported version = + let langVersion = getVersionFromString version + + langVersion >= languageVersion80 + || System.Environment.GetEnvironmentVariable("SKIP_VERSION_SUPPORTED_CHECK") = "1" + /// Get a list of valid strings for help text static member ValidOptions = validOptions diff --git a/src/Compiler/Facilities/LanguageFeatures.fsi b/src/Compiler/Facilities/LanguageFeatures.fsi index dc99e3042b8..cc5a7a20f9f 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fsi +++ b/src/Compiler/Facilities/LanguageFeatures.fsi @@ -102,9 +102,12 @@ type LanguageVersion = /// Create a LanguageVersion management object new: string -> LanguageVersion - /// Get the list of valid versions + /// Is the selected LanguageVersion valid static member ContainsVersion: string -> bool + /// Is the selected LanguageVersion currently supported + static member IsVersionSupported: string -> bool + /// Has preview been explicitly specified member IsPreviewEnabled: bool diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index b0b27b31ebb..12066eeff01 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -997,6 +997,11 @@ Neplatná cesta k referenčnímu sestavení + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. Zadejte zahrnuté informace o optimalizaci, výchozí hodnota je soubor. Důležité pro distribuované knihovny. diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index 1199e290265..7a2b1b4f05a 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -997,6 +997,11 @@ Ungültiger Referenzassemblypfad" + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. Geben Sie die enthaltenen Optimierungsinformationen an, der Standardwert ist „file“. Wichtig für verteilte Bibliotheken. diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index 3d432d2ae41..601788ade7e 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -997,6 +997,11 @@ Ruta de acceso de ensamblado de referencia no válida + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. Especifique la información de optimización incluida, el valor predeterminado es el archivo. Importante para las bibliotecas distribuidas. diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index 94ca187e00f..b9f18dba921 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -997,6 +997,11 @@ Chemin d'assemblage de référence non valide' + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. Spécifiez les informations d’optimisation incluses, la valeur par défaut est le fichier. Important pour les bibliothèques distribuées. diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index ceb229dbad4..1c0c41fe780 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -997,6 +997,11 @@ Percorso assembly di riferimento non valido' + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. Specificare le informazioni di ottimizzazione incluse. Il valore predefinito è file. Important per le librerie distribuite. diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index a6b0b09de3d..467468d047b 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -997,6 +997,11 @@ 参照アセンブリ パスが無効です' + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. 含まれる最適化情報を指定します。既定値は file です。分散ライブラリの場合は重要です。 diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index 5ade5d3b9fe..93752facee4 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -997,6 +997,11 @@ 잘못된 참조 어셈블리 경로' + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. 포함된 최적화 정보를 지정합니다. 기본값은 파일입니다. 분산 라이브러리에 중요합니다. diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index 1dd360978fa..9e2d52277b6 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -997,6 +997,11 @@ Nieprawidłowa ścieżka zestawu odwołania“ + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. Określ dołączone informacje o optymalizacji. Wartość domyślna to plik. Ważne dla bibliotek rozproszonych. diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index fc9d083c63a..565d58a86aa 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -997,6 +997,11 @@ Caminho de assembly de referência inválido' + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. Especifique as informações de otimização incluídas, o padrão é o file. Importante para bibliotecas distribuídas. diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index f15054b8e49..81ab1d24f5c 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -997,6 +997,11 @@ Неверный путь к базовой сборке' + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. Укажите включенные сведения об оптимизации, по умолчанию это файл. Необходимо для распределенных библиотек. diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index 8f3f900da19..8da32ef95b5 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -997,6 +997,11 @@ Geçersiz başvuru bütünleştirilmiş kodu yolu' + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. Dahil edilen iyileştirme bilgilerini belirtin; varsayılan değer dosyadır. Dağıtılmış kitaplıklar için önemlidir. diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index c714ae92bf8..bbce4e5dd98 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -997,6 +997,11 @@ 引用程序集路径无效 + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. 指定包含的优化信息,默认值为文件。对于分发库非常重要。 diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index ddc4aa31551..723bbd6bf95 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -997,6 +997,11 @@ 無效的參考組件路徑' + + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + Language version '{0}' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/{1} + + Specify included optimization information, the default is file. Important for distributed libraries. 指定包含的最佳化資訊,預設值為檔案。對於分散式文件庫很重要。 From a3b26bc8887029dc42a0a4fe2824a1e9e6c9dac7 Mon Sep 17 00:00:00 2001 From: kerams Date: Fri, 12 Dec 2025 19:18:40 +0100 Subject: [PATCH 22/25] Pipeline --- azure-pipelines-PR.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/azure-pipelines-PR.yml b/azure-pipelines-PR.yml index 7ff712b9fbc..72c1d02bba5 100644 --- a/azure-pipelines-PR.yml +++ b/azure-pipelines-PR.yml @@ -546,6 +546,7 @@ stages: DOTNET_DbgMiniDumpType: 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing. DOTNET_DbgMiniDumpName: $(Build.SourcesDirectory)\artifacts\log\Release\$(Build.BuildId)-%e-%p-%t.dmp NativeToolsOnMachine: true + SKIP_VERSION_SUPPORTED_CHECK: 1 displayName: Build / Test - task: PublishTestResults@2 @@ -620,6 +621,8 @@ stages: - checkout: self clean: true - script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr + env: + SKIP_VERSION_SUPPORTED_CHECK: 1 displayName: Build / Test - task: PublishTestResults@2 displayName: Publish Test Results @@ -665,6 +668,7 @@ stages: - script: ./eng/cibuild.sh --configuration $(_BuildConfig) --testcoreclr env: COMPlus_DefaultStackSize: 1000000 + SKIP_VERSION_SUPPORTED_CHECK: 1 displayName: Build / Test - task: PublishTestResults@2 displayName: Publish Test Results From 126d999deba0493ac5b2a47a1ed2f25f70c894ed Mon Sep 17 00:00:00 2001 From: kerams Date: Fri, 12 Dec 2025 20:02:23 +0100 Subject: [PATCH 23/25] Pipeline --- azure-pipelines-PR.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/azure-pipelines-PR.yml b/azure-pipelines-PR.yml index 72c1d02bba5..f384aa86e60 100644 --- a/azure-pipelines-PR.yml +++ b/azure-pipelines-PR.yml @@ -267,6 +267,7 @@ stages: DOTNET_DbgMiniDumpType: 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing. DOTNET_DbgMiniDumpName: $(Build.SourcesDirectory)\artifacts\log\Release\$(Build.BuildId)-%e-%p-%t.dmp NativeToolsOnMachine: true + SKIP_VERSION_SUPPORTED_CHECK: 1 displayName: Build - task: PublishTestResults@2 From fcdd10884ea2b43e4fa20f96babc4e7d3f399690 Mon Sep 17 00:00:00 2001 From: kerams Date: Fri, 12 Dec 2025 20:54:17 +0100 Subject: [PATCH 24/25] Pipeline --- azure-pipelines-PR.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/azure-pipelines-PR.yml b/azure-pipelines-PR.yml index f384aa86e60..47170580d69 100644 --- a/azure-pipelines-PR.yml +++ b/azure-pipelines-PR.yml @@ -317,6 +317,7 @@ stages: DOTNET_DbgMiniDumpType: 3 # Triage dump, 1 for mini, 2 for Heap, 3 for triage, 4 for full. Don't use 4 unless you know what you're doing. DOTNET_DbgMiniDumpName: $(Build.SourcesDirectory)\artifacts\log\Release\$(Build.BuildId)-%e-%p-%t.dmp NativeToolsOnMachine: true + SKIP_VERSION_SUPPORTED_CHECK: 1 displayName: Build - task: PublishTestResults@2 From 9bd47af419707d23740df5ff3678347a6fe6447e Mon Sep 17 00:00:00 2001 From: kerams Date: Mon, 15 Dec 2025 16:36:59 +0100 Subject: [PATCH 25/25] Feedback --- buildtools/fsyacc/fsyaccast.fs | 3 --- buildtools/fsyacc/fsyaccpars.fs | 3 --- src/Compiler/pars.fsy | 29 ++++++++++---------------- src/FSharp.Core/prim-types-prelude.fsi | 1 - 4 files changed, 11 insertions(+), 25 deletions(-) diff --git a/buildtools/fsyacc/fsyaccast.fs b/buildtools/fsyacc/fsyaccast.fs index 94ba33ab5ff..8681786a0d8 100644 --- a/buildtools/fsyacc/fsyaccast.fs +++ b/buildtools/fsyacc/fsyaccast.fs @@ -2,9 +2,6 @@ module FsLexYacc.FsYacc.AST -#nowarn "62" // This construct is for ML compatibility. - - open System open System.Collections.Generic open Printf diff --git a/buildtools/fsyacc/fsyaccpars.fs b/buildtools/fsyacc/fsyaccpars.fs index 504e1cb55ed..baa6748c6ea 100644 --- a/buildtools/fsyacc/fsyaccpars.fs +++ b/buildtools/fsyacc/fsyaccpars.fs @@ -12,9 +12,6 @@ open FSharp.Text.Parsing.ParseHelpers open FsLexYacc.FsYacc open FsLexYacc.FsYacc.AST -#nowarn "62" // This construct is for ML compatibility - - # 18 "fsyaccpars.fs" // This type is the type of tokens accepted by the parser type token = diff --git a/src/Compiler/pars.fsy b/src/Compiler/pars.fsy index 0542c45637d..37eb245265d 100644 --- a/src/Compiler/pars.fsy +++ b/src/Compiler/pars.fsy @@ -172,7 +172,7 @@ let parse_error_rich = Some(fun (ctxt: ParseErrorContext<_>) -> %type declExprBlock %type headBindingPattern %type appTypeNullableInParens -%type atomTypeNonAtomicDeprecated +%type atomType %type atomTypeOrAnonRecdType %type atomicExprAfterType %type typedSequentialExprBlock @@ -2327,12 +2327,12 @@ opt_classDefn: /* An 'inherits' definition in an object type definition */ inheritsDefn: - | INHERIT atomTypeNonAtomicDeprecated optBaseSpec + | INHERIT atomType optBaseSpec { let mDecl = unionRanges (rhs parseState 1) $2.Range let trivia = { InheritKeyword = rhs parseState 1 } SynMemberDefn.Inherit(Some $2, $3, mDecl, trivia) } - | INHERIT atomTypeNonAtomicDeprecated opt_HIGH_PRECEDENCE_APP atomicExprAfterType optBaseSpec + | INHERIT atomType opt_HIGH_PRECEDENCE_APP atomicExprAfterType optBaseSpec { let mDecl = unionRanges (rhs parseState 1) $4.Range let trivia = { InheritKeyword = rhs parseState 1 } SynMemberDefn.ImplicitInherit($2, $4, $5, mDecl, trivia) } @@ -5142,15 +5142,15 @@ minusExpr: | AMP_AMP minusExpr { SynExpr.AddressOf(false, $2, rhs parseState 1, unionRanges (rhs parseState 1) $2.Range) } - | NEW atomTypeNonAtomicDeprecated opt_HIGH_PRECEDENCE_APP atomicExprAfterType DOT atomicExprQualification + | NEW atomType opt_HIGH_PRECEDENCE_APP atomicExprAfterType DOT atomicExprQualification { errorR (Error (FSComp.SR.parsNewExprMemberAccess (), rhs parseState 6)) let newExpr = SynExpr.New(false, $2, $4, unionRanges (rhs parseState 1) $4.Range) $6 newExpr (lhs parseState) (rhs parseState 5) } - | NEW atomTypeNonAtomicDeprecated opt_HIGH_PRECEDENCE_APP atomicExprAfterType + | NEW atomType opt_HIGH_PRECEDENCE_APP atomicExprAfterType { SynExpr.New(false, $2, $4, unionRanges (rhs parseState 1) $4.Range) } - | NEW atomTypeNonAtomicDeprecated opt_HIGH_PRECEDENCE_APP error + | NEW atomType opt_HIGH_PRECEDENCE_APP error { SynExpr.New(false, $2, arbExpr ("minusExpr", (rhs parseState 4)), unionRanges (rhs parseState 1) ($2).Range) } | NEW error @@ -5654,7 +5654,7 @@ optInlineAssemblyReturnTypes: { [] } recdExpr: - | INHERIT atomTypeNonAtomicDeprecated opt_HIGH_PRECEDENCE_APP opt_atomicExprAfterType recdExprBindings opt_seps_block + | INHERIT atomType opt_HIGH_PRECEDENCE_APP opt_atomicExprAfterType recdExprBindings opt_seps_block { let arg = match $4 with None -> mkSynUnit (lhs parseState) | Some e -> e let l = List.rev $5 let dummyField = mkRecdField (SynLongIdent([], [], [])) // dummy identifier, it will be discarded @@ -5814,18 +5814,18 @@ objExpr: let fullRange = match $3 with [] -> (rhs parseState 1) | _ -> (rhs2 parseState 1 3) fullRange, (fun m -> let (a, b) = $1 in SynExpr.ObjExpr(a, b, None, [], [], $3, mNewExpr, m)) } - | NEW atomTypeNonAtomicDeprecated + | NEW atomType { let mNewExpr = rhs parseState 1 (rhs2 parseState 1 2), (fun m -> let (a, b) = $2, None in SynExpr.ObjExpr(a, b, None, [], [], [], mNewExpr, m)) } objExprBaseCall: - | NEW atomTypeNonAtomicDeprecated opt_HIGH_PRECEDENCE_APP atomicExprAfterType baseSpec + | NEW atomType opt_HIGH_PRECEDENCE_APP atomicExprAfterType baseSpec { ($2, Some($4, Some($5))) } - | NEW atomTypeNonAtomicDeprecated opt_HIGH_PRECEDENCE_APP atomicExprAfterType + | NEW atomType opt_HIGH_PRECEDENCE_APP atomicExprAfterType { ($2, Some($4, None)) } - | NEW atomTypeNonAtomicDeprecated + | NEW atomType { $2, None } @@ -6489,13 +6489,6 @@ powerType: SynType.MeasurePower($1, SynRationalConst.Negate($3, m), lhs parseState) else SynType.MeasurePower($1, $3, lhs parseState) } - -/* Like appType but gives a deprecation error when a non-atomic type is used */ -/* Also, doesn't start with '{|' */ -atomTypeNonAtomicDeprecated: - | atomType - { $1 } - atomTypeOrAnonRecdType: | atomType { $1 } diff --git a/src/FSharp.Core/prim-types-prelude.fsi b/src/FSharp.Core/prim-types-prelude.fsi index e21a8f48d33..1097426f8b7 100644 --- a/src/FSharp.Core/prim-types-prelude.fsi +++ b/src/FSharp.Core/prim-types-prelude.fsi @@ -6,7 +6,6 @@ #nowarn "35" // This construct is deprecated: the treatment of this operator is now handled directly by the F# compiler and its meaning may not be redefined. #nowarn "61" // The containing type can use null as a representation value for its nullary union case. This member will be compiled as a static member. -#nowarn "62" // This construct is for ML compatibility. The syntax module ... : sig .. end is deprecated unless OCaml compatibility is enabled. Consider using module ... = begin .. end'. // Basic F# type definitions, functions and operators. namespace Microsoft.FSharp.Core