# -------------------------------------------------------------------------------
# use a completely new error number and keep messages in their surrounding groups
# -------------------------------------------------------------------------------
# Error numbers before 200 are listed in src/Compiler/Driver/CompilerDiagnostics.fs from the line with "member exn.DiagnosticNumber ="
undefinedNameNamespace,"The namespace '%s' is not defined."
undefinedNameNamespaceOrModule,"The namespace or module '%s' is not defined."
undefinedNameFieldConstructorOrMember,"The field, constructor or member '%s' is not defined."
undefinedNameFieldConstructorOrMemberWhenTypeIsKnown,"The type '%s' does not define the field, constructor or member '%s'."
undefinedNameValueConstructorNamespaceOrType,"The value, constructor, namespace or type '%s' is not defined."
undefinedNameValueOfConstructor,"The value or constructor '%s' is not defined."
undefinedNameValueNamespaceTypeOrModule,"The value, namespace, type or module '%s' is not defined."
undefinedNameConstructorModuleOrNamespace,"The constructor, module or namespace '%s' is not defined."
undefinedNameType,"The type '%s' is not defined."
undefinedNameTypeIn,"The type '%s' is not defined in '%s'."
undefinedNameRecordLabelOrNamespace,"The record label or namespace '%s' is not defined."
undefinedNameRecordLabel,"The record label '%s' is not defined."
undefinedNameSuggestionsIntro,"Maybe you want one of the following:"
undefinedNameTypeParameter,"The type parameter %s is not defined."
undefinedNamePatternDiscriminator,"The pattern discriminator '%s' is not defined."
replaceWithSuggestion,"Replace with '%s'"
addIndexerDot,"Add . for indexer access."
listElementHasWrongType,"All elements of a list must be implicitly convertible to the type of the first element, which here is '%s'. This element has type '%s'."
listElementHasWrongTypeTuple,"All elements of a list must be implicitly convertible to the type of the first element, which here is a tuple of length %d of type\n    %s    \nThis element is a tuple of length %d of type\n    %s    \n"
arrayElementHasWrongType,"All elements of an array must be implicitly convertible to the type of the first element, which here is '%s'. This element has type '%s'."
arrayElementHasWrongTypeTuple,"All elements of an array must be implicitly convertible to the type of the first element, which here is a tuple of length %d of type\n    %s    \nThis element is a tuple of length %d of type\n    %s    \n"
missingElseBranch,"This 'if' expression is missing an 'else' branch. Because 'if' is an expression, and not a statement, add an 'else' branch which also returns a value of type '%s'."
ifExpression,"The 'if' expression needs to have type '%s' to satisfy context type requirements. It currently has type '%s'."
ifExpressionTuple,"The 'if' expression needs to return a tuple of length %d of type\n    %s    \nto satisfy context type requirements. It currently returns a tuple of length %d of type\n    %s    \n"
elseBranchHasWrongType,"All branches of an 'if' expression must return values implicitly convertible to the type of the first branch, which here is '%s'. This branch returns a value of type '%s'."
elseBranchHasWrongTypeTuple,"All branches of an 'if' expression must return values implicitly convertible to the type of the first branch, which here is a tuple of length %d of type\n    %s    \nThis branch returns a tuple of length %d of type\n    %s    \n"
followingPatternMatchClauseHasWrongType,"All branches of a pattern match expression must return values implicitly convertible to the type of the first branch, which here is '%s'. This branch returns a value of type '%s'."
followingPatternMatchClauseHasWrongTypeTuple,"All branches of a pattern match expression must return values implicitly convertible to the type of the first branch, which here is a tuple of length %d of type\n    %s    \nThis branch returns a tuple of length %d of type\n    %s    \n"
patternMatchGuardIsNotBool,"A pattern match guard must be of type 'bool', but this 'when' expression is of type '%s'."
commaInsteadOfSemicolonInRecord,"A ';' is used to separate field values in records. Consider replacing ',' with ';'."
derefInsteadOfNot,"The '!' operator is used to dereference a ref cell. Consider using 'not expr' here."
buildUnexpectedTypeArgs,"The non-generic type '%s' does not expect any type arguments, but here is given %d type argument(s)"
returnUsedInsteadOfReturnBang,"Consider using 'return!' instead of 'return'."
yieldUsedInsteadOfYieldBang,"Consider using 'yield!' instead of 'yield'."
tupleRequiredInAbstractMethod,"\nA tuple type is required for one or more arguments. Consider wrapping the given arguments in additional parentheses or review the definition of the interface."
10,parsUnexpectedSymbolDot,"Unexpected symbol '.' in member definition. Expected 'with', '=' or other token."
201,tcNamespaceCannotContainValues,"Namespaces cannot contain values. Consider using a module to hold your value declarations."
202,unsupportedAttribute,"This attribute is currently unsupported by the F# compiler. Applying it will not achieve its intended effect."
203,buildInvalidWarningNumber,"Invalid warning number '%s'"
204,buildInvalidVersionString,"Invalid version string '%s'"
205,buildInvalidVersionFile,"Invalid version file '%s'"
206,buildProblemWithFilename,"Problem with filename '%s': %s"
207,buildNoInputsSpecified,"No inputs specified"
209,buildPdbRequiresDebug,"The '--pdb' option requires the '--debug' option to be used"
210,buildInvalidSearchDirectory,"The search directory '%s' is invalid"
211,buildSearchDirectoryNotFound,"The search directory '%s' could not be found"
212,buildInvalidFilename,"'%s' is not a valid filename"
213,buildInvalidAssemblyName,"'%s' is not a valid assembly name"
214,buildInvalidPrivacy,"Unrecognized privacy setting '%s' for managed resource, valid options are 'public' and 'private'"
218,buildCannotReadAssembly,"Unable to read assembly '%s'"
220,buildAssemblyResolutionFailed,"Assembly resolution failure at or near this location"
221,buildImplicitModuleIsNotLegalIdentifier,"The declarations in this file will be placed in an implicit module '%s' based on the file name '%s'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file."
222,buildMultiFileRequiresNamespaceOrModule,"Files in libraries or multiple-file applications must begin with a namespace or module declaration, e.g. 'namespace SomeNamespace.SubNamespace' or 'module SomeNamespace.SomeModule'. Only the last source file of an application may omit such a declaration."
222,noEqualSignAfterModule,"Files in libraries or multiple-file applications must begin with a namespace or module declaration. When using a module declaration at the start of a file the '=' sign is not allowed. If this is a top-level module, consider removing the = to resolve this error."
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#"
232,buildInvalidHashIDirective,"Invalid directive. Expected '#I \"<path>\"'."
233,buildInvalidHashrDirective,"Invalid directive. Expected '#r \"<file-or-assembly>\"'."
234,buildInvalidHashloadDirective,"Invalid directive. Expected '#load \"<file>\" ... \"<file>\"'."
235,buildInvalidHashtimeDirective,"Invalid directive. Expected '#time', '#time \"on\"' or '#time \"off\"'."
236,buildDirectivesInModulesAreIgnored,"Directives inside modules are ignored"
237,buildSignatureAlreadySpecified,"A signature for the file or module '%s' has already been specified"
238,buildImplementationAlreadyGivenDetail,"An implementation of file or module '%s' has already been given. Compilation order is significant in F# because of type inference. You may need to adjust the order of your files to place the signature file before the implementation. In Visual Studio files are type-checked in the order they appear in the project file, which can be edited manually or adjusted using the solution explorer."
239,buildImplementationAlreadyGiven,"An implementation of the file or module '%s' has already been given"
240,buildSignatureWithoutImplementation,"The signature file '%s' 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."
241,buildArgInvalidInt,"'%s' is not a valid integer argument"
242,buildArgInvalidFloat,"'%s' is not a valid floating point argument"
243,buildUnrecognizedOption,"Unrecognized option: '%s'. Use '--help' to learn about recognized command line options."
244,buildInvalidModuleOrNamespaceName,"Invalid module or namespace name"
pickleErrorReadingWritingMetadata,"Error reading/writing metadata for the F# compiled DLL '%s'. Was the DLL compiled with an earlier version of the F# compiler? (error: '%s')."
245,tastTypeOrModuleNotConcrete,"The type/module '%s' is not a concrete module or type"
tastTypeHasAssemblyCodeRepresentation,"The type '%s' has an inline assembly code representation"
246,optsUnrecognizedLanguageVersion,"Unrecognized value '%s' for --langversion use --langversion:? for complete list"
247,tastNamespaceAndModuleWithSameNameInAssembly,"A namespace and a module named '%s' both occur in two parts of this assembly"
248,tastTwoModulesWithSameNameInAssembly,"Two modules named '%s' occur in two parts of this assembly"
249,tastDuplicateTypeDefinitionInAssembly,"Two type definitions named '%s' occur in namespace '%s' in two parts of this assembly"
250,tastConflictingModuleAndTypeDefinitionInAssembly,"A module and a type definition named '%s' occur in namespace '%s' in two parts of this assembly"
251,tastInvalidMemberSignature,"Invalid member signature encountered because of an earlier error"
252,tastValueDoesNotHaveSetterType,"This value does not have a valid property setter type"
253,tastInvalidFormForPropertyGetter,"Invalid form for a property getter. At least one '()' argument is required when using the explicit syntax."
254,tastInvalidFormForPropertySetter,"Invalid form for a property setter. At least one argument is required."
255,tastUnexpectedByRef,"Unexpected use of a byref-typed variable"
256,tastValueMustBeMutable,"A value must be mutable in order to mutate the contents or take the address of a value type, e.g. 'let mutable x = ...'"
257,tastInvalidMutationOfConstant,"Invalid mutation of a constant expression. Consider copying the expression to a mutable local, e.g. 'let mutable x = ...'."
tastValueHasBeenCopied,"The value has been copied to ensure the original is not mutated by this operation or because the copy is implicit when returning a struct from a member and another member is then accessed"
259,tastRecursiveValuesMayNotBeInConstructionOfTuple,"Recursively defined values cannot appear directly as part of the construction of a tuple value within a recursive binding"
260,tastRecursiveValuesMayNotAppearInConstructionOfType,"Recursive values cannot appear directly as a construction of the type '%s' within a recursive binding. This feature has been removed from the F# language. Consider using a record instead."
261,tastRecursiveValuesMayNotBeAssignedToNonMutableField,"Recursive values cannot be directly assigned to the non-mutable field '%s' of the type '%s' within a recursive binding. Consider using a mutable field instead."
tastUnexpectedDecodeOfAutoOpenAttribute,"Unexpected decode of AutoOpenAttribute"
tastUnexpectedDecodeOfInternalsVisibleToAttribute,"Unexpected decode of InternalsVisibleToAttribute"
tastUnexpectedDecodeOfInterfaceDataVersionAttribute,"Unexpected decode of InterfaceDataVersionAttribute"
265,tastActivePatternsLimitedToSeven,"Active patterns cannot return more than 7 possibilities"
267,tastNotAConstantExpression,"This is not a valid constant expression or custom attribute value"
ValueNotContainedMutabilityAttributesDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe mutability attributes differ"
ValueNotContainedMutabilityNamesDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe names differ"
ValueNotContainedMutabilityCompiledNamesDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe compiled names differ"
ValueNotContainedMutabilityDisplayNamesDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe display names differ"
ValueNotContainedMutabilityAccessibilityMore,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe accessibility specified in the signature is more than that specified in the implementation"
ValueNotContainedMutabilityInlineFlagsDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe inline flags differ"
ValueNotContainedMutabilityLiteralConstantValuesDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe literal constant values and/or attributes differ"
ValueNotContainedMutabilityOneIsTypeFunction,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nOne is a type function and the other is not. The signature requires explicit type parameters if they are present in the implementation."
ValueNotContainedMutabilityParameterCountsDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe respective type parameter counts differ"
ValueNotContainedMutabilityTypesDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe types differ"
ValueNotContainedMutabilityExtensionsDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nOne is an extension member and the other is not"
ValueNotContainedMutabilityArityNotInferred,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nAn arity was not inferred for this value"
ValueNotContainedMutabilityGenericParametersDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe number of generic parameters in the signature and implementation differ (the signature declares %s but the implementation declares %s"
ValueNotContainedMutabilityGenericParametersAreDifferentKinds,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe generic parameters in the signature and implementation have different kinds. Perhaps there is a missing [<Measure>] attribute."
ValueNotContainedMutabilityAritiesDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe arities in the signature and implementation differ. The signature specifies that '%s' is function definition or lambda expression accepting at least %s argument(s), but the implementation is a computed function value. To declare that a computed function value is a permitted implementation simply parenthesize its type in the signature, e.g.\n\tval %s: int -> (int -> int)\ninstead of\n\tval %s: int -> int -> int."
ValueNotContainedMutabilityDotNetNamesDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe CLI member names differ"
ValueNotContainedMutabilityStaticsDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nOne is static and the other isn't"
ValueNotContainedMutabilityVirtualsDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nOne is virtual and the other isn't"
ValueNotContainedMutabilityAbstractsDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nOne is abstract and the other isn't"
ValueNotContainedMutabilityFinalsDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nOne is final and the other isn't"
ValueNotContainedMutabilityOverridesDiffer,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nOne is marked as an override and the other isn't"
ValueNotContainedMutabilityOneIsConstructor,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nOne is a constructor/property and the other is not"
ValueNotContainedMutabilityStaticButInstance,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe compiled representation of this method is as a static member but the signature indicates its compiled representation is as an instance member"
ValueNotContainedMutabilityInstanceButStatic,"Module '%s' contains\n    %s    \nbut its signature specifies\n    %s    \nThe compiled representation of this method is as an instance member, but the signature indicates its compiled representation is as a static member"
290,DefinitionsInSigAndImplNotCompatibleNamesDiffer,"The %s definitions in the signature and implementation are not compatible because the names differ. The type is called '%s' in the signature file but '%s' in implementation."
291,DefinitionsInSigAndImplNotCompatibleParameterCountsDiffer,"The %s definitions for type '%s' in the signature and implementation are not compatible because the respective type parameter counts differ"
292,DefinitionsInSigAndImplNotCompatibleAccessibilityDiffer,"The %s definitions for type '%s' in the signature and implementation are not compatible because the accessibility specified in the signature is more than that specified in the implementation"
293,DefinitionsInSigAndImplNotCompatibleMissingInterface,"The %s definitions for type '%s' in the signature and implementation are not compatible because the signature requires that the type supports the interface %s but the interface has not been implemented"
294,DefinitionsInSigAndImplNotCompatibleImplementationSaysNull,"The %s definitions for type '%s' in the signature and implementation are not compatible because the implementation says this type may use nulls as a representation but the signature does not"
294,DefinitionsInSigAndImplNotCompatibleImplementationSaysNull2,"The %s definitions for type '%s' in the signature and implementation are not compatible because the implementation says this type may use nulls as an extra value but the signature does not"
295,DefinitionsInSigAndImplNotCompatibleSignatureSaysNull,"The %s definitions for type '%s' in the signature and implementation are not compatible because the signature says this type may use nulls as a representation but the implementation does not"
295,DefinitionsInSigAndImplNotCompatibleSignatureSaysNull2,"The %s definitions for type '%s' in the signature and implementation are not compatible because the signature says this type may use nulls as an extra value but the implementation does not"
296,DefinitionsInSigAndImplNotCompatibleImplementationSealed,"The %s definitions for type '%s' in the signature and implementation are not compatible because the implementation type is sealed but the signature implies it is not. Consider adding the [<Sealed>] attribute to the signature."
297,DefinitionsInSigAndImplNotCompatibleImplementationIsNotSealed,"The %s definitions for type '%s' in the signature and implementation are not compatible because the implementation type is not sealed but signature implies it is. Consider adding the [<Sealed>] attribute to the implementation."
298,DefinitionsInSigAndImplNotCompatibleImplementationIsAbstract,"The %s definitions for type '%s' in the signature and implementation are not compatible because the implementation is an abstract class but the signature is not. Consider adding the [<AbstractClass>] attribute to the signature."
299,DefinitionsInSigAndImplNotCompatibleSignatureIsAbstract,"The %s definitions for type '%s' in the signature and implementation are not compatible because the signature is an abstract class but the implementation is not. Consider adding the [<AbstractClass>] attribute to the implementation."
300,DefinitionsInSigAndImplNotCompatibleTypesHaveDifferentBaseTypes,"The %s definitions for type '%s' in the signature and implementation are not compatible because the types have different base types"
301,DefinitionsInSigAndImplNotCompatibleNumbersDiffer,"The %s definitions for type '%s' in the signature and implementation are not compatible because the number of %ss differ"
302,DefinitionsInSigAndImplNotCompatibleSignatureDefinesButImplDoesNot,"The %s definitions for type '%s' in the signature and implementation are not compatible because the signature defines the %s '%s' but the implementation does not (or does, but not in the same order)"
303,DefinitionsInSigAndImplNotCompatibleImplDefinesButSignatureDoesNot,"The %s definitions for type '%s' in the signature and implementation are not compatible because the implementation defines the %s '%s' but the signature does not (or does, but not in the same order)"
304,DefinitionsInSigAndImplNotCompatibleImplDefinesStruct,"The %s definitions for type '%s' in the signature and implementation are not compatible because the implementation defines a struct but the signature defines a type with a hidden representation"
305,DefinitionsInSigAndImplNotCompatibleDotNetTypeRepresentationIsHidden,"The %s definitions for type '%s' in the signature and implementation are not compatible because a CLI type representation is being hidden by a signature"
306,DefinitionsInSigAndImplNotCompatibleTypeIsHidden,"The %s definitions for type '%s' in the signature and implementation are not compatible because a type representation is being hidden by a signature"
307,DefinitionsInSigAndImplNotCompatibleTypeIsDifferentKind,"The %s definitions for type '%s' in the signature and implementation are not compatible because the types are of different kinds"
308,DefinitionsInSigAndImplNotCompatibleILDiffer,"The %s definitions for type '%s' in the signature and implementation are not compatible because the IL representations differ"
309,DefinitionsInSigAndImplNotCompatibleRepresentationsDiffer,"The %s definitions for type '%s' in the signature and implementation are not compatible because the representations differ"
311,DefinitionsInSigAndImplNotCompatibleFieldWasPresent,"The %s definitions for type '%s' in the signature and implementation are not compatible because the field %s was present in the implementation but not in the signature"
312,DefinitionsInSigAndImplNotCompatibleFieldOrderDiffer,"The %s definitions for type '%s' in the signature and implementation are not compatible because the order of the fields is different in the signature and implementation"
313,DefinitionsInSigAndImplNotCompatibleFieldRequiredButNotSpecified,"The %s definitions for type '%s' in the signature and implementation are not compatible because the field %s was required by the signature but was not specified by the implementation"
314,DefinitionsInSigAndImplNotCompatibleFieldIsInImplButNotSig,"The %s definitions for type '%s' in the signature and implementation are not compatible because the field '%s' was present in the implementation but not in the signature. Struct types must now reveal their fields in the signature for the type, though the fields may still be labelled 'private' or 'internal'."
315,DefinitionsInSigAndImplNotCompatibleAbstractMemberMissingInImpl,"The %s definitions for type '%s' in the signature and implementation are not compatible because the abstract member '%s' was required by the signature but was not specified by the implementation"
316,DefinitionsInSigAndImplNotCompatibleAbstractMemberMissingInSig,"The %s definitions for type '%s' in the signature and implementation are not compatible because the abstract member '%s' was present in the implementation but not in the signature"
317,DefinitionsInSigAndImplNotCompatibleSignatureDeclaresDiffer,"The %s definitions for type '%s' in the signature and implementation are not compatible because the signature declares a %s while the implementation declares a %s"
319,DefinitionsInSigAndImplNotCompatibleAbbreviationHiddenBySig,"The %s definitions for type '%s' in the signature and implementation are not compatible because an abbreviation is being hidden by a signature. The abbreviation must be visible to other CLI languages. Consider making the abbreviation visible in the signature."
320,DefinitionsInSigAndImplNotCompatibleSigHasAbbreviation,"The %s definitions for type '%s' in the signature and implementation are not compatible because the signature has an abbreviation while the implementation does not"
ModuleContainsConstructorButNamesDiffer,"The module contains the constructor\n    %s    \nbut its signature specifies\n    %s    \nThe names differ"
ModuleContainsConstructorButDataFieldsDiffer,"The module contains the constructor\n    %s    \nbut its signature specifies\n    %s    \nThe respective number of data fields differ"
ModuleContainsConstructorButTypesOfFieldsDiffer,"The module contains the constructor\n    %s    \nbut its signature specifies\n    %s    \nThe types of the fields differ"
ModuleContainsConstructorButAccessibilityDiffers,"The module contains the constructor\n    %s    \nbut its signature specifies\n    %s    \nthe accessibility specified in the signature is more than that specified in the implementation"
FieldNotContainedNamesDiffer,"The module contains the field\n    %s    \nbut its signature specifies\n    %s    \nThe names differ"
FieldNotContainedAccessibilitiesDiffer,"The module contains the field\n    %s    \nbut its signature specifies\n    %s    \nthe accessibility specified in the signature is more than that specified in the implementation"
FieldNotContainedStaticsDiffer,"The module contains the field\n    %s    \nbut its signature specifies\n    %s    \nThe 'static' modifiers differ"
FieldNotContainedMutablesDiffer,"The module contains the field\n    %s    \nbut its signature specifies\n    %s    \nThe 'mutable' modifiers differ"
FieldNotContainedLiteralsDiffer,"The module contains the field\n    %s    \nbut its signature specifies\n    %s    \nThe 'literal' modifiers differ"
FieldNotContainedTypesDiffer,"The module contains the field\n    %s    \nbut its signature specifies\n    %s    \nThe types differ"
331,typrelCannotResolveImplicitGenericInstantiation,"The implicit instantiation of a generic construct at or near this point could not be resolved because it could resolve to multiple unrelated types, e.g. '%s' and '%s'. Consider using type annotations to resolve the ambiguity"
333,typrelCannotResolveAmbiguityInPrintf,"Could not resolve the ambiguity inherent in the use of a 'printf'-style format string"
334,typrelCannotResolveAmbiguityInEnum,"Could not resolve the ambiguity in the use of a generic construct with an 'enum' constraint at or near this position"
335,typrelCannotResolveAmbiguityInDelegate,"Could not resolve the ambiguity in the use of a generic construct with a 'delegate' constraint at or near this position"
337,typrelInvalidValue,"Invalid value"
338,typrelSigImplNotCompatibleParamCountsDiffer,"The signature and implementation are not compatible because the respective type parameter counts differ"
339,typrelSigImplNotCompatibleCompileTimeRequirementsDiffer,"The signature and implementation are not compatible because the type parameter in the class/signature has a different compile-time requirement to the one in the member/implementation"
340,typrelSigImplNotCompatibleConstraintsDiffer,"The signature and implementation are not compatible because the declaration of the type parameter '%s' requires a constraint of the form %s"
341,typrelSigImplNotCompatibleConstraintsDifferRemove,"The signature and implementation are not compatible because the type parameter '%s' has a constraint of the form %s but the implementation does not. Either remove this constraint from the signature or add it to the implementation."
342,typrelTypeImplementsIComparableShouldOverrideObjectEquals,"The type '%s' implements 'System.IComparable'. Consider also adding an explicit override for 'Object.Equals'"
343,typrelTypeImplementsIComparableDefaultObjectEqualsProvided,"The type '%s' implements 'System.IComparable' explicitly but provides no corresponding override for 'Object.Equals'. An implementation of 'Object.Equals' has been automatically provided, implemented via 'System.IComparable'. Consider implementing the override 'Object.Equals' explicitly"
344,typrelExplicitImplementationOfGetHashCodeOrEquals,"The struct, record or union type '%s' has an explicit implementation of 'Object.GetHashCode' or 'Object.Equals'. You must apply the 'CustomEquality' attribute to the type"
345,typrelExplicitImplementationOfGetHashCode,"The struct, record or union type '%s' has an explicit implementation of 'Object.GetHashCode'. Consider implementing a matching override for 'Object.Equals(obj)'"
346,typrelExplicitImplementationOfEquals,"The struct, record or union type '%s' has an explicit implementation of 'Object.Equals'. Consider implementing a matching override for 'Object.GetHashCode()'"
ExceptionDefsNotCompatibleHiddenBySignature,"The exception definitions are not compatible because a CLI exception mapping is being hidden by a signature. The exception mapping must be visible to other modules. The module contains the exception definition\n    %s    \nbut its signature specifies\n\t%s"
ExceptionDefsNotCompatibleDotNetRepresentationsDiffer,"The exception definitions are not compatible because the CLI representations differ. The module contains the exception definition\n    %s    \nbut its signature specifies\n\t%s"
ExceptionDefsNotCompatibleAbbreviationHiddenBySignature,"The exception definitions are not compatible because the exception abbreviation is being hidden by the signature. The abbreviation must be visible to other CLI languages. Consider making the abbreviation visible in the signature. The module contains the exception definition\n    %s    \nbut its signature specifies\n\t%s."
ExceptionDefsNotCompatibleSignaturesDiffer,"The exception definitions are not compatible because the exception abbreviations in the signature and implementation differ. The module contains the exception definition\n    %s    \nbut its signature specifies\n\t%s."
ExceptionDefsNotCompatibleExceptionDeclarationsDiffer,"The exception definitions are not compatible because the exception declarations differ. The module contains the exception definition\n    %s    \nbut its signature specifies\n\t%s."
ExceptionDefsNotCompatibleFieldInSigButNotImpl,"The exception definitions are not compatible because the field '%s' was required by the signature but was not specified by the implementation. The module contains the exception definition\n    %s    \nbut its signature specifies\n\t%s."
ExceptionDefsNotCompatibleFieldInImplButNotSig,"The exception definitions are not compatible because the field '%s' was present in the implementation but not in the signature. The module contains the exception definition\n    %s    \nbut its signature specifies\n\t%s."
ExceptionDefsNotCompatibleFieldOrderDiffers,"The exception definitions are not compatible because the order of the fields is different in the signature and implementation. The module contains the exception definition\n    %s    \nbut its signature specifies\n\t%s."
355,typrelModuleNamespaceAttributesDifferInSigAndImpl,"The namespace or module attributes differ between signature and implementation"
356,typrelMethodIsOverconstrained,"This method is over-constrained in its type parameters"
357,typrelOverloadNotFound,"No implementations of '%s' had the correct number of arguments and type parameters. The required signature is '%s'."
358,typrelOverrideWasAmbiguous,"The override for '%s' was ambiguous"
359,typrelMoreThenOneOverride,"More than one override implements '%s'"
360,typrelMethodIsSealed,"The method '%s' is sealed and cannot be overridden"
361,typrelOverrideImplementsMoreThenOneSlot,"The override '%s' implements more than one abstract slot, e.g. '%s' and '%s'"
362,typrelDuplicateInterface,"Duplicate or redundant interface"
363,typrelNeedExplicitImplementation,"The interface '%s' is included in multiple explicitly implemented interface types. Add an explicit implementation of this interface."
364,typrelNamedArgumentHasBeenAssignedMoreThenOnce,"The named argument '%s' has been assigned more than one value"
365,typrelNoImplementationGiven,"No implementation was given for '%s'"
365,typrelNoImplementationGivenSeveral,"No implementation was given for those members: %s"
365,typrelNoImplementationGivenSeveralTruncated,"No implementation was given for those members (some results omitted): %s"
366,typrelNoImplementationGivenWithSuggestion,"No implementation was given for '%s'. Note that all interface members must be implemented and listed under an appropriate 'interface' declaration, e.g. 'interface ... with member ...'."
366,typrelNoImplementationGivenSeveralWithSuggestion,"No implementation was given for those members: %sNote that all interface members must be implemented and listed under an appropriate 'interface' declaration, e.g. 'interface ... with member ...'."
366,typrelNoImplementationGivenSeveralTruncatedWithSuggestion,"No implementation was given for those members (some results omitted): %sNote that all interface members must be implemented and listed under an appropriate 'interface' declaration, e.g. 'interface ... with member ...'."
367,typrelMemberDoesNotHaveCorrectNumberOfArguments,"The member '%s' does not have the correct number of arguments. The required signature is '%s'."
368,typrelMemberDoesNotHaveCorrectNumberOfTypeParameters,"The member '%s' does not have the correct number of method type parameters. The required signature is '%s'."
369,typrelMemberDoesNotHaveCorrectKindsOfGenericParameters,"The member '%s' does not have the correct kinds of generic parameters. The required signature is '%s'."
370,typrelMemberCannotImplement,"The member '%s' cannot be used to implement '%s'. The required signature is '%s'."
371,astParseEmbeddedILError,"Error while parsing embedded IL"
372,astParseEmbeddedILTypeError,"Error while parsing embedded IL type"
astDeprecatedIndexerNotation,"This indexer notation has been removed from the F# language"
374,astInvalidExprLeftHandOfAssignment,"Invalid expression on left of assignment"
376,augNoRefEqualsOnStruct,"The 'ReferenceEquality' attribute cannot be used on structs. Consider using the 'StructuralEquality' attribute instead, or implement an override for 'System.Object.Equals(obj)'."
377,augInvalidAttrs,"This type uses an invalid mix of the attributes 'NoEquality', 'ReferenceEquality', 'StructuralEquality', 'NoComparison' and 'StructuralComparison'"
378,augNoEqualityNeedsNoComparison,"The 'NoEquality' attribute must be used in conjunction with the 'NoComparison' attribute"
379,augStructCompNeedsStructEquality,"The 'StructuralComparison' attribute must be used in conjunction with the 'StructuralEquality' attribute"
380,augStructEqNeedsNoCompOrStructComp,"The 'StructuralEquality' attribute must be used in conjunction with the 'NoComparison' or 'StructuralComparison' attributes"
381,augTypeCantHaveRefEqAndStructAttrs,"A type cannot have both the 'ReferenceEquality' and 'StructuralEquality' or 'StructuralComparison' attributes"
382,augOnlyCertainTypesCanHaveAttrs,"Only record, union, exception and struct types may be augmented with the 'ReferenceEquality', 'StructuralEquality' and 'StructuralComparison' attributes"
383,augRefEqCantHaveObjEquals,"A type with attribute 'ReferenceEquality' cannot have an explicit implementation of 'Object.Equals(obj)', 'System.IEquatable<_>' or 'System.Collections.IStructuralEquatable'"
384,augCustomEqNeedsObjEquals,"A type with attribute 'CustomEquality' must have an explicit implementation of at least one of 'Object.Equals(obj)', 'System.IEquatable<_>' or 'System.Collections.IStructuralEquatable'"
385,augCustomCompareNeedsIComp,"A type with attribute 'CustomComparison' must have an explicit implementation of at least one of 'System.IComparable' or 'System.Collections.IStructuralComparable'"
386,augNoEqNeedsNoObjEquals,"A type with attribute 'NoEquality' should not usually have an explicit implementation of 'Object.Equals(obj)'. Disable this warning if this is intentional for interoperability purposes"
386,augNoCompCantImpIComp,"A type with attribute 'NoComparison' should not usually have an explicit implementation of 'System.IComparable', 'System.IComparable<_>' or 'System.Collections.IStructuralComparable'. Disable this warning if this is intentional for interoperability purposes"
387,augCustomEqNeedsNoCompOrCustomComp,"The 'CustomEquality' attribute must be used in conjunction with the 'NoComparison' or 'CustomComparison' attributes"
forPositionalSpecifiersNotPermitted,"Positional specifiers are not permitted in format strings"
forMissingFormatSpecifier,"Missing format specifier"
forFlagSetTwice,"'%s' flag set twice"
forPrefixFlagSpacePlusSetTwice,"Prefix flag (' ' or '+') set twice"
forHashSpecifierIsInvalid,"The # formatting modifier is invalid in F#"
forBadPrecision,"Bad precision in format specifier"
forBadWidth,"Bad width in format specifier"
forDoesNotSupportZeroFlag,"'%s' format does not support '0' flag"
forPrecisionMissingAfterDot,"Precision missing after the '.'"
forFormatDoesntSupportPrecision,"'%s' format does not support precision"
forBadFormatSpecifier,"Bad format specifier (after l or L): Expected ld,li,lo,lu,lx or lX. In F# code you can use %%d, %%x, %%o or %%u instead, which are overloaded to work with all basic integer types."
forLIsUnnecessary,"The 'l' or 'L' in this format specifier is unnecessary. In F# code you can use %%d, %%x, %%o or %%u instead, which are overloaded to work with all basic integer types."
forHIsUnnecessary,"The 'h' or 'H' in this format specifier is unnecessary. You can use %%d, %%x, %%o or %%u instead, which are overloaded to work with all basic integer types."
forDoesNotSupportPrefixFlag,"'%s' does not support prefix '%s' flag"
forBadFormatSpecifierGeneral,"Bad format specifier: '%s'"
forPercentAInReflectionFreeCode,"The '%%A' format specifier may not be used in an assembly being compiled with option '--reflectionfree'. This construct implicitly uses reflection."
elSysEnvExitDidntExit,"System.Environment.Exit did not exit"
elDeprecatedOperator,"The treatment of this operator is now handled directly by the F# compiler and its meaning cannot be redefined"
405,chkProtectedOrBaseCalled,"A protected member is called or 'base' is being used. This is only allowed in the direct implementation of members since they could escape their object scope."
406,chkByrefUsedInInvalidWay,"The byref-typed variable '%s' is used in an invalid way. Byrefs cannot be captured by closures or passed to inner functions."
408,chkBaseUsedInInvalidWay,"The 'base' keyword is used in an invalid way. Base calls cannot be used in closures. Consider using a private member to make base calls."
chkVariableUsedInInvalidWay,"The variable '%s' is used in an invalid way"
410,chkTypeLessAccessibleThanType,"The type '%s' is less accessible than the value, member or type '%s' it is used in."
411,chkSystemVoidOnlyInTypeof,"'System.Void' can only be used as 'typeof<System.Void>' in F#"
412,chkErrorUseOfByref,"A type instantiation involves a byref type. This is not permitted by the rules of Common IL."
413,chkErrorContainsCallToRethrow,"Calls to 'reraise' may only occur directly in a handler of a try-with"
414,chkSplicingOnlyInQuotations,"Expression-splicing operators may only be used within quotations"
415,chkNoFirstClassSplicing,"First-class uses of the expression-splicing operator are not permitted"
416,chkNoFirstClassAddressOf,"First-class uses of the address-of operators are not permitted"
417,chkNoFirstClassRethrow,"First-class uses of the 'reraise' function is not permitted"
418,chkNoByrefAtThisPoint,"The byref typed value '%s' cannot be used at this point"
419,chkLimitationsOfBaseKeyword,"'base' values may only be used to make direct calls to the base implementations of overridden members"
#420,chkObjCtorsCantUseExceptionHandling,"Object constructors cannot directly use try/with and try/finally prior to the initialization of the object. This includes constructs such as 'for x in ...' that may elaborate to uses of these constructs. This is a limitation imposed by Common IL."
421,chkNoAddressOfAtThisPoint,"The address of the variable '%s' cannot be used at this point"
422,chkNoAddressStaticFieldAtThisPoint,"The address of the static field '%s' cannot be used at this point"
423,chkNoAddressFieldAtThisPoint,"The address of the field '%s' cannot be used at this point"
424,chkNoAddressOfArrayElementAtThisPoint,"The address of an array element cannot be used at this point"
425,chkFirstClassFuncNoByref,"The type of a first-class function cannot contain byrefs"
426,chkReturnTypeNoByref,"A method return type would contain byrefs which is not permitted"
428,chkInvalidCustAttrVal,"Invalid custom attribute value (not a constant or literal)"
429,chkAttrHasAllowMultiFalse,"The attribute type '%s' has 'AllowMultiple=false'. Multiple instances of this attribute cannot be attached to a single language element."
430,chkMemberUsedInInvalidWay,"The member '%s' is used in an invalid way. A use of '%s' has been inferred prior to its definition at or near '%s'. This is an invalid forward reference."
431,chkNoByrefAsTopValue,"A byref typed value would be stored here. Top-level let-bound byref values are not permitted."
432,chkReflectedDefCantSplice,"[<ReflectedDefinition>] terms cannot contain uses of the prefix splice operator '%%'"
433,chkEntryPointUsage,"A function labeled with the 'EntryPointAttribute' attribute must be the last declaration in the last file in the compilation sequence."
chkUnionCaseCompiledForm,"compiled form of the union case"
chkUnionCaseDefaultAugmentation,"default augmentation of the union case"
434,chkPropertySameNameMethod,"The property '%s' has the same name as a method in type '%s'."
435,chkGetterSetterDoNotMatchAbstract,"The property '%s' of type '%s' has a getter and a setter that do not match. If one is abstract then the other must be as well."
436,chkPropertySameNameIndexer,"The property '%s' has the same name as another property in type '%s', but one takes indexer arguments and the other does not. You may be missing an indexer argument to one of your properties."
437,chkCantStoreByrefValue,"A type would store a byref typed value. This is not permitted by Common IL."
438,chkDuplicateMethod,"Duplicate method. The method '%s' has the same name and signature as another method in type '%s'."
438,chkDuplicateMethodWithSuffix,"Duplicate method. The method '%s' has the same name and signature as another method in type '%s' once tuples, functions, units of measure and/or provided types are erased."
439,chkDuplicateMethodCurried,"The method '%s' has curried arguments but has the same name as another method in type '%s'. Methods with curried arguments cannot be overloaded. Consider using a method taking tupled arguments."
440,chkCurriedMethodsCantHaveOutParams,"Methods with curried arguments cannot declare 'out', 'ParamArray', 'optional', 'ReflectedDefinition', 'byref', 'CallerLineNumber', 'CallerMemberName', or 'CallerFilePath' arguments"
441,chkDuplicateProperty,"Duplicate property. The property '%s' has the same name and signature as another property in type '%s'."
441,chkDuplicatePropertyWithSuffix,"Duplicate property. The property '%s' has the same name and signature as another property in type '%s' once tuples, functions, units of measure and/or provided types are erased."
442,chkDuplicateMethodInheritedType,"Duplicate method. The abstract method '%s' has the same name and signature as an abstract method in an inherited type."
442,chkDuplicateMethodInheritedTypeWithSuffix,"Duplicate method. The abstract method '%s' has the same name and signature as an abstract method in an inherited type once tuples, functions, units of measure and/or provided types are erased."
443,chkMultipleGenericInterfaceInstantiations,"This type implements the same interface at different generic instantiations '%s' and '%s'. This is not permitted in this version of F#."
444,chkValueWithDefaultValueMustHaveDefaultValue,"The type of a field using the 'DefaultValue' attribute must admit default initialization, i.e. have 'null' as a proper value or be a struct type whose fields all admit default initialization. You can use 'DefaultValue(false)' to disable this check"
445,chkNoByrefInTypeAbbrev,"The type abbreviation contains byrefs. This is not permitted by F#."
446,crefBoundVarUsedInSplice,"The variable '%s' is bound in a quotation but is used as part of a spliced expression. This is not permitted since it may escape its scope."
447,crefQuotationsCantContainGenericExprs,"Quotations cannot contain uses of generic expressions"
448,crefQuotationsCantContainGenericFunctions,"Quotations cannot contain function definitions that are inferred or declared to be generic. Consider adding some type constraints to make this a valid quoted expression."
449,crefQuotationsCantContainObjExprs,"Quotations cannot contain object expressions"
450,crefQuotationsCantContainAddressOf,"Quotations cannot contain expressions that take the address of a field"
451,crefQuotationsCantContainStaticFieldRef,"Quotations cannot contain expressions that fetch static fields"
452,crefQuotationsCantContainInlineIL,"Quotations cannot contain inline assembly code or pattern matching on arrays"
453,crefQuotationsCantContainDescendingForLoops,"Quotations cannot contain descending for loops"
454,crefQuotationsCantFetchUnionIndexes,"Quotations cannot contain expressions that fetch union case indexes"
455,crefQuotationsCantSetUnionFields,"Quotations cannot contain expressions that set union case fields"
456,crefQuotationsCantSetExceptionFields,"Quotations cannot contain expressions that set fields in exception values"
457,crefQuotationsCantRequireByref,"Quotations cannot contain expressions that require byref pointers"
458,crefQuotationsCantCallTraitMembers,"Quotations cannot contain expressions that make member constraint calls, or uses of operators that implicitly resolve to a member constraint call"
459,crefQuotationsCantContainThisConstant,"Quotations cannot contain this kind of constant"
460,crefQuotationsCantContainThisPatternMatch,"Quotations cannot contain this kind of pattern match"
461,crefQuotationsCantContainArrayPatternMatching,"Quotations cannot contain array pattern matching"
462,crefQuotationsCantContainThisType,"Quotations cannot contain this kind of type"
csTypeCannotBeResolvedAtCompileTime,"The declared type parameter '%s' cannot be used here since the type parameter cannot be resolved at compile time"
464,csCodeLessGeneric,"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. Consider making the code generic, or removing the use of '_'."
465,csTypeInferenceMaxDepth,"Type inference problem too complicated (maximum iteration depth reached). Consider adding further type annotations."
csExpectedArguments,"Expected arguments to an instance member"
csIndexArgumentMismatch,"This indexer expects %d arguments but is here given %d"
csExpectTypeWithOperatorButGivenFunction,"Expecting a type supporting the operator '%s' but given a function type. You may be missing an argument to a function."
csExpectTypeWithOperatorButGivenTuple,"Expecting a type supporting the operator '%s' but given a tuple type"
csTypesDoNotSupportOperator,"None of the types '%s' support the operator '%s'"
csTypeDoesNotSupportOperator,"The type '%s' does not support the operator '%s'"
csFunctionDoesNotSupportType,"'%s' does not support the type '%s', because the latter lacks the required (real or built-in) member '%s'"
csTypesDoNotSupportOperatorNullable,"None of the types '%s' support the operator '%s'. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'."
csTypeDoesNotSupportOperatorNullable,"The type '%s' does not support the operator '%s'. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'."
csTypeDoesNotSupportConversion,"The type '%s' does not support a conversion to the type '%s'"
csMethodFoundButIsStatic,"The type '%s' has a method '%s' (full name '%s'), but the method is static"
csMethodFoundButIsNotStatic,"The type '%s' has a method '%s' (full name '%s'), but the method is not static"
472,csStructConstraintInconsistent,"The constraints 'struct' and 'not struct' are inconsistent"
473,csUnmanagedConstraintInconsistent,"The constraints 'unmanaged' and 'not struct' are inconsistent"
csTypeDoesNotHaveNull,"The type '%s' does not have 'null' as a proper value"
csNullableTypeDoesNotHaveNull,"The type '%s' does not have 'null' as a proper value. To create a null value for a Nullable type use 'System.Nullable()'."
csTypeDoesNotSupportComparison1,"The type '%s' does not support the 'comparison' constraint because it has the 'NoComparison' attribute"
csTypeDoesNotSupportComparison2,"The type '%s' does not support the 'comparison' constraint. For example, it does not support the 'System.IComparable' interface"
csTypeDoesNotSupportComparison3,"The type '%s' does not support the 'comparison' constraint because it is a record, union or struct with one or more structural element types which do not support the 'comparison' constraint. Either avoid the use of comparison with this type, or add the 'StructuralComparison' attribute to the type to determine which field type does not support comparison"
csTypeDoesNotSupportEquality1,"The type '%s' does not support the 'equality' constraint because it has the 'NoEquality' attribute"
csTypeDoesNotSupportEquality2,"The type '%s' does not support the 'equality' constraint because it is a function type"
csTypeDoesNotSupportEquality3,"The type '%s' does not support the 'equality' constraint because it is a record, union or struct with one or more structural element types which do not support the 'equality' constraint. Either avoid the use of equality with this type, or add the 'StructuralEquality' attribute to the type to determine which field type does not support equality"
csTypeIsNotEnumType,"The type '%s' is not a CLI enum type"
csTypeHasNonStandardDelegateType,"The type '%s' has a non-standard delegate type"
csTypeIsNotDelegateType,"The type '%s' is not a CLI delegate type"
csTypeParameterCannotBeNullable,"This type parameter cannot be instantiated to 'Nullable'. This is a restriction imposed in order to ensure the meaning of 'null' in some CLI languages is not confusing when used in conjunction with 'Nullable' values."
csGenericConstructRequiresStructType,"A generic construct requires that the type '%s' is a CLI or F# struct type"
csGenericConstructRequiresUnmanagedType,"A generic construct requires that the type '%s' is an unmanaged type"
csTypeNotCompatibleBecauseOfPrintf,"The type '%s' is not compatible with any of the types %s, arising from the use of a printf-style format string"
csGenericConstructRequiresReferenceSemantics,"A generic construct requires that the type '%s' have reference semantics, but it does not, i.e. it is a struct"
csGenericConstructRequiresNonAbstract,"A generic construct requires that the type '%s' be non-abstract"
csGenericConstructRequiresPublicDefaultConstructor,"A generic construct requires that the type '%s' have a public default constructor"
csGenericConstructRequiresStructOrReferenceConstraint,"A generic construct requires that a generic type parameter be known as a struct or reference type. Consider adding a type annotation."
483,csTypeInstantiationLengthMismatch,"Type instantiation length mismatch"
484,csOptionalArgumentNotPermittedHere,"Optional arguments not permitted here"
485,csMemberIsNotStatic,"%s is not a static member"
486,csMemberIsNotInstance,"%s is not an instance member"
487,csArgumentLengthMismatch,"Argument length mismatch"
488,csArgumentTypesDoNotMatch,"The argument types don't match"
489,csMethodExpectsParams,"This method expects a CLI 'params' parameter in this position. 'params' is a way of passing a variable number of arguments to a method in languages such as C#. Consider passing an array for this argument"
490,csMemberIsNotAccessible,"The member or object constructor '%s' is not %s"
491,csMemberIsNotAccessible2,"The member or object constructor '%s' is not %s. Private members may only be accessed from within the declaring type. Protected members may only be accessed from an extending type and cannot be accessed from inner lambda expressions."
492,csMethodIsNotAStaticMethod,"%s is not a static method"
493,csMethodIsNotAnInstanceMethod,"%s is not an instance method"
csMemberHasNoArgumentOrReturnProperty,"The member or object constructor '%s' has no argument or settable return property '%s'. %s."
csCtorHasNoArgumentOrReturnProperty,"The object constructor '%s' has no argument or settable return property '%s'. %s."
495,csRequiredSignatureIs,"The required signature is %s"
496,csMemberSignatureMismatch,"The member or object constructor '%s' requires %d argument(s). The required signature is '%s'."
497,csMemberSignatureMismatch2,"The member or object constructor '%s' requires %d additional argument(s). The required signature is '%s'."
498,csMemberSignatureMismatch3,"The member or object constructor '%s' requires %d argument(s). The required signature is '%s'. Some names for missing arguments are %s."
499,csMemberSignatureMismatch4,"The member or object constructor '%s' requires %d additional argument(s). The required signature is '%s'. Some names for missing arguments are %s."
500,csMemberSignatureMismatchArityNamed,"The member or object constructor '%s' requires %d argument(s) but is here given %d unnamed and %d named argument(s). The required signature is '%s'."
501,csMemberSignatureMismatchArity,"The member or object constructor '%s' takes %d argument(s) but is here given %d. The required signature is '%s'."
501,csCtorSignatureMismatchArity,"The object constructor '%s' takes %d argument(s) but is here given %d. The required signature is '%s'."
501,csCtorSignatureMismatchArityProp,"The object constructor '%s' takes %d argument(s) but is here given %d. The required signature is '%s'. If some of the arguments are meant to assign values to properties, consider separating those arguments with a comma (',')."
502,csMemberSignatureMismatchArityType,"The member or object constructor '%s' takes %d type argument(s) but is here given %d. The required signature is '%s'."
503,csMemberNotAccessible,"A member or object constructor '%s' taking %d arguments is not accessible from this code location. All accessible versions of method '%s' take %d arguments."
504,csIncorrectGenericInstantiation,"Incorrect generic instantiation. No %s member named '%s' takes %d generic arguments."
505,csMemberOverloadArityMismatch,"The member or object constructor '%s' does not take %d argument(s). An overload was found taking %d arguments."
506,csNoMemberTakesTheseArguments,"No %s member or object constructor named '%s' takes %d arguments"
507,csNoMemberTakesTheseArguments2,"No %s member or object constructor named '%s' takes %d arguments. Note the call to this member also provides %d named arguments."
508,csNoMemberTakesTheseArguments3,"No %s member or object constructor named '%s' takes %d arguments. The named argument '%s' doesn't correspond to any argument or settable return property for any overload."
509,csMethodNotFound,"Method or object constructor '%s' not found"
csNoOverloadsFound,"No overloads match for method '%s'."
csNoOverloadsFoundArgumentsPrefixSingular,"Known type of argument: %s"
csNoOverloadsFoundArgumentsPrefixPlural,"Known types of arguments: %s"
csNoOverloadsFoundTypeParametersPrefixSingular,"Known type parameter: %s"
csNoOverloadsFoundTypeParametersPrefixPlural,"Known type parameters: %s"
csNoOverloadsFoundReturnType,"Known return type: %s"
csMethodIsOverloaded,"A unique overload for method '%s' could not be determined based on type information prior to this program point. A type annotation may be needed."
csCandidates,"Candidates:\n%s"
csAvailableOverloads,"Available overloads:\n%s"
csOverloadCandidateNamedArgumentTypeMismatch,"Argument '%s' doesn't match"
csOverloadCandidateIndexedArgumentTypeMismatch,"Argument at index %d doesn't match"
512,parsDoCannotHaveVisibilityDeclarations,"Accessibility modifiers are not permitted on 'do' bindings, but '%s' was given."
513,parsEofInHashIf,"End of file in #if section begun at or after here"
514,parsEofInString,"End of file in string begun at or before here"
515,parsEofInVerbatimString,"End of file in verbatim string begun at or before here"
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"
523,parsUseBindingsIllegalInImplicitClassConstructors,"'use' bindings are not permitted in primary constructors"
524,parsUseBindingsIllegalInModules,"'use' bindings are not permitted in modules and are treated as 'let' bindings"
525,parsIntegerForLoopRequiresSimpleIdentifier,"An integer for loop must use a simple identifier"
526,parsOnlyOneWithAugmentationAllowed,"At most one 'with' augmentation is permitted"
527,parsUnexpectedSemicolon,"A semicolon is not expected at this point"
528,parsUnexpectedEndOfFile,"Unexpected end of input"
529,parsUnexpectedVisibilityDeclaration,"Accessibility modifiers are not permitted here, but '%s' was given."
530,parsOnlyHashDirectivesAllowed,"Only '#' compiler directives may occur prior to the first 'namespace' declaration"
531,parsVisibilityDeclarationsShouldComePriorToIdentifier,"Accessibility modifiers should come immediately prior to the identifier naming a construct"
532,parsNamespaceOrModuleNotBoth,"Files should begin with either a namespace or module declaration, e.g. 'namespace SomeNamespace.SubNamespace' or 'module SomeNamespace.SomeModule', but not both. To define a module within a namespace use 'module SomeModule = ...'"
534,parsModuleAbbreviationMustBeSimpleName,"A module abbreviation must be a simple name, not a path"
535,parsIgnoreAttributesOnModuleAbbreviation,"Ignoring attributes on module abbreviation"
536,parsIgnoreAttributesOnModuleAbbreviationAlwaysPrivate,"The '%s' accessibility attribute is not allowed on module abbreviation. Module abbreviations are always private."
537,parsIgnoreVisibilityOnModuleAbbreviationAlwaysPrivate,"The '%s' visibility attribute is not allowed on module abbreviation. Module abbreviations are always private."
538,parsUnClosedBlockInHashLight,"Unclosed block"
539,parsUnmatchedBeginOrStruct,"Unmatched 'begin' or 'struct'"
541,parsModuleDefnMustBeSimpleName,"A module name must be a simple name, not a path"
542,parsUnexpectedEmptyModuleDefn,"Unexpected empty type moduleDefn list"
parsAttributesMustComeBeforeVal,"Attributes should be placed before 'val'"
543,parsAttributesAreNotPermittedOnInterfaceImplementations,"Attributes are not permitted on interface implementations"
544,parsSyntaxError,"Syntax error"
545,parsAugmentationsIllegalOnDelegateType,"Augmentations are not permitted on delegate type moduleDefns"
546,parsUnmatchedClassInterfaceOrStruct,"Unmatched 'class', 'interface' or 'struct'"
547,parsEmptyTypeDefinition,"A type definition requires one or more members or other declarations. If you intend to define an empty class, struct or interface, then use 'type ... = class end', 'interface end' or 'struct end'."
550,parsUnmatchedWith,"Unmatched 'with' or badly formatted 'with' block"
551,parsGetOrSetRequired,"'get', 'set' or 'get,set' required"
552,parsOnlyClassCanTakeValueArguments,"Only class types may take value arguments"
553,parsUnmatchedBegin,"Unmatched 'begin'"
554,parsInvalidDeclarationSyntax,"Invalid declaration syntax"
555,parsGetAndOrSetRequired,"'get' and/or 'set' required"
556,parsTypeAnnotationsOnGetSet,"Type annotations on property getters and setters must be given after the 'get()' or 'set(v)', e.g. 'with get() : string = ...'"
557,parsGetterMustHaveAtLeastOneArgument,"A getter property is expected to be a function, e.g. 'get() = ...' or 'get(index) = ...'"
558,parsMultipleAccessibilitiesForGetSet,"When the visibility for a property is specified, setting the visibility of the set or get method is not allowed."
559,parsSetSyntax,"Property setters must be defined using 'set value = ', 'set idx value = ' or 'set (idx1,...,idxN) value = ... '"
560,parsInterfacesHaveSameVisibilityAsEnclosingType,"Interfaces always have the same visibility as the enclosing type"
561,parsAccessibilityModsIllegalForAbstract,"Accessibility modifiers are not allowed on this member. Abstract slots always have the same visibility as the enclosing type."
562,parsAttributesIllegalOnInherit,"Attributes are not permitted on 'inherit' declarations"
563,parsVisibilityIllegalOnInherit,"Accessibility modifiers are not permitted on an 'inherits' declaration"
564,parsInheritDeclarationsCannotHaveAsBindings,"'inherit' declarations cannot have 'as' bindings. To access members of the base class when overriding a method, the syntax 'base.SomeMember' may be used; 'base' is a keyword. Remove this 'as' binding."
565,parsAttributesIllegalHere,"Attributes are not allowed here"
566,parsTypeAbbreviationsCannotHaveVisibilityDeclarations,"Accessibility modifiers are not permitted in this position for type abbreviations"
567,parsEnumTypesCannotHaveVisibilityDeclarations,"Accessibility modifiers are not permitted in this position for enum types"
568,parsAllEnumFieldsRequireValues,"All enum fields must be given values"
569,parsInlineAssemblyCannotHaveVisibilityDeclarations,"Accessibility modifiers are not permitted on inline assembly code types"
571,parsUnexpectedIdentifier,"Unexpected identifier: '%s'"
572,parsUnionCasesCannotHaveVisibilityDeclarations,"Accessibility modifiers are not permitted on union cases. Use 'type U = internal ...' or 'type U = private ...' to give an accessibility to the whole representation."
573,parsEnumFieldsCannotHaveVisibilityDeclarations,"Accessibility modifiers are not permitted on enumeration fields"
parsConsiderUsingSeparateRecordType,"Consider using a separate record type instead"
575,parsRecordFieldsCannotHaveVisibilityDeclarations,"Accessibility modifiers are not permitted on record fields. Use 'type R = internal ...' or 'type R = private ...' to give an accessibility to the whole representation."
576,parsLetAndForNonRecBindings,"The declaration form 'let ... and ...' for non-recursive bindings is not used in F# code. Consider using a sequence of 'let' bindings"
583,parsUnmatchedParen,"Unmatched '('"
584,parsSuccessivePatternsShouldBeSpacedOrTupled,"Successive patterns should be separated by spaces or tupled"
586,parsNoMatchingInForLet,"No matching 'in' found for this 'let'"
587,parsErrorInReturnForLetIncorrectIndentation,"Error in the return expression for this 'let'. Possible incorrect indentation."
588,parsExpectedExpressionAfterLet,"The block following this '%s' is unfinished. Every code block is an expression and must have a result. '%s' cannot be the final code element in a block. Consider giving this block an explicit result."
589,parsIncompleteIf,"Incomplete conditional. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'."
590,parsAssertIsNotFirstClassValue,"'assert' may not be used as a first class value. Use 'assert <expr>' instead."
594,parsIdentifierExpected,"Identifier expected"
595,parsInOrEqualExpected,"'in' or '=' expected"
596,parsArrowUseIsLimited,"The use of '->' in sequence and computation expressions is limited to the form 'for pat in expr -> expr'. Use the syntax 'for ... in ... do ... yield...' to generate elements in more complex sequence expressions."
597,parsSuccessiveArgsShouldBeSpacedOrTupled,"Successive arguments should be separated by spaces or tupled, and arguments involving function or method applications should be parenthesized"
598,parsUnmatchedBracket,"Unmatched '['"
599,parsMissingQualificationAfterDot,"Missing qualification after '.'"
parsParenFormIsForML,"In F# code you may use 'expr.[expr]'. A type annotation may be required to indicate the first expression is an array"
601,parsMismatchedQuote,"Mismatched quotation, beginning with '%s'"
602,parsUnmatched,"Unmatched '%s'"
603,parsUnmatchedBracketBar,"Unmatched '[|'"
604,parsUnmatchedBrace,"Unmatched '{{'"
605,parsUnmatchedBraceBar,"Unmatched '{{|'"
609,parsFieldBinding,"Field bindings must have the form 'id = expr;'"
610,parsMemberIllegalInObjectImplementation,"This member is not permitted in an object implementation"
611,parsMissingFunctionBody,"Missing function body"
613,parsSyntaxErrorInLabeledType,"Syntax error in labelled type argument"
615,parsUnexpectedInfixOperator,"Unexpected infix operator in type expression"
parsMultiArgumentGenericTypeFormDeprecated,"The syntax '(typ,...,typ) ident' is not used in F# code. Consider using 'ident<typ,...,typ>' instead"
618,parsInvalidLiteralInType,"Invalid literal in type"
619,parsUnexpectedOperatorForUnitOfMeasure,"Unexpected infix operator in unit-of-measure expression. Legal operators are '*', '/' and '^'."
620,parsUnexpectedIntegerLiteralForUnitOfMeasure,"Unexpected integer literal in unit-of-measure expression"
#621,parsUnexpectedTypeParameter,"Syntax error: unexpected type parameter specification"
622,parsMismatchedQuotationName,"Mismatched quotation operator name, beginning with '%s'"
623,parsActivePatternCaseMustBeginWithUpperCase,"Active pattern case identifiers must begin with an uppercase letter"
624,parsActivePatternCaseContainsPipe,"The '|' character is not permitted in active pattern case identifiers"
625,parsIllegalDenominatorForMeasureExponent,"Denominator must not be 0 in unit-of-measure exponent"
626,parsIncompleteTyparExpr1,"Incomplete character literal (example: 'Q') or qualified type invocation (example: 'T.Name)"
626,parsIncompleteTyparExpr2,"Incomplete operator expression (example a^b) or qualified type invocation (example: ^T.Name)"
parsNoEqualShouldFollowNamespace,"No '=' symbol should follow a 'namespace' declaration"
parsSyntaxModuleStructEndDeprecated,"The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end'"
parsSyntaxModuleSigEndDeprecated,"The syntax 'module ... : sig .. end' is not used in F# code. Consider using 'module ... = begin .. end'"
627,tcStaticFieldUsedWhenInstanceFieldExpected,"A static field was used where an instance field is expected"
629,tcMethodNotAccessible,"Method '%s' is not accessible from this code location"
632,tcImplicitMeasureFollowingSlash,"Implicit product of measures following /"
633,tcUnexpectedMeasureAnon,"Unexpected SynMeasure.Anon"
634,tcNonZeroConstantCannotHaveGenericUnit,"Non-zero constants cannot have generic units. For generic zero, write 0.0<_>."
635,tcSeqResultsUseYield,"In sequence expressions, results are generated using 'yield'"
tcUnexpectedBigRationalConstant,"Unexpected big rational constant"
636,tcInvalidTypeForUnitsOfMeasure,"Units-of-measure are only supported on float, float32, decimal, and integer types."
tcUnexpectedConstUint16Array,"Unexpected Const_uint16array"
tcUnexpectedConstByteArray,"Unexpected Const_bytearray"
640,tcParameterRequiresName,"A parameter with attributes must also be given a name, e.g. '[<Attribute>] Name : Type'"
641,tcReturnValuesCannotHaveNames,"Return values cannot have names"
tcMemberKindPropertyGetSetNotExpected,"SynMemberKind.PropertyGetSet only expected in parse trees"
644,tcNamespaceCannotContainExtensionMembers,"Namespaces cannot contain extension members except in the same file and namespace declaration group where the type is defined. Consider using a module to hold declarations of extension members."
645,tcMultipleVisibilityAttributes,"Multiple visibility attributes have been specified for this identifier"
646,tcMultipleVisibilityAttributesWithLet,"Multiple visibility attributes have been specified for this identifier. 'let' bindings in classes are always private, as are any 'let' bindings inside expressions."
tcInvalidMethodNameForRelationalOperator,"The name '(%s)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name '%s' instead."
tcInvalidMethodNameForEquality,"The name '(%s)' should not be used as a member name. To define equality semantics for a type, override the 'Object.Equals' member. If defining a static member for use from other CLI languages then use the name '%s' instead."
tcInvalidMemberName,"The name '(%s)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name '%s' instead."
tcInvalidMemberNameFixedTypes,"The name '(%s)' should not be used as a member name because it is given a standard definition in the F# library over fixed types"
tcInvalidOperatorDefinitionRelational,"The '%s' operator should not normally be redefined. To define overloaded comparison semantics for a particular type, implement the 'System.IComparable' interface in the definition of that type."
tcInvalidOperatorDefinitionEquality,"The '%s' operator should not normally be redefined. To define equality semantics for a type, override the 'Object.Equals' member in the definition of that type."
tcInvalidOperatorDefinition,"The '%s' operator should not normally be redefined. Consider using a different operator name"
tcInvalidIndexOperatorDefinition,"The '%s' operator cannot be redefined. Consider using a different operator name"
tcExpectModuleOrNamespaceParent,"Expected module or namespace parent %s"
647,tcImplementsIComparableExplicitly,"The struct, record or union type '%s' implements the interface 'System.IComparable' explicitly. You must apply the 'CustomComparison' attribute to the type."
648,tcImplementsGenericIComparableExplicitly,"The struct, record or union type '%s' implements the interface 'System.IComparable<_>' explicitly. You must apply the 'CustomComparison' attribute to the type, and should also provide a consistent implementation of the non-generic interface System.IComparable."
649,tcImplementsIStructuralComparableExplicitly,"The struct, record or union type '%s' implements the interface 'System.IStructuralComparable' explicitly. Apply the 'CustomComparison' attribute to the type."
656,tcRecordFieldInconsistentTypes,"This record contains fields from inconsistent types"
657,tcDllImportStubsCannotBeInlined,"DLLImport stubs cannot be inlined"
658,tcStructsCanOnlyBindThisAtMemberDeclaration,"Structs may only bind a 'this' parameter at member declarations"
659,tcUnexpectedExprAtRecInfPoint,"Unexpected expression at recursive inference point"
660,tcLessGenericBecauseOfAnnotation,"This code is less generic than required by its annotations because the explicit type variable '%s' could not be generalized. It was constrained to be '%s'."
661,tcConstrainedTypeVariableCannotBeGeneralized,"One or more of the explicit class or function type variables for this binding could not be generalized, because they were constrained to other types"
662,tcGenericParameterHasBeenConstrained,"A generic type parameter has been used in a way that constrains it to always be '%s'"
663,tcTypeParameterHasBeenConstrained,"This type parameter has been used in a way that constrains it to always be '%s'"
664,tcTypeParametersInferredAreNotStable,"The type parameters inferred for this value are not stable under the erasure of type abbreviations. This is due to the use of type abbreviations which drop or reorder type parameters, e.g. \n\ttype taggedInt<'a> = int or\n\ttype swap<'a,'b> = 'b * 'a.\nConsider declaring the type parameters for this value explicitly, e.g.\n\tlet f<'a,'b> ((x,y) : swap<'b,'a>) : swap<'a,'b> = (y,x)."
665,tcExplicitTypeParameterInvalid,"Explicit type parameters may only be used on module or member bindings"
666,tcOverridingMethodRequiresAllOrNoTypeParameters,"You must explicitly declare either all or no type parameters when overriding a generic abstract method"
667,tcFieldsDoNotDetermineUniqueRecordType,"The field labels and expected type of this record expression or pattern do not uniquely determine a corresponding record type"
668,tcMultipleFieldsInRecord,"The field '%s' appears multiple times in this record expression or pattern"
669,tcUnknownUnion,"Unknown union case"
670,tcNotSufficientlyGenericBecauseOfScope,"This code is not sufficiently generic. The type variable %s could not be generalized because it would escape its scope."
671,tcPropertyRequiresExplicitTypeParameters,"A property cannot have explicit type parameters. Consider using a method instead."
672,tcConstructorCannotHaveTypeParameters,"A constructor cannot have explicit type parameters. Consider using a static construction method instead."
673,tcInstanceMemberRequiresTarget,"This instance member needs a parameter to represent the object being invoked. Make the member static or use the notation 'member x.Member(args) = ...'."
674,tcUnexpectedPropertyInSyntaxTree,"Unexpected source-level property specification in syntax tree"
675,tcStaticInitializerRequiresArgument,"A static initializer requires an argument"
676,tcObjectConstructorRequiresArgument,"An object constructor requires an argument"
677,tcStaticMemberShouldNotHaveThis,"This static member should not have a 'this' parameter. Consider using the notation 'member Member(args) = ...'."
678,tcExplicitStaticInitializerSyntax,"An explicit static initializer should use the syntax 'static new(args) = expr'"
679,tcExplicitObjectConstructorSyntax,"An explicit object constructor should use the syntax 'new(args) = expr'"
680,tcUnexpectedPropertySpec,"Unexpected source-level property specification"
tcObjectExpressionFormDeprecated,"This form of object expression is not used in F#. Use 'member this.MemberName ... = ...' to define member implementations in object expressions."
682,tcInvalidDeclaration,"Invalid declaration"
683,tcAttributesInvalidInPatterns,"Attributes are not allowed within patterns"
685,tcFunctionRequiresExplicitTypeArguments,"The generic function '%s' must be given explicit type argument(s)"
686,tcDoesNotAllowExplicitTypeArguments,"The method or function '%s' should not be given explicit type argument(s) because it does not declare its type parameters explicitly"
687,tcTypeParameterArityMismatch,"This value, type or method expects %d type parameter(s) but was given %d"
688,tcDefaultStructConstructorCall,"The default, zero-initializing constructor of a struct type may only be used if all the fields of the struct type admit default initialization"
tcCouldNotFindIDisposable,"Couldn't find Dispose on IDisposable, or it was overloaded"
689,tcNonLiteralCannotBeUsedInPattern,"This value is not a literal and cannot be used in a pattern"
690,tcFieldIsReadonly,"This field is readonly"
691,tcNameArgumentsMustAppearLast,"Named arguments must appear after all other arguments"
692,tcFunctionRequiresExplicitLambda,"This function value is being used to construct a delegate type whose signature includes a byref argument. You must use an explicit lambda expression taking %d arguments."
693,tcTypeCannotBeEnumerated,"The type '%s' is not a type whose values can be enumerated with this syntax, i.e. is not compatible with either seq<_>, IEnumerable<_> or IEnumerable and does not have a GetEnumerator method"
695,tcInvalidMixtureOfRecursiveForms,"This recursive binding uses an invalid mixture of recursive forms"
696,tcInvalidObjectConstructionExpression,"This is not a valid object construction expression. Explicit object constructors must either call an alternate constructor or initialize all fields of the object and specify a call to a super class constructor."
697,tcInvalidConstraint,"Invalid constraint"
698,tcInvalidConstraintTypeSealed,"Invalid constraint: the type used for the constraint is sealed, which means the constraint could only be satisfied by at most one solution"
699,tcInvalidEnumConstraint,"An 'enum' constraint must be of the form 'enum<type>'"
700,tcInvalidNewConstraint,"'new' constraints must take one argument of type 'unit' and return the constructed type"
701,tcInvalidPropertyType,"This property has an invalid type. Properties taking multiple indexer arguments should have types of the form 'ty1 * ty2 -> ty3'. Properties returning functions should have types of the form '(ty1 -> ty2)'."
702,tcExpectedUnitOfMeasureMarkWithAttribute,"Expected unit-of-measure parameter, not type parameter. Explicit unit-of-measure parameters must be marked with the [<Measure>] attribute."
703,tcExpectedTypeParameter,"Expected type parameter, not unit-of-measure parameter"
704,tcExpectedTypeNotUnitOfMeasure,"Expected type, not unit-of-measure"
705,tcExpectedUnitOfMeasureNotType,"Expected unit-of-measure, not type"
706,tcInvalidUnitsOfMeasurePrefix,"Units-of-measure cannot be used as prefix arguments to a type. Rewrite as postfix arguments in angle brackets."
707,tcUnitsOfMeasureInvalidInTypeConstructor,"Unit-of-measure cannot be used in type constructor application"
708,tcRequireBuilderMethod,"This control construct may only be used if the computation expression builder defines a '%s' method"
708,tcEmptyBodyRequiresBuilderZeroMethod,"An empty body may only be used if the computation expression builder defines a 'Zero' method."
709,tcTypeHasNoNestedTypes,"This type has no nested types"
711,tcUnexpectedSymbolInTypeExpression,"Unexpected %s in type expression"
712,tcTypeParameterInvalidAsTypeConstructor,"Type parameter cannot be used as type constructor"
713,tcIllegalSyntaxInTypeExpression,"Illegal syntax in type expression"
714,tcAnonymousUnitsOfMeasureCannotBeNested,"Anonymous unit-of-measure cannot be nested inside another unit-of-measure expression"
715,tcAnonymousTypeInvalidInDeclaration,"Anonymous type variables are not permitted in this declaration"
716,tcUnexpectedSlashInType,"Unexpected / in type"
717,tcUnexpectedTypeArguments,"Unexpected type arguments"
718,tcOptionalArgsOnlyOnMembers,"Optional arguments are only permitted on type members"
719,tcNameNotBoundInPattern,"Name '%s' not bound in pattern context"
720,tcInvalidNonPrimitiveLiteralInPatternMatch,"Non-primitive numeric literal constants cannot be used in pattern matches because they can be mapped to multiple different types through the use of a NumericLiteral module. Consider using replacing with a variable, and use 'when <variable> = <constant>' at the end of the match clause."
721,tcInvalidTypeArgumentUsage,"Type arguments cannot be specified here"
722,tcRequireActivePatternWithOneResult,"Only active patterns returning exactly one result may accept arguments"
723,tcInvalidArgForParameterizedPattern,"Invalid argument to parameterized pattern label"
724,tcInvalidIndexIntoActivePatternArray,"Internal error. Invalid index into active pattern array"
725,tcUnionCaseDoesNotTakeArguments,"This union case does not take arguments"
726,tcUnionCaseRequiresOneArgument,"This union case takes one argument"
727,tcUnionCaseExpectsTupledArguments,"This union case expects %d arguments in tupled form, but was given %d. The missing field arguments may be any of:%s"
728,tcFieldIsNotStatic,"Field '%s' is not static"
729,tcFieldNotLiteralCannotBeUsedInPattern,"This field is not a literal and cannot be used in a pattern"
730,tcRequireVarConstRecogOrLiteral,"This is not a variable, constant, active recognizer or literal"
731,tcInvalidPattern,"This is not a valid pattern"
733,tcIllegalPattern,"Illegal pattern"
734,tcSyntaxErrorUnexpectedQMark,"Syntax error - unexpected '?' symbol"
735,tcExpressionCountMisMatch,"Expected %d expressions, got %d"
736,tcExprUndelayed,"TcExprUndelayed: delayed"
737,tcExpressionRequiresSequence,"This expression form may only be used in sequence and computation expressions"
738,tcInvalidObjectExpressionSyntaxForm,"Invalid object expression. Objects without overrides or interfaces should use the expression form 'new Type(args)' without braces."
739,tcInvalidObjectSequenceOrRecordExpression,"Invalid object, sequence or record expression"
740,tcInvalidSequenceExpressionSyntaxForm,"Invalid record, sequence or computation expression. Sequence expressions should be of the form 'seq {{ ... }}'"
tcExpressionWithIfRequiresParenthesis,"This list or array expression includes an element of the form 'if ... then ... else'. Parenthesize this expression to indicate it is an individual element of the list or array, to disambiguate this from a list generated using a sequence expression"
741,tcUnableToParseFormatString,"Unable to parse format string '%s'"
742,tcListLiteralMaxSize,"This list expression exceeds the maximum size for list literals. Use an array for larger literals and call Array.ToList."
743,tcExpressionFormRequiresObjectConstructor,"The expression form 'expr then expr' may only be used as part of an explicit object constructor"
744,tcNamedArgumentsCannotBeUsedInMemberTraits,"Named arguments cannot be given to member trait calls"
745,tcNotValidEnumCaseName,"This is not a valid name for an enumeration case"
746,tcFieldIsNotMutable,"This field is not mutable"
747,tcConstructRequiresListArrayOrSequence,"This construct may only be used within list, array and sequence expressions, e.g. expressions of the form 'seq {{ ... }}', '[ ... ]' or '[| ... |]'. These use the syntax 'for ... in ... do ... yield...' to generate elements"
748,tcConstructRequiresComputationExpressions,"This construct may only be used within computation expressions. To return a value from an ordinary function simply write the expression without 'return'."
749,tcConstructRequiresSequenceOrComputations,"This construct may only be used within sequence or computation expressions"
750,tcConstructRequiresComputationExpression,"This construct may only be used within computation expressions"
751,tcInvalidIndexerExpression,"Incomplete expression or invalid use of indexer syntax"
752,tcObjectOfIndeterminateTypeUsedRequireTypeConstraint,"The operator 'expr.[idx]' has been used on an object of indeterminate type based on information prior to this program point. Consider adding further type constraints"
753,tcCannotInheritFromVariableType,"Cannot inherit from a variable type"
754,tcObjectConstructorsOnTypeParametersCannotTakeArguments,"Calls to object constructors on type parameters cannot be given arguments"
755,tcCompiledNameAttributeMisused,"The 'CompiledName' attribute cannot be used with this language element"
756,tcNamedTypeRequired,"'%s' may only be used with named types"
757,tcInheritCannotBeUsedOnInterfaceType,"'inherit' cannot be used on interface types. Consider implementing the interface by using 'interface ... with ... end' instead."
758,tcNewCannotBeUsedOnInterfaceType,"'new' cannot be used on interface types. Consider using an object expression '{{ new ... with ... }}' instead."
759,tcAbstractTypeCannotBeInstantiated,"Instances of this type cannot be created since it has been marked abstract or not all methods have been given implementations. Consider using an object expression '{{ new ... with ... }}' instead."
760,tcIDisposableTypeShouldUseNew,"It is recommended that objects supporting the IDisposable interface are created using the syntax 'new Type(args)', rather than 'Type(args)' or 'Type' as a function value representing the constructor, to indicate that resources may be owned by the generated value"
761,tcSyntaxCanOnlyBeUsedToCreateObjectTypes,"'%s' may only be used to construct object types"
762,tcConstructorRequiresCall,"Constructors for the type '%s' must directly or indirectly call its implicit object constructor. Use a call to the implicit object constructor instead of a record expression."
763,tcUndefinedField,"The field '%s' has been given a value, but is not present in the type '%s'"
764,tcFieldRequiresAssignment,"No assignment given for field '%s' of type '%s'"
765,tcExtraneousFieldsGivenValues,"Extraneous fields have been given values"
766,tcObjectExpressionsCanOnlyOverrideAbstractOrVirtual,"Only overrides of abstract and virtual members may be specified in object expressions"
767,tcNoAbstractOrVirtualMemberFound,"The member '%s' does not correspond to any abstract or virtual method available to override or implement."
767,tcMemberFoundIsNotAbstractOrVirtual,"The type %s contains the member '%s' but it is not a virtual or abstract method that is available to override or implement."
768,tcArgumentArityMismatch,"The member '%s' does not accept the correct number of arguments. %d argument(s) are expected, but %d were given. The required signature is '%s'.%s"
769,tcArgumentArityMismatchOneOverload,"The member '%s' does not accept the correct number of arguments. One overload accepts %d arguments, but %d were given. The required signature is '%s'.%s"
770,tcSimpleMethodNameRequired,"A simple method name is required here"
771,tcPredefinedTypeCannotBeUsedAsSuperType,"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"
772,tcNewMustBeUsedWithNamedType,"'new' must be used with a named type"
773,tcCannotCreateExtensionOfSealedType,"Cannot create an extension of a sealed type"
774,tcNoArgumentsForRecordValue,"No arguments may be given when constructing a record value"
775,tcNoInterfaceImplementationForConstructionExpression,"Interface implementations cannot be given on construction expressions"
776,tcObjectConstructionCanOnlyBeUsedInClassTypes,"Object construction expressions may only be used to implement constructors in class types"
777,tcOnlySimpleBindingsCanBeUsedInConstructionExpressions,"Only simple bindings of the form 'id = expr' can be used in construction expressions"
778,tcObjectsMustBeInitializedWithObjectExpression,"Objects must be initialized by an object construction expression that calls an inherited object constructor and assigns a value to each field"
779,tcExpectedInterfaceType,"Expected an interface type"
780,tcConstructorForInterfacesDoNotTakeArguments,"Constructor expressions for interfaces do not take arguments"
781,tcConstructorRequiresArguments,"This object constructor requires arguments"
782,tcNewRequiresObjectConstructor,"'new' may only be used with object constructors"
783,tcAtLeastOneOverrideIsInvalid,"At least one override did not correctly implement its corresponding abstract member"
784,tcNumericLiteralRequiresModule,"This numeric literal requires that a module '%s' defining functions FromZero, FromOne, FromInt32, FromInt64 and FromString be in scope"
785,tcInvalidRecordConstruction,"Invalid record construction"
786,tcExpressionFormRequiresRecordTypes,"The expression form {{ expr with ... }} may only be used with record types. To build object types use {{ new Type(...) with ... }}"
787,tcInheritedTypeIsNotObjectModelType,"The inherited type is not an object model type"
788,tcObjectConstructionExpressionCanOnlyImplementConstructorsInObjectModelTypes,"Object construction expressions (i.e. record expressions with inheritance specifications) may only be used to implement constructors in object model types. Use 'new ObjectType(args)' to construct instances of object model types outside of constructors"
789,tcEmptyRecordInvalid,"'{{ }}' is not a valid expression. Records must include at least one field. Empty sequences are specified by using Seq.empty or an empty list '[]'."
790,tcTypeIsNotARecordTypeNeedConstructor,"This type is not a record type. Values of class and struct types must be created using calls to object constructors."
791,tcTypeIsNotARecordType,"This type is not a record type"
792,tcConstructIsAmbiguousInComputationExpression,"This construct is ambiguous as part of a computation expression. Nested expressions may be written using 'let _ = (...)' and nested computations using 'let! res = builder {{ ... }}'."
793,tcConstructIsAmbiguousInSequenceExpression,"This construct is ambiguous as part of a sequence expression. Nested expressions may be written using 'let _ = (...)' and nested sequences using 'yield! seq {{... }}'."
794,tcDoBangIllegalInSequenceExpression,"'do!' cannot be used within sequence expressions"
795,tcUseForInSequenceExpression,"The use of 'let! x = coll' in sequence expressions is not permitted. Use 'for x in coll' instead."
796,tcTryIllegalInSequenceExpression,"'try'/'with' cannot be used within sequence expressions"
797,tcUseYieldBangForMultipleResults,"In sequence expressions, multiple results are generated using 'yield!'"
799,tcInvalidAssignment,"Invalid assignment"
800,tcInvalidUseOfTypeName,"Invalid use of a type name"
801,tcTypeHasNoAccessibleConstructor,"This type has no accessible object constructors"
804,tcInvalidUseOfInterfaceType,"Invalid use of an interface type"
805,tcInvalidUseOfDelegate,"Invalid use of a delegate constructor. Use the syntax 'new Type(args)' or just 'Type(args)'."
806,tcPropertyIsNotStatic,"Property '%s' is not static"
807,tcPropertyIsNotReadable,"Property '%s' is not readable"
808,tcLookupMayNotBeUsedHere,"This lookup cannot be used here"
809,tcPropertyIsStatic,"Property '%s' is static"
810,tcPropertyCannotBeSet1,"Property '%s' cannot be set"
810,tcInitOnlyPropertyCannotBeSet1,"Init-only property '%s' cannot be set outside the initialization code. See https://aka.ms/fsharp-assigning-values-to-properties-at-initialization"
810,tcSetterForInitOnlyPropertyCannotBeCalled1,"Cannot call '%s' - a setter for init-only property, please use object initialization instead. See https://aka.ms/fsharp-assigning-values-to-properties-at-initialization"
811,tcConstructorsCannotBeFirstClassValues,"Constructors must be applied to arguments and cannot be used as first-class values. If necessary use an anonymous function '(fun arg1 ... argN -> new Type(arg1,...,argN))'."
812,tcSyntaxFormUsedOnlyWithRecordLabelsPropertiesAndFields,"The syntax 'expr.id' may only be used with record labels, properties and fields"
813,tcEventIsStatic,"Event '%s' is static"
814,tcEventIsNotStatic,"Event '%s' is not static"
815,tcNamedArgumentDidNotMatch,"The named argument '%s' did not match any argument or mutable property"
816,tcOverloadsCannotHaveCurriedArguments,"One or more of the overloads of this method has curried arguments. Consider redesigning these members to take arguments in tupled form."
tcUnnamedArgumentsDoNotFormPrefix,"The unnamed arguments do not form a prefix of the arguments of the method called"
817,tcStaticOptimizationConditionalsOnlyForFSharpLibrary,"Static optimization conditionals are only for use within the F# library"
818,tcFormalArgumentIsNotOptional,"The corresponding formal argument is not optional"
819,tcInvalidOptionalAssignmentToPropertyOrField,"Invalid optional assignment to a property or field"
820,tcDelegateConstructorMustBePassed,"A delegate constructor must be passed a single function value"
821,tcBindingCannotBeUseAndRec,"A binding cannot be marked both 'use' and 'rec'"
823,tcVolatileOnlyOnClassLetBindings,"The 'VolatileField' attribute may only be used on 'let' bindings in classes"
824,tcAttributesAreNotPermittedOnLetBindings,"Attributes are not permitted on 'let' bindings in expressions"
825,tcDefaultValueAttributeRequiresVal,"The 'DefaultValue' attribute may only be used on 'val' declarations"
826,tcConditionalAttributeRequiresMembers,"The 'ConditionalAttribute' attribute may only be used on members"
827,tcInvalidActivePatternName,"'%s' is not a valid method name. Use a 'let' binding instead."
828,tcEntryPointAttributeRequiresFunctionInModule,"The 'EntryPointAttribute' attribute may only be used on function definitions in modules"
829,tcMutableValuesCannotBeInline,"Mutable values cannot be marked 'inline'"
830,tcMutableValuesMayNotHaveGenericParameters,"Mutable values cannot have generic parameters"
831,tcMutableValuesSyntax,"Mutable function values should be written 'let mutable f = (fun args -> ...)'"
832,tcOnlyFunctionsCanBeInline,"Only functions may be marked 'inline'"
833,tcIllegalAttributesForLiteral,"A literal value cannot be given the [<ThreadStatic>] or [<ContextStatic>] attributes"
834,tcLiteralCannotBeMutable,"A literal value cannot be marked 'mutable'"
835,tcLiteralCannotBeInline,"A literal value cannot be marked 'inline'"
836,tcLiteralCannotHaveGenericParameters,"Literal values cannot have generic parameters"
837,tcInvalidConstantExpression,"This is not a valid constant expression"
838,tcTypeIsInaccessible,"This type is not accessible from this code location"
839,tcUnexpectedConditionInImportedAssembly,"Unexpected condition in imported assembly: failed to decode AttributeUsage attribute"
840,tcUnrecognizedAttributeTarget,"Unrecognized attribute target. Valid attribute targets are 'assembly', 'module', 'type', 'method', 'property', 'return', 'param', 'field', 'event', 'constructor'."
841,tcAttributeIsNotValidForLanguageElementUseDo,"This attribute is not valid for use on this language element. Assembly attributes should be attached to a 'do ()' declaration, if necessary within an F# module."
842,tcAttributeIsNotValidForLanguageElement,"This attribute is not valid for use on this language element"
843,tcOptionalArgumentsCannotBeUsedInCustomAttribute,"Optional arguments cannot be used in custom attributes"
844,tcPropertyCannotBeSet0,"This property cannot be set"
845,tcPropertyOrFieldNotFoundInAttribute,"This property or field was not found on this custom attribute type"
846,tcCustomAttributeMustBeReferenceType,"A custom attribute must be a reference type"
847,tcCustomAttributeArgumentMismatch,"The number of args for a custom attribute does not match the expected number of args for the attribute constructor"
848,tcCustomAttributeMustInvokeConstructor,"A custom attribute must invoke an object constructor"
849,tcAttributeExpressionsMustBeConstructorCalls,"Attribute expressions must be calls to object constructors"
850,tcUnsupportedAttribute,"This attribute cannot be used in this version of F#"
851,tcInvalidInlineSpecification,"Invalid inline specification"
852,tcInvalidUseBinding,"'use' bindings must be of the form 'use <var> = <expr>'"
853,tcAbstractMembersIllegalInAugmentation,"Abstract members are not permitted in an augmentation - they must be defined as part of the type itself"
854,tcMethodOverridesIllegalHere,"Method overrides and interface implementations are not permitted here"
855,tcNoMemberFoundForOverride,"No abstract or interface member was found that corresponds to this override"
856,tcOverrideArityMismatch,"This override takes a different number of arguments to the corresponding abstract member. The following abstract members were found:%s"
857,tcDefaultImplementationAlreadyExists,"This method already has a default implementation"
858,tcDefaultAmbiguous,"The method implemented by this default is ambiguous"
859,tcNoPropertyFoundForOverride,"No abstract property was found that corresponds to this override"
860,tcAbstractPropertyMissingGetOrSet,"This property overrides or implements an abstract property but the abstract property doesn't have a corresponding %s"
861,tcInvalidSignatureForSet,"Invalid signature for set member"
864,tcNewMemberHidesAbstractMember,"This new member hides the abstract member '%s'. Rename the member or use 'override' instead."
864,tcNewMemberHidesAbstractMemberWithSuffix,"This new member hides the abstract member '%s' once tuples, functions, units of measure and/or provided types are erased. Rename the member or use 'override' instead."
865,tcStaticInitializersIllegalInInterface,"Interfaces cannot contain definitions of static initializers"
866,tcObjectConstructorsIllegalInInterface,"Interfaces cannot contain definitions of object constructors"
867,tcMemberOverridesIllegalInInterface,"Interfaces cannot contain definitions of member overrides"
868,tcConcreteMembersIllegalInInterface,"Interfaces cannot contain definitions of concrete instance members. You may need to define a constructor on your type to indicate that the type is a class."
869,tcConstructorsDisallowedInExceptionAugmentation,"Constructors cannot be specified in exception augmentations"
870,tcStructsCannotHaveConstructorWithNoArguments,"Structs cannot have an object constructor with no arguments. This is a restriction imposed on all CLI languages as structs automatically support a default constructor."
871,tcConstructorsIllegalForThisType,"Constructors cannot be defined for this type"
872,tcRecursiveBindingsWithMembersMustBeDirectAugmentation,"Recursive bindings that include member specifications can only occur as a direct augmentation of a type"
873,tcOnlySimplePatternsInLetRec,"Only simple variable patterns can be bound in 'let rec' constructs"
874,tcOnlyRecordFieldsAndSimpleLetCanBeMutable,"Mutable 'let' bindings can't be recursive or defined in recursive modules or namespaces"
875,tcMemberIsNotSufficientlyGeneric,"This member is not sufficiently generic"
876,tcLiteralAttributeRequiresConstantValue,"A declaration may only be the [<Literal>] attribute if a constant value is also given, e.g. 'val x: int = 1'"
877,tcValueInSignatureRequiresLiteralAttribute,"A declaration may only be given a value in a signature if the declaration has the [<Literal>] attribute"
878,tcThreadStaticAndContextStaticMustBeStatic,"Thread-static and context-static variables must be static and given the [<DefaultValue>] attribute to indicate that the value is initialized to the default value on each new thread"
879,tcVolatileFieldsMustBeMutable,"Volatile fields must be marked 'mutable' and cannot be thread-static"
880,tcUninitializedValFieldsMustBeMutable,"Uninitialized 'val' fields must be mutable and marked with the '[<DefaultValue>]' attribute. Consider using a 'let' binding instead of a 'val' field."
881,tcStaticValFieldsMustBeMutableAndPrivate,"Static 'val' fields in types must be mutable, private and marked with the '[<DefaultValue>]' attribute. They are initialized to the 'null' or 'zero' value for their type. Consider also using a 'static let mutable' binding in a class type."
882,tcFieldRequiresName,"This field requires a name"
883,tcInvalidNamespaceModuleTypeUnionName,"Invalid namespace, module, type or union case name"
884,tcIllegalFormForExplicitTypeDeclaration,"Explicit type declarations for constructors must be of the form 'ty1 * ... * tyN -> resTy'. Parentheses may be required around 'resTy'"
885,tcReturnTypesForUnionMustBeSameAsType,"Return types of union cases must be identical to the type being defined, up to abbreviations"
886,tcInvalidEnumerationLiteral,"This is not a valid value for an enumeration literal"
887,tcTypeIsNotInterfaceType1,"The type '%s' is not an interface type"
888,tcDuplicateSpecOfInterface,"Duplicate specification of an interface"
889,tcFieldValIllegalHere,"A field/val declaration is not permitted here"
890,tcInheritIllegalHere,"A inheritance declaration is not permitted here"
892,tcModuleRequiresQualifiedAccess,"This declaration opens the module '%s', which is marked as 'RequireQualifiedAccess'. Adjust your code to use qualified references to the elements of the module instead, e.g. 'List.map' instead of 'map'. This change will ensure that your code is robust as new constructs are added to libraries."
893,tcOpenUsedWithPartiallyQualifiedPath,"This declaration opens the namespace or module '%s' through a partially qualified path. Adjust this code to use the full path of the namespace. This change will make your code more robust as new constructs are added to the F# and CLI libraries."
894,tcLocalClassBindingsCannotBeInline,"Local class bindings cannot be marked inline. Consider lifting the definition out of the class or else do not mark it as inline."
895,tcTypeAbbreviationsMayNotHaveMembers,"Type abbreviations cannot have members"
tcTypeAbbreviationsCheckedAtCompileTime,"As of F# 4.1, the accessibility of type abbreviations is checked at compile-time. Consider changing the accessibility of the type abbreviation. Ignoring this warning might lead to runtime errors."
896,tcEnumerationsMayNotHaveMembers,"Enumerations cannot have members"
897,tcMeasureDeclarationsRequireStaticMembers,"Measure declarations may have only static members"
tcStructsMayNotContainDoBindings,"Structs cannot contain 'do' bindings because the default constructor for structs would not execute these bindings"
901,tcStructsMayNotContainLetBindings,"Structs cannot contain value definitions because the default constructor for structs will not execute these bindings. Consider adding additional arguments to the primary constructor for the type."
902,tcStaticLetBindingsRequireClassesWithImplicitConstructors,"For F#7 and lower, static 'let','do' and 'member val' definitions may only be used in types with a primary constructor ('type X(args) = ...'). To enable them in all other types, use language version '8' or higher."
904,tcMeasureDeclarationsRequireStaticMembersNotConstructors,"Measure declarations may have only static members: constructors are not available"
905,tcMemberAndLocalClassBindingHaveSameName,"A member and a local class binding both have the name '%s'"
906,tcTypeAbbreviationsCannotHaveInterfaceDeclaration,"Type abbreviations cannot have interface declarations"
907,tcEnumerationsCannotHaveInterfaceDeclaration,"Enumerations cannot have interface declarations"
908,tcTypeIsNotInterfaceType0,"This type is not an interface type"
909,tcAllImplementedInterfacesShouldBeDeclared,"All implemented interfaces should be declared on the initial declaration of the type"
910,tcDefaultImplementationForInterfaceHasAlreadyBeenAdded,"A default implementation of this interface has already been added because the explicit implementation of the interface was not specified at the definition of the type"
911,tcMemberNotPermittedInInterfaceImplementation,"This member is not permitted in an interface implementation"
912,tcDeclarationElementNotPermittedInAugmentation,"This declaration element is not permitted in an augmentation"
913,tcTypesCannotContainNestedTypes,"Types cannot contain nested type definitions"
tcTypeExceptionOrModule,"type, exception or module"
tcTypeOrModule,"type or module"
914,tcImplementsIStructuralEquatableExplicitly,"The struct, record or union type '%s' implements the interface 'System.IStructuralEquatable' explicitly. Apply the 'CustomEquality' attribute to the type."
915,tcImplementsIEquatableExplicitly,"The struct, record or union type '%s' implements the interface 'System.IEquatable<_>' explicitly. Apply the 'CustomEquality' attribute to the type and provide a consistent implementation of the non-generic override 'System.Object.Equals(obj)'."
916,tcExplicitTypeSpecificationCannotBeUsedForExceptionConstructors,"Explicit type specifications cannot be used for exception constructors"
917,tcExceptionAbbreviationsShouldNotHaveArgumentList,"Exception abbreviations should not have argument lists"
918,tcAbbreviationsFordotNetExceptionsCannotTakeArguments,"Abbreviations for Common IL exceptions cannot take arguments"
919,tcExceptionAbbreviationsMustReferToValidExceptions,"Exception abbreviations must refer to existing exceptions or F# types deriving from System.Exception"
920,tcAbbreviationsFordotNetExceptionsMustHaveMatchingObjectConstructor,"Abbreviations for Common IL exception types must have a matching object constructor"
921,tcNotAnException,"Not an exception"
924,tcInvalidModuleName,"Invalid module name"
925,tcInvalidTypeExtension,"Invalid type extension"
926,tcAttributesOfTypeSpecifyMultipleKindsForType,"The attributes of this type specify multiple kinds for the type"
927,tcKindOfTypeSpecifiedDoesNotMatchDefinition,"The kind of the type specified by its attributes does not match the kind implied by its definition"
928,tcMeasureDefinitionsCannotHaveTypeParameters,"Measure definitions cannot have type parameters"
929,tcTypeRequiresDefinition,"This type requires a definition"
tcTypeAbbreviationHasTypeParametersMissingOnType,"This type abbreviation has one or more declared type parameters that do not appear in the type being abbreviated. Type abbreviations must use all declared type parameters in the type being abbreviated. Consider removing one or more type parameters, or use a concrete type definition that wraps an underlying type, such as 'type C<'a> = C of ...'."
931,tcStructsInterfacesEnumsDelegatesMayNotInheritFromOtherTypes,"Structs, interfaces, enums and delegates cannot inherit from other types"
932,tcTypesCannotInheritFromMultipleConcreteTypes,"Types cannot inherit from multiple concrete types"
934,tcRecordsUnionsAbbreviationsStructsMayNotHaveAllowNullLiteralAttribute,"Records, union, abbreviations and struct types cannot have the 'AllowNullLiteral' attribute"
935,tcAllowNullTypesMayOnlyInheritFromAllowNullTypes,"Types with the 'AllowNullLiteral' attribute may only inherit from or implement types which also allow the use of the null literal"
936,tcGenericTypesCannotHaveStructLayout,"Generic types cannot be given the 'StructLayout' attribute"
937,tcOnlyStructsCanHaveStructLayout,"Only structs and classes without primary constructors may be given the 'StructLayout' attribute"
938,tcRepresentationOfTypeHiddenBySignature,"The representation of this type is hidden by the signature. It must be given an attribute such as [<Sealed>], [<Class>] or [<Interface>] to indicate the characteristics of the type."
939,tcOnlyClassesCanHaveAbstract,"Only classes may be given the 'AbstractClass' attribute"
940,tcOnlyTypesRepresentingUnitsOfMeasureCanHaveMeasure,"Only types representing units-of-measure may be given the 'Measure' attribute"
941,tcOverridesCannotHaveVisibilityDeclarations,"Accessibility modifiers are not permitted on overrides or interface implementations"
942,tcTypesAreAlwaysSealedDU,"Discriminated union types are always sealed"
942,tcTypesAreAlwaysSealedRecord,"Record types are always sealed"
942,tcTypesAreAlwaysSealedAssemblyCode,"Assembly code types are always sealed"
942,tcTypesAreAlwaysSealedStruct,"Struct types are always sealed"
942,tcTypesAreAlwaysSealedDelegate,"Delegate types are always sealed"
942,tcTypesAreAlwaysSealedEnum,"Enum types are always sealed"
943,tcInterfaceTypesAndDelegatesCannotContainFields,"Interface types and delegate types cannot contain fields"
944,tcAbbreviatedTypesCannotBeSealed,"Abbreviated types cannot be given the 'Sealed' attribute"
945,tcCannotInheritFromSealedType,"Cannot inherit a sealed type"
946,tcCannotInheritFromInterfaceType,"Cannot inherit from interface type. Use interface ... with instead."
947,tcStructTypesCannotContainAbstractMembers,"Struct types cannot contain abstract members"
948,tcInterfaceTypesCannotBeSealed,"Interface types cannot be sealed"
949,tcInvalidDelegateSpecification,"Delegate specifications must be of the form 'typ -> typ'"
950,tcDelegatesCannotBeCurried,"Delegate specifications must not be curried types. Use 'typ * ... * typ -> typ' for multi-argument delegates, and 'typ -> (typ -> typ)' for delegates returning function values."
951,tcInvalidTypeForLiteralEnumeration,"Literal enumerations must have type int, uint, int16, uint16, int64, uint64, byte, sbyte or char"
953,tcTypeDefinitionIsCyclic,"This type definition involves an immediate cyclic reference through an abbreviation"
954,tcTypeDefinitionIsCyclicThroughInheritance,"This type definition involves an immediate cyclic reference through a struct field or inheritance relation"
tcReservedSyntaxForAugmentation,"The syntax 'type X with ...' is reserved for augmentations. Types whose representations are hidden but which have members are now declared in signatures using 'type X = ...'. You may also need to add the '[<Sealed>] attribute to the type definition in the signature"
956,tcMembersThatExtendInterfaceMustBePlacedInSeparateModule,"Members that extend interface, delegate or enum types must be placed in a module separate to the definition of the type. This module must either have the AutoOpen attribute or be opened explicitly by client code to bring the extension members into scope."
957,tcDeclaredTypeParametersForExtensionDoNotMatchOriginal,"One or more of the declared type parameters for this type extension have a missing or wrong type constraint not matching the original type constraints on '%s'"
959,tcTypeDefinitionsWithImplicitConstructionMustHaveOneInherit,"Type definitions may only have one 'inherit' specification and it must be the first declaration"
960,tcTypeDefinitionsWithImplicitConstructionMustHaveLocalBindingsBeforeMembers,"'let' and 'do' bindings must come before member and interface definitions in type definitions"
961,tcInheritDeclarationMissingArguments,"This 'inherit' declaration specifies the inherited type but no arguments. Consider supplying arguments, e.g. 'inherit BaseType(args)'."
962,tcInheritConstructionCallNotPartOfImplicitSequence,"This 'inherit' declaration has arguments, but is not in a type with a primary constructor. Consider adding arguments to your type definition, e.g. 'type X(args) = ...'."
963,tcLetAndDoRequiresImplicitConstructionSequence,"This definition may only be used in a type with a primary constructor. Consider adding arguments to your type definition, e.g. 'type X(args) = ...'."
964,tcTypeAbbreviationsCannotHaveAugmentations,"Type abbreviations cannot have augmentations"
965,tcModuleAbbreviationForNamespace,"The path '%s' is a namespace. A module abbreviation may not abbreviate a namespace."
966,tcTypeUsedInInvalidWay,"The type '%s' is used in an invalid way. A value prior to '%s' has an inferred type involving '%s', which is an invalid forward reference."
967,tcMemberUsedInInvalidWay,"The member '%s' is used in an invalid way. A use of '%s' has been inferred prior to the definition of '%s', which is an invalid forward reference."
970,tcAttributeAutoOpenWasIgnored,"The attribute 'AutoOpen(\"%s\")' in the assembly '%s' did not refer to a valid module or namespace in that assembly and has been ignored"
971,ilUndefinedValue,"Undefined value '%s'"
972,ilLabelNotFound,"Label %s not found"
973,ilIncorrectNumberOfTypeArguments,"Incorrect number of type arguments to local call"
ilDynamicInvocationNotSupported,"Dynamic invocation of %s is not supported"
975,ilAddressOfLiteralFieldIsInvalid,"Taking the address of a literal field is invalid"
976,ilAddressOfValueHereIsInvalid,"This operation involves taking the address of a value '%s' represented using a local variable or other special representation. This is invalid."
980,ilCustomMarshallersCannotBeUsedInFSharp,"Custom marshallers cannot be specified in F# code. Consider using a C# helper function."
981,ilMarshalAsAttributeCannotBeDecoded,"The MarshalAs attribute could not be decoded"
982,ilSignatureForExternalFunctionContainsTypeParameters,"The signature for this external function contains type parameters. Constrain the argument and return types to indicate the types of the corresponding C function."
983,ilDllImportAttributeCouldNotBeDecoded,"The DllImport attribute could not be decoded"
984,ilLiteralFieldsCannotBeSet,"Literal fields cannot be set"
985,ilStaticMethodIsNotLambda,"GenSetStorage: %s was represented as a static method but was not an appropriate lambda expression"
986,ilMutableVariablesCannotEscapeMethod,"Mutable variables cannot escape their method"
987,ilUnexpectedUnrealizedValue,"Compiler error: unexpected unrealized value"
988,ilMainModuleEmpty,"Main module of program is empty: nothing will happen when it is run"
989,ilTypeCannotBeUsedForLiteralField,"This type cannot be used for a literal field"
990,ilUnexpectedGetSetAnnotation,"Unexpected GetSet annotation on a property"
991,ilFieldOffsetAttributeCouldNotBeDecoded,"The FieldOffset attribute could not be decoded"
992,ilStructLayoutAttributeCouldNotBeDecoded,"The StructLayout attribute could not be decoded"
993,ilDefaultAugmentationAttributeCouldNotBeDecoded,"The DefaultAugmentation attribute could not be decoded"
994,ilReflectedDefinitionsCannotUseSliceOperator,"Reflected definitions cannot contain uses of the prefix splice operator '%%'"
998,packageManagerUnknown,"Package manager key '%s' was not registered in %s. Currently registered: %s. You can provide extra path(s) by passing '--compilertool:<extensionsfolder>' to the command line. To learn more about extensions, visit: https://aka.ms/dotnetdepmanager"
999,packageManagerError,"%s"
1000,optsProblemWithCodepage,"Problem with codepage '%d': %s"
optsCopyright,"Copyright (c) Microsoft Corporation. All Rights Reserved."
optsCopyrightCommunity,"Freely distributed under the MIT Open Source License.  https://github.com/Microsoft/visualfsharp/blob/master/License.txt"
optsNameOfOutputFile,"Name of the output file (Short form: -o)"
optsBuildConsole,"Build a console executable"
optsBuildWindows,"Build a Windows executable"
optsBuildLibrary,"Build a library (Short form: -a)"
optsBuildModule,"Build a module that can be added to another assembly"
optsDelaySign,"Delay-sign the assembly using only the public portion of the strong name key"
optsPublicSign,"Public-sign the assembly using only the public portion of the strong name key, and mark the assembly as signed"
optsWriteXml,"Write the xmldoc of the assembly to the given file"
optsStrongKeyFile,"Specify a strong name key file"
optsStrongKeyContainer,"Specify a strong name key container"
optsCompressMetadata,"Compress interface and optimization data files"
optsPlatform,"Limit which platforms this code can run on: x86, x64, Arm, Arm64, Itanium, anycpu32bitpreferred, or anycpu. The default is anycpu."
optsNoOpt,"Only include optimization information essential for implementing inlined constructs. Inhibits cross-module inlining but improves binary compatibility."
optsNoInterface,"Don't add a resource to the generated assembly containing F#-specific metadata"
optsSig,"Print the inferred interface of the assembly to a file"
optsAllSigs,"Print the inferred interfaces of all compilation files to associated signature files"
optsReference,"Reference an assembly (Short form: -r)"
optsCompilerTool,"Reference an assembly or directory containing a design time tool (Short form: -t)"
optsWin32icon,"Specify a Win32 icon file (.ico)"
optsWin32res,"Specify a Win32 resource file (.res)"
optsWin32manifest,"Specify a Win32 manifest file"
optsNowin32manifest,"Do not include the default Win32 manifest"
optsEmbedAllSource,"Embed all source files in the portable PDB file"
optsEmbedSource,"Embed specific source files in the portable PDB file"
optsSourceLink,"Source link information file to embed in the portable PDB file"
1001,optsPdbMatchesOutputFileName,"The pdb output file name cannot match the build output filename use --pdb:filename.pdb"
srcFileTooLarge,"Source file is too large to embed in a portable PDB"
optsResource,"Embed the specified managed resource"
optsLinkresource,"Link the specified resource to this assembly where the resinfo format is <file>[,<string name>[,public|private]]"
optsDebugPM,"Emit debug information (Short form: -g)"
optsDebug,"Specify debugging type: full, portable, embedded, pdbonly. ('%s' is the default if no debugging type specified and enables attaching a debugger to a running program, 'portable' is a cross-platform format, 'embedded' is a cross-platform format embedded into the output file)."
optsOptimize,"Enable optimizations (Short form: -O)"
optsTailcalls,"Enable or disable tailcalls"
optsDeterministic,"Produce a deterministic assembly (including module version GUID and timestamp)"
optsRealsig,"Generate assembly with IL visibility that matches the source code visibility"
optsRefOnly,"Produce a reference assembly, instead of a full assembly, as the primary output"
optsRefOut,"Produce a reference assembly with the specified file path."
optsPathMap,"Maps physical paths to source path names output by the compiler"
optsCrossoptimize,"Enable or disable cross-module optimizations"
optsReflectionFree,"Disable implicit generation of constructs using reflection"
optsWarnaserrorPM,"Report all warnings as errors"
optsWarnaserror,"Report specific warnings as errors"
optsWarn,"Set a warning level (0-5)"
optsNowarn,"Disable specific warning messages"
optsWarnOn,"Enable specific warnings that may be off by default"
optsChecked,"Generate overflow checks"
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"
optsResponseFile,"Read response file for more options"
optsCodepage,"Specify the codepage used to read source files"
optsClearResultsCache,"Clear the package manager results cache"
optsUtf8output,"Output messages in UTF-8 encoding"
optsFullpaths,"Output messages with fully qualified paths"
optsLib,"Specify a directory for the include path which is used to resolve source files and assemblies (Short form: -I)"
optsBaseaddress,"Base address for the library to be built"
optsChecksumAlgorithm,"Specify algorithm for calculating source file checksum stored in PDB. Supported values are: SHA1 or SHA256 (default)"
optsNoframework,"Do not reference the default CLI assemblies by default"
optsStandalone,"Statically link the F# library and all referenced DLLs that depend on it into the assembly being generated"
optsStaticlink,"Statically link the given assembly and all referenced DLLs that depend on this assembly. Use an assembly name e.g. mylib, not a DLL name."
optsResident,"Use a resident background compilation service to improve compiler startup times."
optsPdb,"Name the output debug file"
optsSimpleresolution,"Resolve assembly references using directory-based rules rather than MSBuild resolution"
optsShortFormOf,"Short form of '%s'"
optsClirootDeprecatedMsg,"The command-line option '--cliroot' has been deprecated. Use an explicit reference to a specific copy of mscorlib.dll instead."
optsClirootDescription,"Use to override where the compiler looks for mscorlib.dll and framework components"
optsHelpBannerOutputFiles,"- OUTPUT FILES -"
optsHelpBannerInputFiles,"- INPUT FILES -"
optsHelpBannerResources,"- RESOURCES -"
optsHelpBannerCodeGen,"- CODE GENERATION -"
optsHelpBannerAdvanced,"- ADVANCED -"
optsHelpBannerMisc,"- MISCELLANEOUS -"
optsHelpBannerLanguage,"- LANGUAGE -"
optsHelpBannerErrsAndWarns,"- ERRORS AND WARNINGS -"
optsInternalNoDescription,"The command-line option '%s' is for test purposes only"
optsDCLONoDescription,"The command-line option '%s' has been deprecated"
optsDCLODeprecatedSuggestAlternative,"The command-line option '%s' has been deprecated. Use '%s' instead."
optsDCLOHtmlDoc,"The command-line option '%s' has been deprecated. HTML document generation is now part of the F# Power Pack, via the tool FsHtmlDoc.exe."
optsConsoleColors,"Output warning and error messages in color"
optsUseHighEntropyVA,"Enable high-entropy ASLR"
optsSubSystemVersion,"Specify subsystem version of this assembly"
optsTargetProfile,"Specify target framework profile of this assembly. Valid values are mscorlib, netcore or netstandard. Default - mscorlib"
optsEmitDebugInfoInQuotations,"Emit debug information in quotations"
optsPreferredUiLang,"Specify the preferred output language culture name (e.g. es-ES, ja-JP)"
optsNoCopyFsharpCore,"Don't copy FSharp.Core.dll along the produced binaries"
optsSignatureData,"Include F# interface information, the default is file. Essential for distributing libraries."
1046,optsUnknownSignatureData,"Invalid value '%s' for --interfacedata, valid value are: none, file, compress."
optsOptimizationData,"Specify included optimization information, the default is file. Important for distributed libraries."
1047,optsUnknownOptimizationData,"Invalid value '%s' for --optimizationdata, valid value are: none, file, compress."
1048,optsUnrecognizedTarget,"Unrecognized target '%s', expected 'exe', 'winexe', 'library' or 'module'"
1049,optsUnrecognizedDebugType,"Unrecognized debug type '%s', expected 'pdbonly' or 'full'"
1050,optsInvalidWarningLevel,"Invalid warning level '%d'"
1051,optsInvalidSubSystemVersion,"Invalid version '%s' for '--subsystemversion'. The version must be 4.00 or greater."
1052,optsInvalidTargetProfile,"Invalid value '%s' for '--targetprofile', valid values are 'mscorlib', 'netcore' or 'netstandard'."
1063,optsUnknownArgumentToTheTestSwitch,"Unknown --test argument: '%s'"
1064,optsUnknownPlatform,"Unrecognized platform '%s', valid values are 'x86', 'x64', 'Arm', 'Arm64', 'Itanium', 'anycpu32bitpreferred', and 'anycpu'. The default is anycpu."
1065,optsUnknownChecksumAlgorithm,"Algorithm '%s' is not supported"
typeInfoFullName,"Full name"
# typeInfoType,"type"
# typeInfoInherits,"inherits"
# typeInfoImplements,"implements"
typeInfoOtherOverloads,"and %d other overloads"
typeInfoUnionCase,"union case"
typeInfoActivePatternResult,"active pattern result"
typeInfoActiveRecognizer,"active recognizer"
typeInfoField,"field"
typeInfoEvent,"event"
typeInfoProperty,"property"
typeInfoExtension,"extension"
typeInfoCustomOperation,"custom operation"
typeInfoArgument,"argument"
typeInfoAnonRecdField,"anonymous record field"
typeInfoPatternVariable,"patvar"
typeInfoNamespace,"namespace"
typeInfoModule,"module"
typeInfoNamespaceOrModule,"namespace/module"
typeInfoFromFirst,"from %s"
typeInfoFromNext,"also from %s"
typeInfoGeneratedProperty,"generated property"
typeInfoGeneratedType,"generated type"
suggestedName,"(Suggested name)"
1089,recursiveClassHierarchy,"Recursive class hierarchy in type '%s'"
1090,InvalidRecursiveReferenceToAbstractSlot,"Invalid recursive reference to an abstract slot"
1091,eventHasNonStandardType,"The event '%s' has a non-standard type. If this event is declared in another CLI language, you may need to access this event using the explicit %s and %s methods for the event. If this event is declared in F#, make the type of the event an instantiation of either 'IDelegateEvent<_>' or 'IEvent<_,_>'."
1092,typeIsNotAccessible,"The type '%s' is not accessible from this code location"
1093,unionCasesAreNotAccessible,"The union cases or fields of the type '%s' are not accessible from this code location"
1094,valueIsNotAccessible,"The value '%s' is not accessible from this code location"
1095,unionCaseIsNotAccessible,"The union case '%s' is not accessible from this code location"
1096,fieldIsNotAccessible,"The record, struct or class field '%s' is not accessible from this code location"
1097,structOrClassFieldIsNotAccessible,"The struct or class field '%s' is not accessible from this code location"
experimentalConstruct,"This construct is experimental"
1099,noInvokeMethodsFound,"No Invoke methods found for delegate type"
moreThanOneInvokeMethodFound,"More than one Invoke method found for delegate type"
1101,delegatesNotAllowedToHaveCurriedSignatures,"Delegates are not allowed to have curried signatures"
1102,tlrUnexpectedTExpr,"Unexpected Expr.TyChoose"
1103,tlrLambdaLiftingOptimizationsNotApplied,"Note: Lambda-lifting optimizations have not been applied because of the use of this local constrained generic function as a first class value. Adding type constraints may resolve this condition."
1104,lexhlpIdentifiersContainingAtSymbolReserved,"Identifiers containing '@' are reserved for use in F# code generation"
lexhlpIdentifierReserved,"The identifier '%s' is reserved for future use by F#"
1106,patcMissingVariable,"Missing variable '%s'"
1107,patcPartialActivePatternsGenerateOneResult,"Partial active patterns may only generate one result"
1108,impTypeRequiredUnavailable,"The type '%s' is required here and is unavailable. You must add a reference to assembly '%s'."
1109,impReferencedTypeCouldNotBeFoundInAssembly,"A reference to the type '%s' in assembly '%s' was found, but the type could not be found in that assembly"
1110,impNotEnoughTypeParamsInScopeWhileImporting,"Internal error or badly formed metadata: not enough type parameters were in scope while importing"
1111,impReferenceToDllRequiredByAssembly,"A reference to the DLL %s is required by assembly %s. The imported type %s is located in the first assembly and could not be resolved."
1112,impImportedAssemblyUsesNotPublicType,"An imported assembly uses the type '%s' but that type is not public"
1113,optValueMarkedInlineButIncomplete,"The value '%s' was marked inline but its implementation makes use of an internal or private function which is not sufficiently accessible"
1114,optValueMarkedInlineButWasNotBoundInTheOptEnv,"The value '%s' was marked inline but was not bound in the optimization environment"
1116,optValueMarkedInlineHasUnexpectedValue,"A value marked as 'inline' has an unexpected value"
1117,optValueMarkedInlineCouldNotBeInlined,"A value marked as 'inline' could not be inlined"
1118,optFailedToInlineValue,"Failed to inline the value '%s' marked 'inline', perhaps because a recursive value was marked 'inline'"
1119,optRecursiveValValue,"Recursive ValValue %s"
lexfltIncorrentIndentationOfIn,"The indentation of this 'in' token is incorrect with respect to the corresponding 'let'"
lexfltTokenIsOffsideOfContextStartedEarlier,"Unexpected syntax or possible incorrect indentation: this token is offside of context started at position %s. Try indenting this further.\nTo continue using non-conforming indentation, pass the '--strict-indentation-' flag to the compiler, or set the language version to F# 7."
lexfltSeparatorTokensOfPatternMatchMisaligned,"The '|' tokens separating rules of this pattern match are misaligned by one column. Consider realigning your code or using further indentation."
1123,nrInvalidModuleExprType,"Invalid module/expression/type"
1124,nrTypeInstantiationNeededToDisambiguateTypesWithSameName,"Multiple types exist called '%s', taking different numbers of generic parameters. Provide a type instantiation to disambiguate the type resolution, e.g. '%s'."
1125,nrTypeInstantiationIsMissingAndCouldNotBeInferred,"The instantiation of the generic type '%s' is missing and can't be inferred from the arguments or return type of this member. Consider providing a type instantiation when accessing this type, e.g. '%s'."
1126,nrGlobalUsedOnlyAsFirstName,"'global' may only be used as the first name in a qualified path"
1127,nrIsNotConstructorOrLiteral,"This is not a constructor or literal, or a constructor is being used incorrectly"
1128,nrUnexpectedEmptyLongId,"Unexpected empty long identifier"
1129,nrRecordDoesNotContainSuchLabel,"The record type '%s' does not contain a label '%s'."
1130,nrInvalidFieldLabel,"Invalid field label"
1132,nrInvalidExpression,"Invalid expression '%s'"
1133,nrNoConstructorsAvailableForType,"No constructors are available for the type '%s'"
1134,nrUnionTypeNeedsQualifiedAccess,"The union type for union case '%s' was defined with the RequireQualifiedAccessAttribute. Include the name of the union type ('%s') in the name you are using."
1135,nrRecordTypeNeedsQualifiedAccess,"The record type for the record field '%s' was defined with the RequireQualifiedAccessAttribute. Include the name of the record type ('%s') in the name you are using."
1136,ilwriteErrorCreatingPdb,"Unexpected error creating debug information file '%s'"
1138,lexOutsideIntegerRange,"This number is outside the allowable range for this integer type"
# -----------------------------------------------------------------------------
# lex.fsl errors
# -----------------------------------------------------------------------------
lexCharNotAllowedInOperatorNames,"'%s' is not permitted as a character in operator names and is reserved for future use"
lexUnexpectedChar,"Unexpected character '%s'"
1140,lexByteArrayCannotEncode,"This byte array literal contains %d characters that do not encode as a single byte"
1141,lexIdentEndInMarkReserved,"Identifiers followed by '%s' are reserved for future use"
1142,lexOutsideEightBitSigned,"This number is outside the allowable range for 8-bit signed integers"
1143,lexOutsideEightBitSignedHex,"This number is outside the allowable range for hexadecimal 8-bit signed integers"
1144,lexOutsideEightBitUnsigned,"This number is outside the allowable range for 8-bit unsigned integers"
1145,lexOutsideSixteenBitSigned,"This number is outside the allowable range for 16-bit signed integers"
1146,lexOutsideSixteenBitUnsigned,"This number is outside the allowable range for 16-bit unsigned integers"
1147,lexOutsideThirtyTwoBitSigned,"This number is outside the allowable range for 32-bit signed integers"
1148,lexOutsideThirtyTwoBitUnsigned,"This number is outside the allowable range for 32-bit unsigned integers"
1149,lexOutsideSixtyFourBitSigned,"This number is outside the allowable range for 64-bit signed integers"
1150,lexOutsideSixtyFourBitUnsigned,"This number is outside the allowable range for 64-bit unsigned integers"
1151,lexOutsideNativeSigned,"This number is outside the allowable range for signed native integers"
1152,lexOutsideNativeUnsigned,"This number is outside the allowable range for unsigned native integers"
1153,lexInvalidFloat,"Invalid floating point number"
1154,lexOutsideDecimal,"This number is outside the allowable range for decimal literals"
1155,lexOutsideThirtyTwoBitFloat,"This number is outside the allowable range for 32-bit floats"
1156,lexInvalidNumericLiteral,"This is not a valid numeric literal. Valid numeric literals include 1, 0x1, 0o1, 0b1, 1l (int/int32), 1u (uint/uint32), 1L (int64), 1UL (uint64), 1s (int16), 1us (uint16), 1y (int8/sbyte), 1uy (uint8/byte), 1.0 (float/double), 1.0f (float32/single), 1.0m (decimal), 1I (bigint)."
1157,lexInvalidAsciiByteLiteral,"This is not a valid byte character literal. The value must be less than or equal to '\127'B."
1157,lexInvalidTrigraphAsciiByteLiteral,"This is not a valid byte character literal. The value must be less than or equal to '\127'B.\nNote: In a future F# version this warning will be promoted to an error."
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"
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"
lexHashEndifRequiredForElse,"#endif required for #else"
1166,lexHashElseMustBeFirst,"#else directive must appear as the first non-whitespace character on a line"
lexHashEndingNoMatchingIf,"#endif has no matching #if"
1168,lexHashEndifMustBeFirst,"#endif directive must appear as the first non-whitespace character on a line"
1169,lexHashIfMustHaveIdent,"#if directive should be immediately followed by an identifier"
1170,lexWrongNestedHashEndif,"Syntax error. Wrong nested #endif, unexpected tokens before it."
lexHashBangMustBeFirstInFile,"#! may only appear as the first line at the start of a file."
1171,pplexExpectedSingleLineComment,"Expected single line comment or end of line"
1172,memberOperatorDefinitionWithNoArguments,"Infix operator member '%s' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ..."
1173,memberOperatorDefinitionWithNonPairArgument,"Infix operator member '%s' has %d initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ..."
1174,memberOperatorDefinitionWithCurriedArguments,"Infix operator member '%s' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ..."
1175,tcFSharpCoreRequiresExplicit,"All record, union and struct types in FSharp.Core.dll must be explicitly labelled with 'StructuralComparison' or 'NoComparison'"
1176,tcStructuralComparisonNotSatisfied1,"The struct, record or union type '%s' has the 'StructuralComparison' attribute but the type parameter '%s' does not satisfy the 'comparison' constraint. Consider adding the 'comparison' constraint to the type parameter"
1177,tcStructuralComparisonNotSatisfied2,"The struct, record or union type '%s' has the 'StructuralComparison' attribute but the component type '%s' does not satisfy the 'comparison' constraint"
1178,tcNoComparisonNeeded1,"The struct, record or union type '%s' is not structurally comparable because the type parameter %s does not satisfy the 'comparison' constraint. Consider adding the 'NoComparison' attribute to the type '%s' to clarify that the type is not comparable"
1178,tcNoComparisonNeeded2,"The struct, record or union type '%s' is not structurally comparable because the type '%s' does not satisfy the 'comparison' constraint. Consider adding the 'NoComparison' attribute to the type '%s' to clarify that the type is not comparable"
1178,tcNoEqualityNeeded1,"The struct, record or union type '%s' does not support structural equality because the type parameter %s does not satisfy the 'equality' constraint. Consider adding the 'NoEquality' attribute to the type '%s' to clarify that the type does not support structural equality"
1178,tcNoEqualityNeeded2,"The struct, record or union type '%s' does not support structural equality because the type '%s' does not satisfy the 'equality' constraint. Consider adding the 'NoEquality' attribute to the type '%s' to clarify that the type does not support structural equality"
1179,tcStructuralEqualityNotSatisfied1,"The struct, record or union type '%s' has the 'StructuralEquality' attribute but the type parameter '%s' does not satisfy the 'equality' constraint. Consider adding the 'equality' constraint to the type parameter"
1180,tcStructuralEqualityNotSatisfied2,"The struct, record or union type '%s' has the 'StructuralEquality' attribute but the component type '%s' does not satisfy the 'equality' constraint"
1181,tcStructsMustDeclareTypesOfImplicitCtorArgsExplicitly,"Each argument of the primary constructor for a struct must be given a type, for example 'type S(x1:int, x2: int) = ...'. These arguments determine the fields of the struct."
1182,chkUnusedValue,"The value '%s' is unused"
1183,chkUnusedThisVariable,"The recursive object reference '%s' is unused. The presence of a recursive object reference adds runtime initialization checks to members in this and derived types. Consider removing this recursive object reference."
1184,parsGetterAtMostOneArgument,"A getter property may have at most one argument group"
1185,parsSetterAtMostTwoArguments,"A setter property may have at most two argument groups"
1186,parsInvalidProperty,"Invalid property getter or setter"
1187,parsIndexerPropertyRequiresAtLeastOneArgument,"An indexer property must be given at least one argument"
1188,tastInvalidAddressOfMutableAcrossAssemblyBoundary,"This operation accesses a mutable top-level value defined in another assembly in an unsupported way. The value cannot be accessed through its address. Consider copying the expression to a mutable local, e.g. 'let mutable x = ...', and if necessary assigning the value back after the completion of the operation"
1189,parsNonAdjacentTypars,"Remove spaces between the type name and type parameter, e.g. \"type C<'T>\", not type \"C   <'T>\". Type parameters must be placed directly adjacent to the type name."
1190,parsNonAdjacentTyargs,"Remove spaces between the type name and type parameter, e.g. \"C<'T>\", not \"C <'T>\". Type parameters must be placed directly adjacent to the type name."
parsNonAtomicType,"The use of the type syntax 'int C' and 'C  <int>' is not permitted here. Consider adjusting this type to be written in the form 'C<int>'"
1193,tastUndefinedItemRefModuleNamespace,"The module/namespace '%s' from compilation unit '%s' did not contain the module/namespace '%s'"
1194,tastUndefinedItemRefVal,"The module/namespace '%s' from compilation unit '%s' did not contain the val '%s'"
1195,tastUndefinedItemRefModuleNamespaceType,"The module/namespace '%s' from compilation unit '%s' did not contain the namespace, module or type '%s'"
1196,tcInvalidUseNullAsTrueValue,"The 'UseNullAsTrueValue' attribute flag may only be used with union types that have one nullary case and at least one non-nullary case"
1197,tcParameterInferredByref,"The parameter '%s' was inferred to have byref type. Parameters of byref type must be given an explicit type annotation, e.g. 'x1: byref<int>'. When used, a byref parameter is implicitly dereferenced."
1198,tcNonUniformMemberUse,"The generic member '%s' has been used at a non-uniform instantiation prior to this program point. Consider reordering the members so this member occurs first. Alternatively, specify the full type of the member explicitly, including argument types, return type and any additional generic parameters and constraints."
1200,tcAttribArgsDiffer,"The attribute '%s' appears in both the implementation and the signature, but the attribute arguments differ. Only the attribute from the signature will be included in the compiled code."
1201,tcCannotCallAbstractBaseMember,"Cannot call an abstract base member: '%s'"
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<int,unit> = A x'"
1211,ilFieldHasOffsetForSequentialLayout,"The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit)"
1212,tcOptionalArgsMustComeAfterNonOptionalArgs,"Optional arguments must come at the end of the argument list, after any non-optional arguments"
1213,tcConditionalAttributeUsage,"Attribute 'System.Diagnostics.ConditionalAttribute' is only valid on methods or attribute classes"
1215,tcMemberOperatorDefinitionInExtrinsic,"Extension members cannot provide operator overloads.  Consider defining the operator as part of the type definition instead."
1219,tcUnionCaseNameConflictsWithGeneratedType,"The union case named '%s' conflicts with the generated type '%s'"
1220,chkNoReflectedDefinitionOnStructMember,"ReflectedDefinitionAttribute may not be applied to an instance member on a struct type, because the instance member takes an implicit 'this' byref parameter"
1221,tcDllImportNotAllowed,"DLLImport bindings must be static members in a class or function definitions in a module"
1223,buildExpectedSigdataFile,"FSharp.Core.sigdata not found alongside FSharp.Core. File expected in %s. Consider upgrading to a more recent version of FSharp.Core, where this file is no longer be required."
1225,buildExpectedFileAlongSideFSharpCore,"File '%s' not found alongside FSharp.Core. File expected in %s. Consider upgrading to a more recent version of FSharp.Core, where this file is no longer be required."
1227,buildUnexpectedFileNameCharacter,"Filename '%s' contains invalid character '%s'"
1228,tcInvalidUseBangBinding,"'use!' bindings must be of the form 'use! <var> = <expr>'"
1230,crefNoInnerGenericsInQuotations,"Inner generic functions are not permitted in quoted expressions. Consider adding some type constraints until this function is no longer generic."
1231,tcEnumTypeCannotBeEnumerated,"The type '%s' is not a valid enumerator type , i.e. does not have a 'MoveNext()' method returning a bool, and a 'Current' property"
1232,parsEofInTripleQuoteString,"End of file in triple-quote string begun at or before here"
1233,parsEofInTripleQuoteStringInComment,"End of file in triple-quote string embedded in comment begun at or before here"
1240,tcTypeTestLosesMeasures,"This type test or downcast will ignore the unit-of-measure '%s'"
1241,parsMissingTypeArgs,"Expected type argument or static argument"
1242,parsMissingGreaterThan,"Unmatched '<'. Expected closing '>'"
1243,parsUnexpectedQuotationOperatorInTypeAliasDidYouMeanVerbatimString,"Unexpected quotation operator '<@' in type definition. If you intend to pass a verbatim string as a static argument to a type provider, put a space between the '<' and '@' characters."
1244,parsErrorParsingAsOperatorName,"Attempted to parse this as an operator name, but failed"
1245,lexInvalidUnicodeLiteral,"\U%s is not a valid Unicode character escape sequence"
1246,tcCallerInfoWrongType,"'%s' must be applied to an argument of type '%s', but has been applied to an argument of type '%s'"
1247,tcCallerInfoNotOptional,"'%s' can only be applied to optional arguments"
1248,lexTooManyLBracesInTripleQuote,"The interpolated triple quoted string literal does not start with enough '$' characters to allow this many consecutive opening braces as content."
1249,lexUnmatchedRBracesInTripleQuote,"The interpolated string contains unmatched closing braces."
1250,lexTooManyPercentsInTripleQuote,"The interpolated triple quoted string literal does not start with enough '$' characters to allow this many consecutive '%%' characters."
1251,lexExtendedStringInterpolationNotSupported,"Extended string interpolation is not supported in this version of F#."
1252,lexInvalidCharLiteralInString,"'%s' is not a valid character literal.\nNote: Currently the value is wrapped around byte range to '%s'. In a future F# version this warning will be promoted to an error."
1253,lexByteArrayOutisdeAscii,"This byte array literal contains %d non-ASCII characters. All characters should be < 128y."
# reshapedmsbuild.fs
1300,toolLocationHelperUnsupportedFrameworkVersion,"The specified .NET Framework version '%s' is not supported. Please specify a value from the enumeration Microsoft.Build.Utilities.TargetDotNetFrameworkVersion."
# -----------------------------------------------------------------------------
# ilsign errors
# -----------------------------------------------------------------------------
1301,ilSignInvalidMagicValue,"Invalid Magic value in CLR Header"
1302,ilSignBadImageFormat,"Bad image format"
1303,ilSignPrivateKeyExpected,"Private key expected"
1304,ilSignRsaKeyExpected,"RSA key expected"
1305,ilSignInvalidBitLen,"Invalid bit Length"
1306,ilSignInvalidRSAParams,"Invalid RSAParameters structure - '{{0}}' expected"
1307,ilSignInvalidAlgId,"Invalid algId - 'Exponent' expected"
1308,ilSignInvalidSignatureSize,"Invalid signature size"
1309,ilSignNoSignatureDirectory,"No signature directory"
1310,ilSignInvalidPKBlob,"Invalid Public Key blob"
# fsc.exe resource strings
fscTooManyErrors,"Exiting - too many errors"
2001,docfileNoXmlSuffix,"The documentation file has no .xml suffix"
2002,fscNoImplementationFiles,"No implementation files specified"
2003,fscBadAssemblyVersion,"The attribute %s specified version '%s', but this value is invalid and has been ignored"
2004,fscTwoResourceManifests,"Conflicting options specified: 'win32manifest' and 'win32res'. Only one of these can be used."
2005,fscQuotationLiteralsStaticLinking,"The code in assembly '%s' makes uses of quotation literals. Static linking may not include components that make use of quotation literals unless all assemblies are compiled with at least F# 4.0."
2006,fscQuotationLiteralsStaticLinking0,"Code in this assembly makes uses of quotation literals. Static linking may not include components that make use of quotation literals unless all assemblies are compiled with at least F# 4.0."
2007,fscStaticLinkingNoEXE,"Static linking may not include a .EXE"
2008,fscStaticLinkingNoMixedDLL,"Static linking may not include a mixed managed/unmanaged DLL"
2009,fscIgnoringMixedWhenLinking,"Ignoring mixed managed/unmanaged assembly '%s' during static linking"
2011,fscAssumeStaticLinkContainsNoDependencies,"Assembly '%s' was referenced transitively and the assembly could not be resolved automatically. Static linking will assume this DLL has no dependencies on the F# library or other statically linked DLLs. Consider adding an explicit reference to this DLL."
2012,fscAssemblyNotFoundInDependencySet,"Assembly '%s' not found in dependency set of target binary. Statically linked roots should be specified using an assembly name, without a DLL or EXE extension. If this assembly was referenced explicitly then it is possible the assembly was not actually required by the generated binary, in which case it should not be statically linked."
2013,fscKeyFileCouldNotBeOpened,"The key file '%s' could not be opened"
2014,fscProblemWritingBinary,"A problem occurred writing the binary '%s': %s"
2015,fscAssemblyVersionAttributeIgnored,"The 'AssemblyVersionAttribute' has been ignored because a version was given using a command line option"
2016,fscAssemblyCultureAttributeError,"Error emitting 'System.Reflection.AssemblyCultureAttribute' attribute -- 'Executables cannot be satellite assemblies, Culture should always be empty'"
2017,fscDelaySignWarning,"Option '--delaysign' overrides attribute 'System.Reflection.AssemblyDelaySignAttribute' given in a source file or added module"
2018,fscKeyFileWarning,"Option '--keyfile' overrides attribute 'System.Reflection.AssemblyKeyFileAttribute' given in a source file or added module"
2019,fscKeyNameWarning,"Option '--keycontainer' overrides attribute 'System.Reflection.AssemblyNameAttribute' given in a source file or added module"
2020,fscReferenceOnCommandLine,"The assembly '%s' is listed on the command line. Assemblies should be referenced using a command line flag such as '-r'."
2021,fscRemotingError,"The resident compilation service was not used because a problem occurred in communicating with the server."
2022,pathIsInvalid,"Problem with filename '%s': Illegal characters in path."
2023,fscResxSourceFileDeprecated,"Passing a .resx file (%s) as a source file to the compiler is deprecated. Use resgen.exe to transform the .resx file into a .resources file to pass as a --resource option. If you are using MSBuild, this can be done via an <EmbeddedResource> item in the .fsproj project file."
2024,fscStaticLinkingNoProfileMismatches,"Static linking may not be used on an assembly referencing mscorlib (e.g. a .NET Framework assembly) when generating an assembly that references System.Runtime (e.g. a .NET Core or Portable assembly)."
2025,fscAssemblyWildcardAndDeterminism,"An %s specified version '%s', but this value is a wildcard, and you have requested a deterministic build, these are in conflict."
2028,optsInvalidPathMapFormat,"Invalid path map. Mappings must be comma separated and of the format 'path=sourcePath'"
2029,optsInvalidRefOut,"Invalid reference assembly path'"
2030,optsInvalidRefAssembly,"Invalid use of emitting a reference assembly, do not use '--standalone or --staticlink' with '--refonly or --refout'."
3000,etIllegalCharactersInNamespaceName,"Character '%s' is not allowed in provided namespace name '%s'"
3001,etNullOrEmptyMemberName,"The provided type '%s' returned a member with a null or empty member name"
3002,etNullMember,"The provided type '%s' returned a null member"
3003,etNullMemberDeclaringType,"The provided type '%s' member info '%s' has null declaring type"
3004,etNullMemberDeclaringTypeDifferentFromProvidedType,"The provided type '%s' has member '%s' which has declaring type '%s'. Expected declaring type to be the same as provided type."
3005,etHostingAssemblyFoundWithoutHosts,"Referenced assembly '%s' has assembly level attribute '%s' but no public type provider classes were found"
3006,etEmptyNamespaceOfTypeNotAllowed,"Type '%s' from type provider '%s' has an empty namespace. Use 'null' for the global namespace."
3007,etEmptyNamespaceNotAllowed,"Empty namespace found from the type provider '%s'. Use 'null' for the global namespace."
3011,etMustNotBeGeneric,"Provided type '%s' has 'IsGenericType' as true, but generic types are not supported."
3013,etMustNotBeAnArray,"Provided type '%s' has 'IsArray' as true, but array types are not supported."
3014,etMethodHasRequirements,"Invalid member '%s' on provided type '%s'. Provided type members must be public, and not be generic, virtual, or abstract."
3015,etUnsupportedMemberKind,"Invalid member '%s' on provided type '%s'. Only properties, methods and constructors are allowed"
3016,etPropertyCanReadButHasNoGetter,"Property '%s' on provided type '%s' has CanRead=true but there was no value from GetGetMethod()"
3017,etPropertyHasGetterButNoCanRead,"Property '%s' on provided type '%s' has CanRead=false but GetGetMethod() returned a method"
3018,etPropertyCanWriteButHasNoSetter,"Property '%s' on provided type '%s' has CanWrite=true but there was no value from GetSetMethod()"
3019,etPropertyHasSetterButNoCanWrite,"Property '%s' on provided type '%s' has CanWrite=false but GetSetMethod() returned a method"
3020,etOneOrMoreErrorsSeenDuringExtensionTypeSetting,"One or more errors seen during provided type setup"
3021,etUnexpectedExceptionFromProvidedTypeMember,"Unexpected exception from provided type '%s' member '%s': %s"
3022,etUnsupportedConstantType,"Unsupported constant type '%s'. Quotations provided by type providers can only contain simple constants. The implementation of the type provider may need to be adjusted by moving a value declared outside a provided quotation literal to be a 'let' binding inside the quotation literal."
3025,etUnsupportedProvidedExpression,"Unsupported expression '%s' from type provider. If you are the author of this type provider, consider adjusting it to provide a different provided expression."
3028,etProvidedTypeHasUnexpectedName,"Expected provided type named '%s' but provided type has 'Name' with value '%s'"
3029,etEventNoAdd,"Event '%s' on provided type '%s' has no value from GetAddMethod()"
3030,etEventNoRemove,"Event '%s' on provided type '%s' has no value from GetRemoveMethod()"
3031,etProviderHasWrongDesignerAssemblyNoPath,"Assembly attribute '%s' refers to a designer assembly '%s' which cannot be loaded or doesn't exist. The exception reported was: %s - %s"
3031,etProviderHasWrongDesignerAssembly,"Assembly attribute '%s' refers to a designer assembly '%s' which cannot be loaded from path '%s'. The exception reported was: %s - %s"
3032,etProviderDoesNotHaveValidConstructor,"The type provider does not have a valid constructor. A constructor taking either no arguments or one argument of type 'TypeProviderConfig' was expected."
3033,etProviderError,"The type provider '%s' reported an error: %s"
3034,etIncorrectParameterExpression,"The type provider '%s' used an invalid parameter in the ParameterExpression: %s"
3035,etIncorrectProvidedMethod,"The type provider '%s' provided a method with a name '%s' and metadata token '%d', which is not reported among its methods of its declaring type '%s'"
3036,etIncorrectProvidedConstructor,"The type provider '%s' provided a constructor which is not reported among the constructors of its declaring type '%s'"
3039,etDirectReferenceToGeneratedTypeNotAllowed,"A direct reference to the generated type '%s' is not permitted. Instead, use a type definition, e.g. 'type TypeAlias = <path>'. This indicates that a type provider adds generated types to your assembly."
3041,etProvidedTypeHasUnexpectedPath,"Expected provided type with path '%s' but provided type has path '%s'"
3042,etUnexpectedNullFromProvidedTypeMember,"Unexpected 'null' return value from provided type '%s' member '%s'"
3043,etUnexpectedExceptionFromProvidedMemberMember,"Unexpected exception from member '%s' of provided type '%s' member '%s': %s"
3044,etNestedProvidedTypesDoNotTakeStaticArgumentsOrGenericParameters,"Nested provided types do not take static arguments or generic parameters"
3045,etInvalidStaticArgument,"Invalid static argument to provided type. Expected an argument of kind '%s'."
3046,etErrorApplyingStaticArgumentsToType,"An error occurred applying the static arguments to a provided type"
3047,etUnknownStaticArgumentKind,"Unknown static argument kind '%s' when resolving a reference to a provided type or method '%s'"
3048,etProviderHasDesignerAssemblyDependency,"The type provider designer assembly '%s' could not be loaded from folder '%s' because a dependency was missing or could not loaded. All dependencies of the type provider designer assembly must be located in the same folder as that assembly. The exception reported was: %s - %s"
3049,etProviderHasDesignerAssemblyException,"The type provider designer assembly '%s' could not be loaded from folder '%s'. The exception reported was: %s - %s"
invalidNamespaceForProvidedType,"invalid namespace for provided type"
invalidFullNameForProvidedType,"invalid full name for provided type"
3051,etProviderReturnedNull,"The type provider returned 'null', which is not a valid return value from '%s'"
3053,etTypeProviderConstructorException,"The type provider constructor has thrown an exception: %s"
3056,etNullProvidedExpression,"Type provider '%s' returned null from GetInvokerExpression."
3057,etProvidedAppliedTypeHadWrongName,"The type provider '%s' returned an invalid type from 'ApplyStaticArguments'. A type with name '%s' was expected, but a type with name '%s' was returned."
3058,etProvidedAppliedMethodHadWrongName,"The type provider '%s' returned an invalid method from 'ApplyStaticArgumentsForMethod'. A method with name '%s' was expected, but a method with name '%s' was returned."
3060,tcTypeTestLossy,"This type test or downcast will erase the provided type '%s' to the type '%s'"
3061,tcTypeCastErased,"This downcast will erase the provided type '%s' to the type '%s'."
3062,tcTypeTestErased,"This type test with a provided type '%s' is not allowed because this provided type will be erased to '%s' at runtime."
3063,tcCannotInheritFromErasedType,"Cannot inherit from erased provided type"
3065,etInvalidTypeProviderAssemblyName,"Assembly '%s' has TypeProviderAssembly attribute with invalid value '%s'. The value should be a valid assembly name"
3066,tcInvalidMemberNameCtor,"Invalid member name. Members may not have name '.ctor' or '.cctor'"
3068,tcInferredGenericTypeGivesRiseToInconsistency,"The function or member '%s' is used in a way that requires further type annotations at its definition to ensure consistency of inferred types. The inferred signature is '%s'."
3069,tcInvalidTypeArgumentCount,"The number of type arguments did not match: '%d' given, '%d' expected. This may be related to a previously reported error."
3070,tcCannotOverrideSealedMethod,"Cannot override inherited member '%s' because it is sealed"
3071,etProviderErrorWithContext,"The type provider '%s' reported an error in the context of provided type '%s', member '%s'. The error: %s"
3072,etProvidedTypeWithNameException,"An exception occurred when accessing the '%s' of a provided type: %s"
3073,etProvidedTypeWithNullOrEmptyName,"The '%s' of a provided type was null or empty."
3075,etIllegalCharactersInTypeName,"Character '%s' is not allowed in provided type name '%s'"
3077,tcJoinMustUseSimplePattern,"In queries, '%s' must use a simple pattern"
3078,tcMissingCustomOperation,"A custom query operation for '%s' is required but not specified"
3080,etBadUnnamedStaticArgs,"Named static arguments must come after all unnamed static arguments"
3081,etStaticParameterRequiresAValue,"The static parameter '%s' of the provided type or method '%s' requires a value. Static parameters to type providers may be optionally specified using named arguments, e.g. '%s<%s=...>'."
3082,etNoStaticParameterWithName,"No static parameter exists with name '%s'"
3083,etStaticParameterAlreadyHasValue,"The static parameter '%s' has already been given a value"
3084,etMultipleStaticParameterWithName,"Multiple static parameters exist with name '%s'"
3085,tcCustomOperationMayNotBeUsedInConjunctionWithNonSimpleLetBindings,"A custom operation may not be used in conjunction with a non-value or recursive 'let' binding in another part of this computation expression"
3086,tcCustomOperationMayNotBeUsedHere,"A custom operation may not be used in conjunction with 'use', 'try/with', 'try/finally', 'if/then/else' or 'match' operators within this computation expression"
3087,tcCustomOperationMayNotBeOverloaded,"The custom operation '%s' refers to a method which is overloaded. The implementations of custom operations may not be overloaded."
featureOverloadsForCustomOperations,"overloads for custom operations"
featureExpandedMeasurables,"more types support units of measure"
featurePrintfBinaryFormat,"binary formatting for integers"
featureIndexerNotationWithoutDot,"expr[idx] notation for indexing and slicing"
featureRefCellNotationInformationals,"informational messages related to reference cells"
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."
3091,ilxgenUnexpectedArgumentToMethodHandleOfDuringCodegen,"Invalid argument to 'methodhandleof' during codegen"
3092,etProvidedTypeReferenceMissingArgument,"A reference to a provided type was missing a value for the static parameter '%s'. You may need to recompile one or more referenced assemblies."
3093,etProvidedTypeReferenceInvalidText,"A reference to a provided type had an invalid value '%s' for a static parameter. You may need to recompile one or more referenced assemblies."
3095,tcCustomOperationNotUsedCorrectly,"'%s' is not used correctly. This is a custom operation in this query or computation expression."
3095,tcCustomOperationNotUsedCorrectly2,"'%s' is not used correctly. Usage: %s. This is a custom operation in this query or computation expression."
customOperationTextLikeJoin,"%s var in collection %s (outerKey = innerKey). Note that parentheses are required after '%s'"
customOperationTextLikeGroupJoin,"%s var in collection %s (outerKey = innerKey) into group. Note that parentheses are required after '%s'"
customOperationTextLikeZip,"%s var in collection"
3096,tcBinaryOperatorRequiresVariable,"'%s' must be followed by a variable name. Usage: %s."
3097,tcOperatorIncorrectSyntax,"Incorrect syntax for '%s'. Usage: %s."
3098,tcBinaryOperatorRequiresBody,"'%s' must come after a 'for' selection clause and be followed by the rest of the query. Syntax: ... %s ..."
3099,tcCustomOperationHasIncorrectArgCount,"'%s' is used with an incorrect number of arguments. This is a custom operation in this query or computation expression. Expected %d argument(s), but given %d."
3100,parsExpectedExpressionAfterToken,"Expected an expression after this point"
3101,parsExpectedTypeAfterToken,"Expected a type after this point"
3102,parsUnmatchedLBrackLess,"Unmatched '[<'. Expected closing '>]'"
3103,parsUnexpectedEndOfFileMatch,"Unexpected end of input in 'match' expression. Expected 'match <expr> with | <pat> -> <expr> | <pat> -> <expr> ...'."
3104,parsUnexpectedEndOfFileTry,"Unexpected end of input in 'try' expression. Expected 'try <expr> with <rules>' or 'try <expr> finally <expr>'."
3105,parsUnexpectedEndOfFileWhile,"Unexpected end of input in 'while' expression. Expected 'while <expr> do <expr>'."
3106,parsUnexpectedEndOfFileFor,"Unexpected end of input in 'for' expression. Expected 'for <pat> in <expr> do <expr>'."
3107,parsUnexpectedEndOfFileWith,"Unexpected end of input in 'match' or 'try' expression"
3108,parsUnexpectedEndOfFileThen,"Unexpected end of input in 'then' branch of conditional expression. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'."
3109,parsUnexpectedEndOfFileElse,"Unexpected end of input in 'else' branch of conditional expression. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'."
3110,parsUnexpectedEndOfFileFunBody,"Unexpected end of input in body of lambda expression. Expected 'fun <pat> ... <pat> -> <expr>'."
3111,parsUnexpectedEndOfFileTypeArgs,"Unexpected end of input in type arguments"
3112,parsUnexpectedEndOfFileTypeSignature,"Unexpected end of input in type signature"
3113,parsUnexpectedEndOfFileTypeDefinition,"Unexpected end of input in type definition"
3114,parsUnexpectedEndOfFileObjectMembers,"Unexpected end of input in object members"
3115,parsUnexpectedEndOfFileDefinition,"Unexpected end of input in value, function or member definition"
3116,parsUnexpectedEndOfFileExpression,"Unexpected end of input in expression"
3117,parsExpectedNameAfterToken,"Unexpected end of type. Expected a name after this point."
3118,parsUnmatchedLet,"Incomplete value or function definition. If this is in an expression, the body of the expression must be indented to the same column as the 'let' keyword."
3119,parsUnmatchedLetBang,"Incomplete value definition. If this is in an expression, the body of the expression must be indented to the same column as the 'let!' keyword."
3120,parsUnmatchedUseBang,"Incomplete value definition. If this is in an expression, the body of the expression must be indented to the same column as the 'use!' keyword."
3121,parsUnmatchedUse,"Incomplete value definition. If this is in an expression, the body of the expression must be indented to the same column as the 'use' keyword."
3122,parsWhileDoExpected,"Missing 'do' in 'while' expression. Expected 'while <expr> do <expr>'."
3123,parsForDoExpected,"Missing 'do' in 'for' expression. Expected 'for <pat> in <expr> do <expr>'."
3125,tcInvalidRelationInJoin,"Invalid join relation in '%s'. Expected 'expr <op> expr', where <op> is =, =?, ?= or ?=?."
typeInfoCallsWord,"Calls"
3126,impInvalidNumberOfGenericArguments,"Invalid number of generic arguments to type '%s' in provided type. Expected '%d' arguments, given '%d'."
3127,impInvalidMeasureArgument1,"Invalid value '%s' for unit-of-measure parameter '%s'"
3127,impInvalidMeasureArgument2,"Invalid value unit-of-measure parameter '%s'"
3128,etPropertyNeedsCanWriteOrCanRead,"Property '%s' on provided type '%s' is neither readable nor writable as it has CanRead=false and CanWrite=false"
3129,tcIntoNeedsRestOfQuery,"A use of 'into' must be followed by the remainder of the computation"
3130,tcOperatorDoesntAcceptInto,"The operator '%s' does not accept the use of 'into'"
3131,tcCustomOperationInvalid,"The definition of the custom operator '%s' does not use a valid combination of attribute flags"
3132,tcThisTypeMayNotHaveACLIMutableAttribute,"This type definition may not have the 'CLIMutable' attribute. Only record types may have this attribute."
3133,tcAutoPropertyRequiresImplicitConstructionSequence,"'member val' definitions are only permitted in types with a primary constructor. Consider adding arguments to your type definition, e.g. 'type X(args) = ...'."
3134,parsMutableOnAutoPropertyShouldBeGetSet,"Property definitions may not be declared mutable. To indicate that this property can be set, use 'member val PropertyName = expr with get,set'."
3135,parsMutableOnAutoPropertyShouldBeGetSetNotJustSet,"To indicate that this property can be set, use 'member val PropertyName = expr with get,set'."
3136,chkNoByrefsOfByrefs,"Type '%s' is illegal because in byref<T>, T cannot contain byref types."
3138,tastopsMaxArrayThirtyTwo,"F# supports array ranks between 1 and 32. The value %d is not allowed."
3139,tcNoIntegerForLoopInQuery,"In queries, use the form 'for x in n .. m do ...' for ranging over integers"
3140,tcNoWhileInQuery,"'while' expressions may not be used in queries"
3141,tcNoTryFinallyInQuery,"'try/finally' expressions may not be used in queries"
3142,tcUseMayNotBeUsedInQueries,"'use' expressions may not be used in queries"
3143,tcBindMayNotBeUsedInQueries,"'let!', 'use!' and 'do!' expressions may not be used in queries"
3144,tcReturnMayNotBeUsedInQueries,"'return' and 'return!' may not be used in queries"
3145,tcUnrecognizedQueryOperator,"This is not a known query operator. Query operators are identifiers such as 'select', 'where', 'sortBy', 'thenBy', 'groupBy', 'groupValBy', 'join', 'groupJoin', 'sumBy' and 'averageBy', defined using corresponding methods on the 'QueryBuilder' type."
3146,tcTryWithMayNotBeUsedInQueries,"'try/with' expressions may not be used in queries"
3147,tcNonSimpleLetBindingInQuery,"This 'let' definition may not be used in a query. Only simple value definitions may be used in queries."
3148,etTooManyStaticParameters,"Too many static parameters. Expected at most %d parameters, but got %d unnamed and %d named parameters."
3149,infosInvalidProvidedLiteralValue,"Invalid provided literal value '%s'"
3150,invalidPlatformTarget,"The 'anycpu32bitpreferred' platform can only be used with EXE targets. You must use 'anycpu' instead."
3151,tcThisValueMayNotBeInlined,"This member, function or value declaration may not be declared 'inline'"
3152,etErasedTypeUsedInGeneration,"The provider '%s' returned a non-generated type '%s' in the context of a set of generated types. Consider adjusting the type provider to only return generated types."
3153,tcUnrecognizedQueryBinaryOperator,"Arguments to query operators may require parentheses, e.g. 'where (x > y)' or 'groupBy (x.Length / 10)'"
3155,crefNoSetOfHole,"A quotation may not involve an assignment to or taking the address of a captured local variable"
nicePrintOtherOverloads1,"+ 1 overload"
nicePrintOtherOverloadsN,"+ %d overloads"
erasedTo,"Erased to"
3156,parsUnfinishedExpression,"Unexpected token '%s' or incomplete expression"
3158,parsAttributeOnIncompleteCode,"Cannot find code target for this attribute, possibly because the code after the attribute is incomplete."
3159,parsTypeNameCannotBeEmpty,"Type name cannot be empty."
3160,buildProblemReadingAssembly,"Problem reading assembly '%s': %s"
3161,tcTPFieldMustBeLiteral,"Invalid provided field. Provided fields of erased provided types must be literals."
loadingDescription,"(loading description...)"
descriptionUnavailable,"(description unavailable...)"
3162,chkTyparMultipleClassConstraints,"A type variable has been constrained by multiple different class types. A type variable may only have one class constraint."
3163,tcMatchMayNotBeUsedWithQuery,"'match' expressions may not be used in queries"
3164,memberOperatorDefinitionWithNonTripleArgument,"Infix operator member '%s' has %d initial argument(s). Expected a tuple of 3 arguments"
3165,cannotResolveNullableOperators,"The operator '%s' cannot be resolved. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'."
3167,tcOperatorRequiresIn,"'%s' must be followed by 'in'. Usage: %s."
3168,parsIllegalMemberVarInObjectImplementation,"Neither 'member val' nor 'override val' definitions are permitted in object expressions."
3169,tcEmptyCopyAndUpdateRecordInvalid,"Copy-and-update record expressions must include at least one field."
3170,parsUnderscoreInvalidFieldName,"'_' cannot be used as field name"
3171,tcGeneratedTypesShouldBeInternalOrPrivate,"The provided types generated by this use of a type provider may not be used from other F# assemblies and should be marked internal or private. Consider using 'type internal TypeName = ...' or 'type private TypeName = ...'."
3172,chkGetterAndSetterHaveSamePropertyType,"A property's getter and setter must have the same type. Property '%s' has getter of type '%s' but setter of type '%s'."
3173,tcRuntimeSuppliedMethodCannotBeUsedInUserCode,"Array method '%s' is supplied by the runtime and cannot be directly used in code. For operations with array elements consider using family of GetArray/SetArray functions from LanguagePrimitives.IntrinsicFunctions module."
3174,tcUnionCaseConstructorDoesNotHaveFieldWithGivenName,"The union case '%s' does not have a field named '%s'."
3174,tcExceptionConstructorDoesNotHaveFieldWithGivenName,"The exception '%s' does not have a field named '%s'."
3174,tcActivePatternsDoNotHaveFields,"Active patterns do not have fields. This syntax is invalid."
3174,tcConstructorDoesNotHaveFieldWithGivenName,"The constructor does not have a field named '%s'."
3175,tcUnionCaseFieldCannotBeUsedMoreThanOnce,"Union case/exception field '%s' cannot be used more than once."
3176,tcFieldNameIsUsedModeThanOnce,"Named field '%s' is used more than once."
3176,tcFieldNameConflictsWithGeneratedNameForAnonymousField,"Named field '%s' conflicts with autogenerated name for anonymous field."
3177,tastConstantExpressionOverflow,"This literal expression or attribute argument results in an arithmetic overflow."
3178,tcIllegalStructTypeForConstantExpression,"This is not valid literal expression. The [<Literal>] attribute will be ignored."
3179,fscSystemRuntimeInteropServicesIsRequired,"System.Runtime.InteropServices assembly is required to use UnknownWrapper\DispatchWrapper classes."
3180,abImplicitHeapAllocation,"The mutable local '%s' is implicitly allocated as a reference cell because it has been captured by a closure. This warning is for informational purposes only to indicate where implicit allocations are performed."
estApplyStaticArgumentsForMethodNotImplemented,"A type provider implemented GetStaticParametersForMethod, but ApplyStaticArgumentsForMethod was not implemented or invalid"
3181,etErrorApplyingStaticArgumentsToMethod,"An error occurred applying the static arguments to a provided method"
3182,pplexUnexpectedChar,"Unexpected character '%s' in preprocessor expression"
3183,ppparsUnexpectedToken,"Unexpected token '%s' in preprocessor expression"
3184,ppparsIncompleteExpression,"Incomplete preprocessor expression"
3185,ppparsMissingToken,"Missing token '%s' in preprocessor expression"
3186,pickleMissingDefinition,"An error occurred while reading the F# metadata node at position %d in table '%s' of assembly '%s'. The node had no matching declaration. Please report this warning. You may need to recompile the F# assembly you are using."
3187,checkNotSufficientlyGenericBecauseOfScope,"Type inference caused the type variable %s to escape its scope. Consider adding an explicit type parameter declaration or adjusting your code to be less generic."
3188,checkNotSufficientlyGenericBecauseOfScopeAnon,"Type inference caused an inference type variable to escape its scope. Consider adding type annotations to make your code less generic."
3189,checkRaiseFamilyFunctionArgumentCount,"Redundant arguments are being ignored in function '%s'. Expected %d but got %d arguments."
3190,checkLowercaseLiteralBindingInPattern,"Lowercase literal '%s' is being shadowed by a new pattern with the same name. Only uppercase and module-prefixed literals can be used as named patterns."
3191,tcLiteralDoesNotTakeArguments,"This literal pattern does not take arguments"
3192,tcConstructorsIllegalInAugmentation,"Constructors are not permitted as extension members - they must be defined as part of the original definition of the type"
3193,optsInvalidResponseFile,"Invalid response file '%s' ( '%s' )"
3194,optsResponseFileNotFound,"Response file '%s' not found in '%s'"
3195,optsResponseFileNameInvalid,"Response file name '%s' is empty, contains invalid characters, has a drive specification without an absolute path, or is too long"
3196,fsharpCoreNotFoundToBeCopied,"Cannot find FSharp.Core.dll in compiler's directory"
tcTupleStructMismatch,"One tuple type is a struct tuple, the other is a reference tuple"
3197,etMissingStaticArgumentsToMethod,"This provided method requires static parameters"
3198,considerUpcast,"The conversion from %s to %s is a compile-time safe upcast, not a downcast. Consider using 'upcast' instead of 'downcast'."
3198,considerUpcastOperator,"The conversion from %s to %s is a compile-time safe upcast, not a downcast. Consider using the :> (upcast) operator instead of the :?> (downcast) operator."
3199,tcRecImplied,"The 'rec' on this module is implied by an outer 'rec' declaration and is being ignored"
3200,tcOpenFirstInMutRec,"In a recursive declaration group, 'open' declarations must come first in each module"
3201,tcModuleAbbrevFirstInMutRec,"In a recursive declaration group, module abbreviations must come after all 'open' declarations and before other declarations"
3202,tcUnsupportedMutRecDecl,"This declaration is not supported in recursive declaration groups"
3203,parsInvalidUseOfRec,"Invalid use of 'rec' keyword"
3204,tcStructUnionMultiCaseDistinctFields,"If a multicase union type is a struct, then all union cases must have unique names. For example: 'type A = B of b: int | C of c: int'."
3206,CallerMemberNameIsOverridden,"The CallerMemberNameAttribute applied to parameter '%s' will have no effect. It is overridden by the CallerFilePathAttribute."
3207,tcFixedNotAllowed,"Invalid use of 'fixed'. 'fixed' may only be used in a declaration of the form 'use x = fixed expr' where the expression is one of the following: an array, the address of an array element, a string, a byref, an inref, or a type implementing GetPinnableReference()"
3208,tcCouldNotFindOffsetToStringData,"Could not find method System.Runtime.CompilerServices.OffsetToStringData in references when building 'fixed' expression."
3209,chkNoByrefAddressOfLocal,"The address of the variable '%s' or a related expression cannot be used at this point. This is to ensure the address of the local value does not escape its scope."
3210,tcNamedActivePattern,"%s is an active pattern and cannot be treated as a discriminated union case with named fields."
3211,DefaultParameterValueNotAppropriateForArgument,"The default value does not have the same type as the argument. The DefaultParameterValue attribute and any Optional attribute will be ignored. Note: 'null' needs to be annotated with the correct type, e.g. 'DefaultParameterValue(null:obj)'."
tcGlobalsSystemTypeNotFound,"The system type '%s' was required but no referenced system DLL contained this type"
3213,typrelMemberHasMultiplePossibleDispatchSlots,"The member '%s' matches multiple overloads of the same method.\nPlease restrict it to one of the following:%s."
3214,methodIsNotStatic,"Method or object constructor '%s' is not static"
3215,parsUnexpectedSymbolEqualsInsteadOfIn,"Unexpected symbol '=' in expression. Did you intend to use 'for x in y .. z do' instead?"
tcAnonRecdInvalid,"Invalid Anonymous Record type declaration."
tcAnonRecdCcuMismatch,"Two anonymous record types are from different assemblies '%s' and '%s'"
tcAnonRecdFieldNameMismatch,"This anonymous record does not exactly match the expected shape. Add the missing fields %s and remove the extra fields %s."
tcAnonRecdSingleFieldNameSubset,"This anonymous record is missing field '%s'."
tcAnonRecdMultipleFieldsNameSubset,"This anonymous record is missing fields %s."
tcAnonRecdSingleFieldNameSuperset,"This anonymous record has an extra field. Remove field '%s'."
tcAnonRecdMultipleFieldsNameSuperset,"This anonymous record has extra fields. Remove fields %s."
tcAnonRecdSingleFieldNameSingleDifferent,"This anonymous record should have field '%s' but here has field '%s'."
tcAnonRecdSingleFieldNameMultipleDifferent,"This anonymous record should have field '%s' but here has fields %s."
tcAnonRecdMultipleFieldNameSingleDifferent,"This anonymous record should have fields %s; but here has field '%s'."
tcAnonRecdMultipleFieldNameMultipleDifferent,"This anonymous record should have fields %s; but here has fields %s."
keywordDescriptionAbstract,"Indicates a method that either has no implementation in the type in which it is declared or that is virtual and has a default implementation."
keywordDescriptionAnd,"Used in mutually recursive bindings, in property declarations, and with multiple constraints on generic parameters."
keywordDescriptionAs,"Used to give the current class object an object name. Also used to give a name to a whole pattern within a pattern match."
keywordDescriptionAssert,"Used to verify code during debugging."
keywordDescriptionBase,"Used as the name of the base class object."
keywordDescriptionBegin,"In verbose syntax, indicates the start of a code block."
keywordDescriptionClass,"In verbose syntax, indicates the start of a class definition."
keywordDescriptionConst,"Keyword to specify a constant literal as a type parameter argument in Type Providers."
keywordDescriptionDefault,"Indicates an implementation of an abstract method; used together with an abstract method declaration to create a virtual method."
keywordDescriptionDelegate,"Used to declare a delegate."
keywordDescriptionDo,"Used in looping constructs or to execute imperative code."
keywordDescriptionDone,"In verbose syntax, indicates the end of a block of code in a looping expression."
keywordDescriptionDowncast,"Used to convert to a type that is lower in the inheritance chain."
keywordDescriptionDownto,"In a for expression, used when counting in reverse."
keywordDescriptionElif,"Used in conditional branching. A short form of else if."
keywordDescriptionElse,"Used in conditional branching."
keywordDescriptionEnd,"In type definitions and type extensions, indicates the end of a section of member definitions. In verbose syntax, used to specify the end of a code block that starts with the begin keyword."
keywordDescriptionException,"Used to declare an exception type."
keywordDescriptionExtern,"Indicates that a declared program element is defined in another binary or assembly."
keywordDescriptionTrueFalse,"Used as a Boolean literal."
keywordDescriptionFinally,"Used together with try to introduce a block of code that executes regardless of whether an exception occurs."
keywordDescriptionFor,"Used in looping constructs."
keywordDescriptionFun,"Used in lambda expressions, also known as anonymous functions."
keywordDescriptionFunction,"Used as a shorter alternative to the fun keyword and a match expression in a lambda expression that has pattern matching on a single argument."
keywordDescriptionGlobal,"Used to reference the top-level .NET namespace."
keywordDescriptionIf,"Used in conditional branching constructs."
keywordDescriptionIn,"Used for sequence expressions and, in verbose syntax, to separate expressions from bindings."
keywordDescriptionInherit,"Used to specify a base class or base interface."
keywordDescriptionInline,"Used to indicate a function that should be integrated directly into the caller's code."
keywordDescriptionInterface,"Used to declare and implement interfaces."
keywordDescriptionInternal,"Used to specify that a member is visible inside an assembly but not outside it."
keywordDescriptionLazy,"Used to specify a computation that is to be performed only when a result is needed."
keywordDescriptionLet,"Used to associate, or bind, a name to a value or function."
keywordDescriptionLetBang,"Used in computation expressions to bind a name to the result of another computation expression."
keywordDescriptionMatch,"Used to branch by comparing a value to a pattern."
keywordDescriptionMatchBang,"Used in computation expressions to pattern match directly over the result of another computation expression."
keywordDescriptionMember,"Used to declare a property or method in an object type."
keywordDescriptionModule,"Used to associate a name with a group of related types, values, and functions, to logically separate it from other code."
keywordDescriptionMutable,"Used to declare a variable, that is, a value that can be changed."
keywordDescriptionNamespace,"Used to associate a name with a group of related types and modules, to logically separate it from other code."
keywordDescriptionNew,"Used to declare, define, or invoke a constructor that creates or that can create an object. Also used in generic parameter constraints to indicate that a type must have a certain constructor."
keywordDescriptionNot,"Not actually a keyword. However, not struct in combination is used as a generic parameter constraint."
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."
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."
keywordDescriptionRec,"Used to indicate that a function is recursive."
keywordDescriptionReturn,"Used to provide a value for the result of the containing computation expression."
keywordDescriptionReturnBang,"Used to provide a value for the result of the containing computation expression, where that value itself comes from the result another computation expression."
keywordDescriptionSelect,"Used in query expressions to specify what fields or columns to extract. Note that this is a contextual keyword, which means that it is not actually a reserved word and it only acts like a keyword in appropriate context."
keywordDescriptionSig,"Keyword reserved for ML-compatibility."
keywordDescriptionStatic,"Used to indicate a method or property that can be called without an instance of a type, or a value member that is shared among all instances of a type."
keywordDescriptionStruct,"Used to declare a structure type. Also used in generic parameter constraints."
keywordDescriptionThen,"Used in conditional expressions. Also used to perform side effects after object construction."
keywordDescriptionTo,"Used in for loops to indicate a range."
keywordDescriptionTry,"Used to introduce a block of code that might generate an exception. Used together with 'with' or 'finally'."
keywordDescriptionType,"Used to declare a class, record, structure, discriminated union, enumeration type, unit of measure, or type abbreviation."
keywordDescriptionTypeTest,"Used to check if an object is of the given type in a pattern or binding."
keywordDescriptionUpcast,"Used to convert to a type that is higher in the inheritance chain."
keywordDescriptionUse,"Used instead of let for values that implement IDisposable"
keywordDescriptionUseBang,"Used instead of let! in computation expressions for computation expression results that implement IDisposable."
keywordDescriptionVal,"Used in a signature to indicate a value, or in a type to declare a member, in limited situations."
keywordDescriptionVoid,"Indicates the .NET void type. Used when interoperating with other .NET languages."
keywordDescriptionWhen,"Used for Boolean conditions (when guards) on pattern matches and to introduce a constraint clause for a generic type parameter."
keywordDescriptionWhile,"Introduces a looping construct."
keywordDescriptionWhileBang,"Used in computation expressions to introduce a looping construct where the condition is the result of another computation expression."
keywordDescriptionWith,"Used together with the match keyword in pattern matching expressions. Also used in object expressions, record copying expressions, and type extensions to introduce member definitions, and to introduce exception handlers."
keywordDescriptionYield,"Used in a sequence expression to produce a value for a sequence."
keywordDescriptionYieldBang,"Used in a computation expression to append the result of a given computation expression to a collection of results for the containing computation expression."
keywordDescriptionRightArrow,"In function types, delimits arguments and return values. Yields an expression (in sequence expressions); equivalent to the yield keyword. Used in match expressions"
keywordDescriptionLeftArrow,"Assigns a value to a variable."
keywordDescriptionCast,"Converts a type to type that is higher in the hierarchy."
keywordDescriptionDynamicCast,"Converts a type to a type that is lower in the hierarchy."
keywordDescriptionTypedQuotation,"Delimits a typed code quotation."
keywordDescriptionUntypedQuotation,"Delimits a untyped code quotation."
3216,itemNotFoundDuringDynamicCodeGen,"%s '%s' not found in assembly '%s'. A possible cause may be a version incompatibility. You may need to explicitly reference the correct version of this assembly to allow all referenced components to use the correct version."
3216,itemNotFoundInTypeDuringDynamicCodeGen,"%s '%s' not found in type '%s' from assembly '%s'. A possible cause may be a version incompatibility. You may need to explicitly reference the correct version of this assembly to allow all referenced components to use the correct version."
descriptionWordIs,"is"
notAFunction,"This value is not a function and cannot be applied."
notAFunctionButMaybeIndexerWithName,"This value is not a function and cannot be applied. Did you intend to access the indexer via '%s.[index]'?"
notAFunctionButMaybeIndexer,"This expression is not a function and cannot be applied. Did you intend to access the indexer via 'expr.[index]'?"
notAFunctionButMaybeIndexerWithName2,"This value is not a function and cannot be applied. Did you intend to access the indexer via '%s[index]'?"
notAFunctionButMaybeIndexer2,"This expression is not a function and cannot be applied. Did you intend to access the indexer via 'expr[index]'?"
3217,notAFunctionButMaybeIndexerErrorCode,""
notAFunctionButMaybeDeclaration,"This value is not a function and cannot be applied. Did you forget to terminate a declaration?"
3219,pickleUnexpectedNonZero,"An error occurred while reading the F# metadata of assembly '%s'. A reserved construct was utilized. You may need to upgrade your F# compiler or use an earlier version of the assembly that doesn't make use of a specific construct."
3220,tcTupleMemberNotNormallyUsed,"This method or property is not normally used from F# code, use an explicit tuple pattern for deconstruction instead."
3221,implicitlyDiscardedInSequenceExpression,"This expression returns a value of type '%s' but is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to use the expression as a value in the sequence then use an explicit 'yield'."
3222,implicitlyDiscardedSequenceInSequenceExpression,"This expression returns a value of type '%s' but is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to use the expression as a value in the sequence then use an explicit 'yield!'."
3223,ilreadFileChanged,"The file '%s' changed on disk unexpectedly, please reload."
3224,writeToReadOnlyByref,"The byref pointer is readonly, so this write is not permitted."
3225,readOnlyAttributeOnStructWithMutableField,"A ReadOnly attribute has been applied to a struct type with a mutable field."
3226,tcByrefReturnImplicitlyDereferenced,"A byref pointer returned by a function or method is implicitly dereferenced as of F# 4.5. To acquire the return value as a pointer, use the address-of operator, e.g. '&f(x)' or '&obj.Method(arg1, arg2)'."
3227,tcByRefLikeNotStruct,"A type annotated with IsByRefLike must also be a struct. Consider adding the [<Struct>] attribute to the type."
3228,chkNoByrefAddressOfValueFromExpression,"The address of a value returned from the expression cannot be used at this point. This is to ensure the address of the local value does not escape its scope."
3229,chkNoWriteToLimitedSpan,"This value can't be assigned because the target '%s' may refer to non-stack-local memory, while the expression being assigned is assessed to potentially refer to stack-local memory. This is to help prevent pointers to stack-bound memory escaping their scope."
3230,tastValueMustBeLocal,"A value defined in a module must be mutable in order to take its address, e.g. 'let mutable x = ...'"
3231,tcIsReadOnlyNotStruct,"A type annotated with IsReadOnly must also be a struct. Consider adding the [<Struct>] attribute to the type."
3232,chkStructsMayNotReturnAddressesOfContents,"Struct members cannot return the address of fields of the struct by reference"
3233,chkNoByrefLikeFunctionCall,"The function or method call cannot be used at this point, because one argument that is a byref of a non-stack-local Span or IsByRefLike type is used with another argument that is a stack-local Span or IsByRefLike type. This is to ensure the address of the local value does not escape its scope."
3234,chkNoSpanLikeVariable,"The Span or IsByRefLike variable '%s' cannot be used at this point. This is to ensure the address of the local value does not escape its scope."
3235,chkNoSpanLikeValueFromExpression,"A Span or IsByRefLike value returned from the expression cannot be used at ths point. This is to ensure the address of the local value does not escape its scope."
3236,tastCantTakeAddressOfExpression,"Cannot take the address of the value returned from the expression. Assign the returned value to a let-bound value before taking the address."
3237,tcCannotCallExtensionMethodInrefToByref,"Cannot call the byref extension method '%s. 'this' parameter requires the value to be mutable or a non-readonly byref type."
3238,tcByrefsMayNotHaveTypeExtensions,"Byref types are not allowed to have optional type extensions."
3239,tcCannotPartiallyApplyExtensionMethodForByref,"Cannot partially apply the extension method '%s' because the first parameter is a byref type."
3242,tcTypeDoesNotInheritAttribute,"This type does not inherit Attribute, it will not work correctly with other .NET languages."
3243,parsInvalidAnonRecdExpr,"Invalid anonymous record expression"
3244,parsInvalidAnonRecdType,"Invalid anonymous record type"
3245,tcCopyAndUpdateNeedsRecordType,"The input to a copy-and-update expression that creates an anonymous record must be either an anonymous record or a record"
3246,tcAugmentationsCannotHaveAttributes,"Attributes cannot be applied to type extensions."
3247,couldNotLoadDependencyManagerExtension,"The dependency manager extension %s could not be loaded. Message: %s"
3250,expressionHasNoName,"Expression does not have a name."
3251,chkNoFirstClassNameOf,"Using the 'nameof' operator as a first-class function value is not permitted."
3252,tcIllegalByrefsInOpenTypeDeclaration,"Byref types are not allowed in an open type declaration."
3260,tcTypeDoesNotHaveAnyNull,"The type '%s' does not support a nullness qualification."
#3261 reserved for ConstraintSolverNullnessWarningEquivWithTypes
#3261 reserved for ConstraintSolverNullnessWarningWithTypes
#3261 reserved for ConstraintSolverNullnessWarningWithType
#3261 reserved for ConstraintSolverNullnessWarning
3262,tcPassingWithoutNullToANullableExpectingFunc,"Value known to be without null passed to a function meant for nullables: %s"
tcPassingWithoutNullToOptionOfObj,"You can create 'Some value' directly instead of 'ofObj', or consider not using an option for this value."
tcPassingWithoutNullToValueOptionOfObj,"You can create 'ValueSome value' directly instead of 'ofObj', or consider not using a voption for this value."
tcPassingWithoutNullToNonNullAP,"You can remove this |Null|NonNull| pattern usage."
tcPassingWithoutNullToNonNullQuickAP,"You can remove this |NonNullQuick| pattern usage."
tcPassingWithoutNullTononNullFunction,"You can remove this `nonNull` assertion."
3263,tcNullableToStringOverride,"With nullness checking enabled, overrides of .ToString() method must return a non-nullable string. You can handle potential nulls via the built-in string function."
3268,csNullNotNullConstraintInconsistent,"The constraints 'null' and 'not null' are inconsistent"
3271,tcNullnessCheckingNotEnabled,"The 'nullness checking' language feature is not enabled. This use of a nullness checking construct will be ignored."
csTypeHasNullAsTrueValue,"The type '%s' uses 'null' as a representation value but a non-null type is expected"
csTypeHasNullAsExtraValue,"The type '%s' supports 'null' but a non-null type is expected"
3300,chkInvalidFunctionParameterType,"The parameter '%s' has an invalid type '%s'. This is not permitted by the rules of Common IL."
3301,chkInvalidFunctionReturnType,"The function or method has an invalid return type '%s'. This is not permitted by the rules of Common IL."
3302,packageManagementRequiresVFive,"The 'package management' feature requires language version 5.0 or above"
3303,fromEndSlicingRequiresVFive,"The 'from the end slicing' feature requires language version 'preview'."
3304,poundiNotSupportedByRegisteredDependencyManagers,"#i is not supported by the registered PackageManagers"
3343,tcRequireMergeSourcesOrBindN,"The 'let! ... and! ...' construct may only be used if the computation expression builder defines either a '%s' method or appropriate 'MergeSources' and 'Bind' methods"
3344,tcAndBangNotSupported,"This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature."
3345,tcInvalidUseBangBindingNoAndBangs,"use! may not be combined with and!"
3349,chkFeatureNotSupportedInLibrary,"Feature '%s' requires the F# library for language version %s or greater."
3350,chkFeatureNotLanguageSupported,"Feature '%s' is not available in F# %s. Please use language version %s or greater."
3351,chkFeatureNotRuntimeSupported,"Feature '%s' is not supported by target runtime."
3352,typrelInterfaceMemberNoMostSpecificImplementation,"Interface member '%s' does not have a most specific implementation."
3353,fsiInvalidDirective,"Invalid directive '#%s %s'"
useSdkRefs,"Use reference assemblies for .NET framework references when available (Enabled by default)."
optsCheckNulls,"Enable nullness declarations and checks"
fSharpBannerVersion,"%s for F# %s"
optsGetLangVersions,"Display the allowed values for language version."
optsSetLangVersion,"Specify language version such as 'latest' or 'preview'."
optsSupportedLangVersions,"Supported language versions:"
optsStrictIndentation,"Override indentation rules implied by the language version"
nativeResourceFormatError,"Stream does not begin with a null resource and is not in '.RES' format."
nativeResourceHeaderMalformed,"Resource header beginning at offset %s is malformed."
formatDashItem," - %s"
featureSingleUnderscorePattern,"single underscore pattern"
featureWildCardInForLoop,"wild card in for loop"
featureRelaxWhitespace,"whitespace relaxation"
featureNameOf,"nameof"
featureImplicitYield,"implicit yield"
featureOpenTypeDeclaration,"open type declaration"
featureDotlessFloat32Literal,"dotless float32 literal"
featurePackageManagement,"package management"
featureFromEndSlicing,"from-end slicing"
featureFixedIndexSlice3d4d,"fixed-index slice 3d/4d"
featureAndBang,"applicative computation expressions"
featureNullnessChecking,"nullness checking"
featureResumableStateMachines,"resumable state machines"
featureNullableOptionalInterop,"nullable optional interop"
featureDefaultInterfaceMemberConsumption,"default interface member consumption"
featureStringInterpolation,"string interpolation"
featureWitnessPassing,"witness passing for trait constraints in F# quotations"
featureAdditionalImplicitConversions,"additional type-directed conversions"
featureStructActivePattern,"struct representation for active patterns"
featureRelaxWhitespace2,"whitespace relaxation v2"
featureReallyLongList,"list literals of any size"
featureErrorOnDeprecatedRequireQualifiedAccess,"give error on deprecated access of construct with RequireQualifiedAccess attribute"
featureInterfacesWithAbstractStaticMembers,"static abstract interface members"
featureSelfTypeConstraints,"self type constraints"
featureRequiredProperties,"support for required properties"
featureInitProperties,"support for consuming init properties"
featureLowercaseDUWhenRequireQualifiedAccess,"Allow lowercase DU when RequireQualifiedAccess attribute"
featureMatchNotAllowedForUnionCaseWithNoData,"Pattern match discard is not allowed for union case that takes no data."
featureCSharpExtensionAttributeNotRequired,"Allow implicit Extension attribute on declaring types, modules"
featureErrorForNonVirtualMembersOverrides,"Raises errors for non-virtual members overrides"
featureWarningWhenInliningMethodImplNoInlineMarkedFunction,"Raises warnings when 'let inline ... =' is used together with [<MethodImpl(MethodImplOptions.NoInlining)>] attribute. Function is not getting inlined."
featureArithmeticInLiterals,"Arithmetic and logical operations in literals, enum definitions and attributes"
featureErrorReportingOnStaticClasses,"Error reporting on static classes"
featureTryWithInSeqExpressions,"Support for try-with in sequence expressions"
featureWarningWhenCopyAndUpdateRecordChangesAllFields,"Raises warnings when an copy-and-update record expression changes all fields of a record."
featureStaticMembersInInterfaces,"Static members in interfaces"
featureNonInlineLiteralsAsPrintfFormat,"String values marked as literals and IL constants as printf format"
featureNestedCopyAndUpdate,"Nested record field copy-and-update"
featureExtendedStringInterpolation,"Extended string interpolation similar to C# raw string literals."
featureWarningWhenMultipleRecdTypeChoice,"Raises warnings when multiple record type matches were found during name resolution because of overlapping field names."
featureImprovedImpliedArgumentNames,"Improved implied argument names"
featureStrictIndentation,"Raises errors on incorrect indentation, allows better recovery and analysis during editing"
featureConstraintIntersectionOnFlexibleTypes,"Constraint intersection on flexible types"
featureChkNotTailRecursive,"Raises warnings if a member or function has the 'TailCall' attribute, but is not being used in a tail recursive way."
featureWhileBang,"'while!' expression"
featureExtendedFixedBindings,"extended fixed bindings for byref and GetPinnableReference"
featurePreferStringGetPinnableReference,"prefer String.GetPinnableReference in fixed bindings"
featurePreferExtensionMethodOverPlainProperty,"prefer extension method over plain property"
featureWarningIndexedPropertiesGetSetSameType,"Indexed properties getter and setter must have the same type"
featureChkTailCallAttrOnNonRec,"Raises warnings if the 'TailCall' attribute is used on non-recursive functions."
featureUnionIsPropertiesVisible,"Union case test properties"
featureBooleanReturningAndReturnTypeDirectedPartialActivePattern,"Boolean-returning and return-type-directed partial active patterns"
featureEnforceAttributeTargets,"Enforce AttributeTargets"
featureLowerInterpolatedStringToConcat,"Optimizes interpolated strings in certain cases, by lowering to concatenation"
featureLowerIntegralRangesToFastLoops,"Optimizes certain uses of the integral range (..) and range-step (.. ..) operators to fast while-loops."
featureLowerSimpleMappingsInComprehensionsToFastLoops,"Lowers [for x in xs -> f x] and [|for x in xs -> f x|] to fast loops when xs is a list or an array, respectively."
3354,tcNotAFunctionButIndexerNamedIndexingNotYetEnabled,"This value supports indexing, e.g. '%s.[index]'. The syntax '%s[index]' requires /langversion:preview. See https://aka.ms/fsharp-index-notation."
3354,tcNotAFunctionButIndexerIndexingNotYetEnabled,"This expression supports indexing, e.g. 'expr.[index]'. The syntax 'expr[index]' requires /langversion:preview. See https://aka.ms/fsharp-index-notation."
3355,tcNotAnIndexerNamedIndexingNotYetEnabled,"The value '%s' is not a function and does not support index notation."
3355,tcNotAnIndexerIndexingNotYetEnabled,"This expression is not a function and does not support index notation."
3360,typrelInterfaceWithConcreteAndVariable,"'%s' cannot implement the interface '%s' with the two instantiations '%s' and '%s' because they may unify."
3361,typrelInterfaceWithConcreteAndVariableObjectExpression,"You cannot implement the interface '%s' with the two instantiations '%s' and '%s' because they may unify."
featureInterfacesWithMultipleGenericInstantiation,"interfaces with multiple generic instantiation"
3362,tcLiteralFieldAssignmentWithArg,"Cannot assign '%s' to a value marked literal"
3363,tcLiteralFieldAssignmentNoArg,"Cannot assign a value to another value marked literal"
3364,tcInvalidUseOfReverseIndex,"Invalid use of reverse index in list expression."
3365,tcHighPrecedenceFunctionApplicationToListDeprecated,"The syntax 'expr1[expr2]' is used for indexing. Consider adding a type annotation to enable indexing, or if calling a function add a space, e.g. 'expr1 [expr2]'."
3366,tcIndexNotationDeprecated,"The syntax 'arr.[idx]' is now revised to 'arr[idx]'. Please update your code."
3367,tcHighPrecedenceFunctionApplicationToListReserved,"The syntax 'expr1[expr2]' is now reserved for indexing. See https://aka.ms/fsharp-index-notation. If calling a function, add a space between the function and argument, e.g. 'someFunction [expr]'."
3368,tcParenThenAdjacentListArgumentReserved,"The syntax '(expr1)[expr2]' is now reserved for indexing and is ambiguous when used as an argument. See https://aka.ms/fsharp-index-notation. If calling a function with multiple curried arguments, add a space between them, e.g. 'someFunction (expr1) [expr2]'."
3368,tcListThenAdjacentListArgumentReserved,"The syntax '[expr1][expr2]' is now reserved for indexing and is ambiguous when used as an argument. See https://aka.ms/fsharp-index-notation. If calling a function with multiple curried arguments, add a space between them, e.g. 'someFunction [expr1] [expr2]'."
3368,tcOtherThenAdjacentListArgumentReserved,"The syntax 'expr1[expr2]' is now reserved for indexing and is ambiguous when used as an argument. See https://aka.ms/fsharp-index-notation. If calling a function with multiple curried arguments, add a space between them, e.g. 'someFunction expr1 [expr2]'."
3369,tcParenThenAdjacentListArgumentNeedsAdjustment,"The syntax '(expr1)[expr2]' is ambiguous when used as an argument. See https://aka.ms/fsharp-index-notation. If you intend indexing or slicing then you must use '(expr1).[expr2]' in argument position. If calling a function with multiple curried arguments, add a space between them, e.g. 'someFunction (expr1) [expr2]'."
3369,tcListThenAdjacentListArgumentNeedsAdjustment,"The syntax '[expr1][expr2]' is ambiguous when used as an argument. See https://aka.ms/fsharp-index-notation. If you intend indexing or slicing then you must use '(expr1).[expr2]' in argument position. If calling a function with multiple curried arguments, add a space between them, e.g. 'someFunction [expr1] [expr2]'."
3369,tcOtherThenAdjacentListArgumentNeedsAdjustment,"The syntax 'expr1[expr2]' is ambiguous when used as an argument. See https://aka.ms/fsharp-index-notation. If you intend indexing or slicing then you must use 'expr1.[expr2]' in argument position. If calling a function with multiple curried arguments, add a space between them, e.g. 'someFunction expr1 [expr2]'."
3370,chkInfoRefcellDeref,"The use of '!' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change '!cell' to 'cell.Value'."
3370,chkInfoRefcellAssign,"The use of ':=' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change 'cell := expr' to 'cell.Value <- expr'."
3370,chkInfoRefcellIncr,"The use of 'incr' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change 'incr cell' to 'cell.Value <- cell.Value + 1'."
3370,chkInfoRefcellDecr,"The use of 'decr' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change 'decr cell' to 'cell.Value <- cell.Value - 1'."
forFormatInvalidForInterpolated,"Interpolated strings may not use '%%' format specifiers unless each is given an expression, e.g. '%%d{{1+1}}'."
forFormatInvalidForInterpolated2,".NET-style format specifiers such as '{{x,3}}' or '{{x:N5}}' may not be mixed with '%%' format specifiers."
forFormatInvalidForInterpolated3,"The '%%P' specifier may not be used explicitly."
forFormatInvalidForInterpolated4,"Interpolated strings used as type IFormattable or type FormattableString may not use '%%' specifiers, only .NET-style interpolands such as '{{expr}}', '{{expr,3}}' or '{{expr:N5}}' may be used."
3371,tcInterpolationMixedWithPercent,"Mismatch in interpolated string. Interpolated strings may not use '%%' format specifiers unless each is given an expression, e.g. '%%d{{1+1}}'"
3372,tcInvalidAlignmentInInterpolatedString,"Invalid alignment in interpolated string"
3373,lexSingleQuoteInSingleQuote,"Invalid interpolated string. Single quote or verbatim string literals may not be used in interpolated expressions in single quote or verbatim strings. Consider using an explicit 'let' binding for the interpolation expression or use a triple quote string as the outer string literal."
3374,lexTripleQuoteInTripleQuote,"Invalid interpolated string. Triple quote string literals may not be used in interpolated expressions. Consider using an explicit 'let' binding for the interpolation expression."
3376,tcUnableToParseInterpolatedString,"Invalid interpolated string. %s"
3377,lexByteStringMayNotBeInterpolated,"a byte string may not be interpolated"
3378,parsEofInInterpolatedStringFill,"Incomplete interpolated string expression fill begun at or before here"
3379,parsEofInInterpolatedString,"Incomplete interpolated string begun at or before here"
3380,parsEofInInterpolatedVerbatimString,"Incomplete interpolated verbatim string begun at or before here"
3381,parsEofInInterpolatedTripleQuoteString,"Incomplete interpolated triple-quote string begun at or before here"
3382,parsEmptyFillInInterpolatedString,"Invalid interpolated string. This interpolated string expression fill is empty, an expression was expected."
3383,lexRBraceInInterpolatedString,"A '}}' character must be escaped (by doubling) in an interpolated string."
3384,scriptSdkNotDetermined,"The .NET SDK for this script could not be determined. If the script is in a directory using a 'global.json' then ensure the relevant .NET SDK is installed. The output from '%s --version' in the directory '%s' was: '%s' and the exit code was '%d'."
3384,scriptSdkNotDeterminedUnexpected,"The .NET SDK for this script could not be determined. If the script is in a directory using a 'global.json' then ensure the relevant .NET SDK is installed. Unexpected error '%s'."
3384,scriptSdkNotDeterminedNoHost,"The .NET SDK for this script could not be determined. dotnet.exe could not be found ensure a .NET SDK is installed."
3385,tcInvalidStructReturn,"The use of '[<Struct>]' on values, functions and methods is only allowed on partial active pattern definitions"
3387,tcAmbiguousImplicitConversion,"This expression has type '%s' and is only made compatible with type '%s' through an ambiguous implicit conversion. Consider using an explicit call to 'op_Implicit'. The applicable implicit conversions are:%s"
3388,tcSubsumptionImplicitConversionUsed,"This expression implicitly converts type '%s' to type '%s'. See https://aka.ms/fsharp-implicit-convs."
3389,tcBuiltInImplicitConversionUsed,"This expression uses a built-in implicit conversion to convert type '%s' to type '%s'. See https://aka.ms/fsharp-implicit-convs."
3390,xmlDocBadlyFormed,"This XML comment is invalid: '%s'"
3390,xmlDocMissingParameterName,"This XML comment is invalid: missing 'name' attribute for parameter or parameter reference"
3390,xmlDocMissingCrossReference,"This XML comment is invalid: missing 'cref' attribute for cross-reference"
3390,xmlDocInvalidParameterName,"This XML comment is invalid: unknown parameter '%s'"
3390,xmlDocDuplicateParameter,"This XML comment is invalid: multiple documentation entries for parameter '%s'"
3390,xmlDocUnresolvedCrossReference,"This XML comment is invalid: unresolved cross-reference '%s'"
3390,xmlDocMissingParameter,"This XML comment is incomplete: no documentation for parameter '%s'"
3391,tcImplicitConversionUsedForNonMethodArg,"This expression uses the implicit conversion '%s' to convert type '%s' to type '%s'. See https://aka.ms/fsharp-implicit-convs. This warning may be disabled using '#nowarn \"3391\"."
3392,containerDeprecated,"The 'AssemblyKeyNameAttribute' has been deprecated. Use 'AssemblyKeyFileAttribute' instead."
3393,containerSigningUnsupportedOnThisPlatform,"Key container signing is not supported on this platform."
3394,parsNewExprMemberAccess,"This member access is ambiguous. Please use parentheses around the object creation, e.g. '(new SomeType(args)).MemberName'"
3395,tcImplicitConversionUsedForMethodArg,"This expression uses the implicit conversion '%s' to convert type '%s' to type '%s'."
3396,tcLiteralAttributeCannotUseActivePattern,"A [<Literal>] declaration cannot use an active pattern for its identifier"
3401,ilxgenInvalidConstructInStateMachineDuringCodegen,"The resumable code construct '%s' may only be used in inlined code protected by 'if __useResumableCode then ...' and the overall composition must form valid resumable code."
3402,tcInvalidResumableConstruct,"The construct '%s' may only be used in valid resumable code."
3501,tcResumableCodeFunctionMustBeInline,"Invalid resumable code. Any method of function accepting or returning resumable code must be marked 'inline'"
3501,tcResumableCodeArgMustHaveRightName,"Invalid resumable code. Resumable code parameter must have name beginning with '__expand'"
3501,tcResumableCodeArgMustHaveRightKind,"Invalid resumable code. A resumable code parameter must be of delegate or function type"
3501,tcResumableCodeContainsLetRec,"Invalid resumable code. A 'let rec' occurred in the resumable code specification"
3510,tcResumableCodeNotSupported,"Using resumable code or resumable state machines requires /langversion:preview"
3510,tcNoEagerConstraintApplicationAttribute,"Using methods with 'NoEagerConstraintApplicationAttribute' requires /langversion:6.0 or later"
3511,reprStateMachineNotCompilable,"This state machine is not statically compilable. %s. An alternative dynamic implementation will be used, which may be slower. Consider adjusting your code to ensure this state machine is statically compilable, or else suppress this warning."
3512,reprStateMachineNotCompilableNoAlternative,"This state machine is not statically compilable and no alternative is available. %s. Use an 'if __useResumableCode then <state-machine> else <alternative>' to give an alternative."
3513,tcResumableCodeInvocation,"Resumable code invocation. Suppress this warning if you are defining new low-level resumable code in terms of existing resumable code."
3514,ilxGenUnknownDebugPoint,"Unknown debug point '%s'. The available debug points are '%s'."
reprResumableCodeInvokeNotReduced,"A resumable code invocation at '%s' could not be reduced"
reprResumableCodeContainsLetRec,"A 'let rec' occurred in the resumable code specification"
reprResumableCodeContainsConstrainedGenericLet,"A constrained generic construct occurred in the resumable code specification"
reprResumableCodeContainsDynamicResumeAtInBody,"A target label for __resumeAt was not statically determined. A __resumeAt with a non-static target label may only appear at the start of a resumable code method"
reprResumableCodeContainsResumptionInTryFinally,"A try/finally may not contain resumption points"
reprResumableCodeContainsResumptionInHandlerOrFilter,"The 'with' block of a try/with may not contain resumption points"
reprResumableCodeContainsFastIntegerForLoop,"A fast integer for loop may not contain resumption points"
reprResumableCodeValueHasNoDefinition,"The resumable code value(s) '%s' does not have a definition"
reprResumableCodeDefinitionWasGeneric,"A delegate or function producing resumable code in a state machine has type parameters"
reprStateMachineInvalidForm,"The state machine has an unexpected form"
3517,optFailedToInlineSuggestedValue,"The value '%s' was marked 'InlineIfLambda' but was not determined to have a lambda value. This warning is for informational purposes only."
3518,implMissingInlineIfLambda,"The 'InlineIfLambda' attribute is present in the signature but not the implementation."
3519,tcInlineIfLambdaUsedOnNonInlineFunctionOrMethod,"The 'InlineIfLambda' attribute may only be used on parameters of inlined functions of methods whose type is a function or F# delegate type."
3520,invalidXmlDocPosition,"XML comment is not placed on a valid language element."
3521,tcInvalidMemberDeclNameMissingOrHasParen,"Invalid member declaration. The name of the member is missing or has parentheses."
3522,tcAnonRecdDuplicateFieldId,"The field '%s' appears multiple times in this record expression."
3523,tcAnonRecdTypeDuplicateFieldId,"The field '%s' appears multiple times in this anonymous record type."
3524,parsExpectingExpression,"Expecting expression"
3530,tcTraitIsStatic,"Trait '%s' is static"
3531,tcTraitIsNotStatic,"Trait '%s' is not static"
3532,tcTraitMayNotUseComplexThings,"A trait may not specify optional, in, out, ParamArray, CallerInfo or Quote arguments"
3533,tcInvalidSelfConstraint,"Invalid constraint. Valid constraint forms include \"'T :> ISomeInterface\" for interface constraints and \"SomeConstrainingType<'T>\" for self-constraints. See https://aka.ms/fsharp-type-constraints."
3534,tcTraitInvocationShouldUseTick,"Invocation of a static constraint should use \"'T.Ident\" and not \"^T.Ident\", even for statically resolved type parameters."
3535,tcUsingInterfacesWithStaticAbstractMethods,"Declaring \"interfaces with static abstract methods\" is an advanced feature. See https://aka.ms/fsharp-iwsams for guidance. You can disable this warning by using '#nowarn \"3535\"' or '--nowarn:3535'."
3536,tcUsingInterfaceWithStaticAbstractMethodAsType,"'%s' is normally used as a type constraint in generic code, e.g. \"'T when ISomeInterface<'T>\" or \"let f (x: #ISomeInterface<_>)\". See https://aka.ms/fsharp-iwsams for guidance. You can disable this warning by using '#nowarn \"3536\"' or '--nowarn:3536'."
3537,tcTraitHasMultipleSupportTypes,"The trait '%s' invoked by this call has multiple support types. This invocation syntax is not permitted for such traits. See https://aka.ms/fsharp-srtp for guidance."
3545,tcMissingRequiredMembers,"The following required properties have to be initialized:%s"
3546,parsExpectingPattern,"Expecting pattern"
3547,parsExpectedPatternAfterToken,"Expected a pattern after this point"
3548,matchNotAllowedForUnionCaseWithNoData,"Pattern discard is not allowed for union case that takes no data."
3549,tcSynTypeOrInvalidInDeclaration,"SynType.Or is not permitted in this declaration"
3550,chkDuplicatedMethodParameter,"Duplicate parameter. The parameter '%s' has been used more that once in this method."
featureEscapeBracesInFormattableString,"Escapes curly braces before calling FormattableStringFactory.Create when interpolated string literal is typed as FormattableString"
3551,buildDuplicateFile,"The source file '%s' (at position %d/%d) already appeared in the compilation list (at position %d/%d). Please verify that it is included only once in the project file."
3552,chkConstructorWithArgumentsOnStaticClasses,"If a type uses both [<Sealed>] and [<AbstractClass>] attributes, it means it is static. Constructor with arguments is not allowed."
3553,chkAdditionalConstructorOnStaticClasses,"If a type uses both [<Sealed>] and [<AbstractClass>] attributes, it means it is static. Additional constructor is not allowed."
3554,chkInstanceMemberOnStaticClasses,"If a type uses both [<Sealed>] and [<AbstractClass>] attributes, it means it is static. Instance members are not allowed."
3555,chkInstanceLetBindingOnStaticClasses,"If a type uses both [<Sealed>] and [<AbstractClass>] attributes, it means it is static. Instance let bindings are not allowed."
3556,chkImplementingInterfacesOnStaticClasses,"If a type uses both [<Sealed>] and [<AbstractClass>] attributes, it means it is static. Implementing interfaces is not allowed."
3557,chkAbstractMembersDeclarationsOnStaticClasses,"If a type uses both [<Sealed>] and [<AbstractClass>] attributes, it means it is static. Abstract member declarations are not allowed."
3558,chkExplicitFieldsDeclarationsOnStaticClasses,"If a type uses both [<Sealed>] and [<AbstractClass>] attributes, it means it is static. Explicit field declarations are not allowed."
3559,typrelNeverRefinedAwayFromTop,"A type has been implicitly inferred as 'obj', which may be unintended. Consider adding explicit type annotations. You can disable this warning by using '#nowarn \"3559\"' or '--nowarn:3559'."
3560,tcCopyAndUpdateRecordChangesAllFields,"This copy-and-update record expression changes all fields of record type '%s'. Consider using the record construction syntax instead."
3561,chkAutoOpenAttributeInTypeAbbrev,"FSharp.Core.AutoOpenAttribute should not be aliased."
3562,parsUnexpectedEndOfFileElif,"Unexpected end of input in 'else if' or 'elif' branch of conditional expression. Expected 'elif <expr> then <expr>' or 'else if <expr> then <expr>'."
3563,lexInvalidIdentifier,"This is not a valid identifier"
3564,parsMissingUnionCaseName,"Missing union case name"
3565,parsExpectingType,"Expecting type"
featureInformationalObjInferenceDiagnostic,"Diagnostic 3559 (warn when obj inferred) at informational level, off by default"
featureStaticLetInRecordsDusEmptyTypes,"Allow static let bindings in union, record, struct, non-incremental-class types"
3566,tcMultipleRecdTypeChoice,"Multiple type matches were found:\n%s\nThe type '%s' was used. Due to the overlapping field names\n%s\nconsider using type annotations or change the order of open statements."
3567,parsMissingMemberBody,"Expecting member body"
3568,parsMissingKeyword,"Missing keyword '%s'"
3569,chkNotTailRecursive,"The member or function '%s' has the 'TailCallAttribute' attribute, but is not being used in a tail recursive way."
3570,tcAmbiguousDiscardDotLambda,"The meaning of _ is ambiguous here. It cannot be used for a discarded variable and a function shorthand in the same scope."
featureAccessorFunctionShorthand,"underscore dot shorthand for accessor only function"
3572,parsConstraintIntersectionSyntaxUsedWithNonFlexibleType,"Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'."
3573,tcStaticBindingInExtrinsicAugmentation,"Static bindings cannot be added to extrinsic augmentations. Consider using a 'static member' instead."
3574,pickleFsharpCoreBackwardsCompatible,"Newly added pickle state cannot be used in FSharp.Core, since it must be working in older compilers+tooling as well. The time window is at least 3 years after feature introduction. Violation: %s . Context: \n %s "
3577,tcOverrideUsesMultipleArgumentsInsteadOfTuple,"This override takes a tuple instead of multiple arguments. Try to add an additional layer of parentheses at the method definition (e.g. 'member _.Foo((x, y))'), or remove parentheses at the abstract method declaration (e.g. 'abstract member Foo: 'a * 'b -> 'c')."
featureUnmanagedConstraintCsharpInterop,"Interop between C#'s and F#'s unmanaged generic constraint (emit additional modreq)"
3578,chkCopyUpdateSyntaxInAnonRecords,"This expression is an anonymous record, use {{|...|}} instead of {{...}}."
3579,alwaysUseTypedStringInterpolation,"Interpolated string contains untyped identifiers. Adding typed format specifiers is recommended."
3580,tcUnexpectedFunTypeInUnionCaseField,"Unexpected function type in union case field definition. If you intend the field to be a function, consider wrapping the function signature with parens, e.g. | Case of a -> b into | Case of (a -> b)."
3581,chkIndexedGetterAndSetterHaveSamePropertyType,"An indexed property's getter and setter must have the same type. Property '%s' has getter of type '%s' but setter of type '%s'."
3582,tcInfoIfFunctionShadowsUnionCase,"This is a function definition that shadows a union case. If this is what you want, ignore or suppress this warning. If you want it to be a union case deconstruction, add parentheses."
3583,unnecessaryParentheses,"Parentheses can be removed."
3584,tcDotLambdaAtNotSupportedExpression,"Shorthand lambda syntax is only supported for atomic expressions, such as method, property, field or indexer on the implied '_' argument. For example: 'let f = _.Length'."
3585,tcStructUnionMultiCaseFieldsSameType,"If a multicase union type is a struct, then all fields with the same name must be of the same type. This rule applies also to the generated 'Item' name in case of unnamed fields."
featureReuseSameFieldsInStructUnions,"Share underlying fields in a [<Struct>] discriminated union as long as they have same name and type"
3855,tcNoStaticMemberFoundForOverride,"No static abstract member was found that corresponds to this override"
3859,tcNoStaticPropertyFoundForOverride,"No static abstract property was found that corresponds to this override"
3860,chkStaticMembersOnObjectExpressions,"Object expressions cannot implement interfaces with static abstract members or declare static members."
3861,chkTailCallAttrOnNonRec,"The TailCall attribute should only be applied to recursive functions."
3862,parsStaticMemberImcompleteSyntax,"Incomplete declaration of a static construct. Use 'static let','static do','static member' or 'static val' for declaration."
3863,parsExpectingRecordField,"Expecting record field"
3864,tooManyMethodsInDotNetTypeWritingAssembly,"The type '%s' has too many methods. Found: '%d', maximum: '%d'"
3865,parsOnlySimplePatternsAreAllowedInConstructors,"Only simple patterns are allowed in primary constructors"
3866,chkStaticAbstractInterfaceMembers,"A static abstract non-virtual interface member should only be called via type parameter (for example: 'T.%s)."
3867,chkStaticAbstractMembersOnClasses,"Classes cannot contain static abstract members."
3868,tcActivePatternArgsCountNotMatchNoArgsNoPat,"This active pattern does not expect any arguments, i.e., it should be used like '%s' instead of '%s x'."
3868,tcActivePatternArgsCountNotMatchOnlyPat,"This active pattern expects exactly one pattern argument, e.g., '%s pat'."
3868,tcActivePatternArgsCountNotMatchArgs,"This active pattern expects %d expression argument(s), e.g., '%s%s'."
3868,tcActivePatternArgsCountNotMatchArgsAndPat,"This active pattern expects %d expression argument(s) and a pattern argument, e.g., '%s%s pat'."
featureParsedHashDirectiveArgumentNonString,"# directives with non-quoted string arguments"
3869,featureParsedHashDirectiveUnexpectedInteger,"Unexpected integer literal '%d'."
3869,featureParsedHashDirectiveUnexpectedIdentifier,"Unexpected identifier '%s'."
featureEmptyBodiedComputationExpressions,"Support for computation expressions with empty bodies: builder {{ }}"
3870,parsExpectingUnionCaseField,"Expecting union case field"
featureAllowAccessModifiersToAutoPropertiesGettersAndSetters,"Allow access modifiers to auto properties getters and setters"
3871,tcAccessModifiersNotAllowedInSRTPConstraint,"Access modifiers cannot be applied to an SRTP constraint."
featureAllowObjectExpressionWithoutOverrides,"Allow object expressions without overrides"
3872,tcPartialActivePattern,"Multi-case partial active patterns are not supported. Consider using a single-case partial active pattern or a full active pattern."
featureConsistentNowarnLineDirectiveInteraction,"The interaction between #nowarn and #line is now consistent."
