diff --git a/src/absil/illib.fs b/src/absil/illib.fs index 63aabe9d01a..8f05c07365f 100644 --- a/src/absil/illib.fs +++ b/src/absil/illib.fs @@ -420,6 +420,12 @@ module List = let mapiFoldSquared f z xss = mapFoldSquared f z (xss |> mapiSquared (fun i j x -> (i, j, x))) + let duplicates (xs: 'T list) = + xs + |> List.groupBy id + |> List.filter (fun (_, elems) -> Seq.length elems > 1) + |> List.map fst + module ResizeArray = /// Split a ResizeArray into an array of smaller chunks. diff --git a/src/fsharp/CompileOps.fs b/src/fsharp/CompileOps.fs index 5585ae6a6f9..63dba3fed83 100644 --- a/src/fsharp/CompileOps.fs +++ b/src/fsharp/CompileOps.fs @@ -404,6 +404,7 @@ let warningOn err level specificWarnOn = | 1182 -> false // chkUnusedValue - off by default | 3218 -> false // ArgumentsInSigAndImplMismatch - off by default | 3180 -> false // abImplicitHeapAllocation - off by default + | 3390 -> false // xmlDocBadlyFormed - off by default | _ -> level >= GetWarningLevel err let SplitRelatedDiagnostics(err: PhasedDiagnostic) : PhasedDiagnostic * PhasedDiagnostic list = diff --git a/src/fsharp/FSComp.txt b/src/fsharp/FSComp.txt index b5d1d9806ec..7914b2e6919 100644 --- a/src/fsharp/FSComp.txt +++ b/src/fsharp/FSComp.txt @@ -1540,3 +1540,10 @@ forFormatInvalidForInterpolated4,"Interpolated strings used as type IFormattable 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." #3501 "This construct is not supported by your version of the F# compiler" CompilerMessage(ExperimentalAttributeMessages.NotSupportedYet, 3501, IsError=true) +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'" \ No newline at end of file diff --git a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj index dd4cc85f781..1b36d5a4740 100644 --- a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj +++ b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj @@ -12,7 +12,7 @@ $(DefineConstants);COMPILER $(DefineConstants);MSBUILD_AT_LEAST_15 $(DefineConstants);LOCALIZATION_FCOMP - $(OtherFlags) --warnon:1182 --maxerrors:20 --extraoptimizationloops:1 + $(OtherFlags) --warnon:1182 /warnon:3390 --maxerrors:20 --extraoptimizationloops:1 true diff --git a/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj b/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj index c83d93afc3f..b4cc9aa0ce7 100644 --- a/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj +++ b/src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj @@ -10,7 +10,7 @@ $(DefineConstants);COMPILER_SERVICE_AS_DLL $(DefineConstants);COMPILER $(DefineConstants);ENABLE_MONO_SUPPORT - $(OtherFlags) /warnon:1182 --times + $(OtherFlags) /warnon:1182 /warnon:3390 --times true true @@ -21,7 +21,7 @@ FSharp.Compiler.Service.nuspec true The F# Compiler Services package For F# $(FSLanguageVersion) exposes additional functionality for implementing F# language bindings, additional tools based on the compiler or refactoring tools. The package also includes F# interactive service that can be used for embedding F# scripting into your applications. Contains code from the F# Software Foundation. - /blob/main/release-notes.md#FSharp-Compilere-Service-$(FSharpCompilerServiceReleaseNotesVersion) + /blob/main/release-notes.md#FSharp-Compiler-Service-$(FSharpCompilerServiceReleaseNotesVersion) F#, fsharp, interactive, compiler, editor diff --git a/src/fsharp/FSharp.Core/FSharp.Core.fsproj b/src/fsharp/FSharp.Core/FSharp.Core.fsproj index 8eb2bb01a74..9aa06a0a61e 100644 --- a/src/fsharp/FSharp.Core/FSharp.Core.fsproj +++ b/src/fsharp/FSharp.Core/FSharp.Core.fsproj @@ -9,7 +9,7 @@ true $(DefineConstants);FSHARP_CORE BUILDING_WITH_LKG;$(DefineConstants) - $(OtherFlags) --warnon:1182 --compiling-fslib --compiling-fslib-40 --maxerrors:20 --extraoptimizationloops:1 --nowarn:57 + $(OtherFlags) --warnon:1182 --warnon:3390 --compiling-fslib --compiling-fslib-40 --maxerrors:100 --extraoptimizationloops:1 --nowarn:57 true true diff --git a/src/fsharp/FSharp.Core/array.fsi b/src/fsharp/FSharp.Core/array.fsi index f47baa49e2b..1d0ef4210f1 100644 --- a/src/fsharp/FSharp.Core/array.fsi +++ b/src/fsharp/FSharp.Core/array.fsi @@ -1010,7 +1010,7 @@ namespace Microsoft.FSharp.Collections /// the remaining elements in a new array. /// /// A function that evaluates an element of the array to a boolean value. - /// The input array. + /// The input array. /// /// The created sub array. /// @@ -1293,7 +1293,7 @@ namespace Microsoft.FSharp.Collections /// Returns None if index is negative or the input array does not contain enough elements. /// /// The index of element to retrieve. - /// The input array. + /// The input array. /// /// The nth element of the array or None. /// diff --git a/src/fsharp/FSharp.Core/async.fsi b/src/fsharp/FSharp.Core/async.fsi index 5fea2c1a81d..0d2a1867fa5 100644 --- a/src/fsharp/FSharp.Core/async.fsi +++ b/src/fsharp/FSharp.Core/async.fsi @@ -229,6 +229,7 @@ namespace Microsoft.FSharp.Control /// for the other child computations to complete. /// /// A sequence of distinct computations to be parallelized. + /// The maximum degree of parallelism in the parallel execution. /// /// A computation that returns an array of values from the sequence of input computations. /// diff --git a/src/fsharp/FSharp.Core/eventmodule.fsi b/src/fsharp/FSharp.Core/eventmodule.fsi index b4ea1078fe4..4e520b559f6 100644 --- a/src/fsharp/FSharp.Core/eventmodule.fsi +++ b/src/fsharp/FSharp.Core/eventmodule.fsi @@ -22,7 +22,7 @@ namespace Microsoft.FSharp.Control /// Returns a new event that passes values transformed by the given function. /// - /// The function to transform event values. + /// The function to transform event values. /// The input event. /// /// An event that passes the transformed values. diff --git a/src/fsharp/FSharp.Core/list.fsi b/src/fsharp/FSharp.Core/list.fsi index c4c560fb858..bbab64c1c80 100644 --- a/src/fsharp/FSharp.Core/list.fsi +++ b/src/fsharp/FSharp.Core/list.fsi @@ -956,7 +956,7 @@ namespace Microsoft.FSharp.Collections /// Returns at most N elements in a new list. /// /// The maximum number of items to return. - /// The input list. + /// The input list. /// /// The result list. [] diff --git a/src/fsharp/FSharp.Core/map.fsi b/src/fsharp/FSharp.Core/map.fsi index 2f0360bf4cb..ebadc8f1a33 100644 --- a/src/fsharp/FSharp.Core/map.fsi +++ b/src/fsharp/FSharp.Core/map.fsi @@ -18,7 +18,8 @@ namespace Microsoft.FSharp.Collections type Map<[]'Key,[]'Value when 'Key : comparison> = /// Returns a new map with the binding added to the given map. /// If a binding with the given key already exists in the input map, the existing binding is replaced by the new binding in the result map. - /// The input key. + /// The key to add. + /// The value to add. /// /// The resulting map. member Add: key:'Key * value:'Value -> Map<'Key,'Value> diff --git a/src/fsharp/FSharp.Core/nativeptr.fsi b/src/fsharp/FSharp.Core/nativeptr.fsi index a90abcdbfba..10ed7c3bd1f 100644 --- a/src/fsharp/FSharp.Core/nativeptr.fsi +++ b/src/fsharp/FSharp.Core/nativeptr.fsi @@ -41,7 +41,7 @@ namespace Microsoft.FSharp.NativeInterop /// The untyped pointer. /// /// A typed pointer. - val inline ofVoidPtr : voidptr -> nativeptr<'T> + val inline ofVoidPtr : address: voidptr -> nativeptr<'T> [] [] @@ -109,7 +109,7 @@ namespace Microsoft.FSharp.NativeInterop /// A typed pointer to the allocated memory. [] [] - val inline stackalloc : count:int -> nativeptr<'T> + val inline stackalloc: count:int -> nativeptr<'T> /// Converts a given typed native pointer to a managed pointer. /// @@ -118,4 +118,4 @@ namespace Microsoft.FSharp.NativeInterop /// The managed pointer. [] [] - val inline toByRef : nativeptr<'T> -> byref<'T> + val inline toByRef: address: nativeptr<'T> -> byref<'T> diff --git a/src/fsharp/FSharp.Core/observable.fsi b/src/fsharp/FSharp.Core/observable.fsi index 5a8ee380b76..bf3c218de57 100644 --- a/src/fsharp/FSharp.Core/observable.fsi +++ b/src/fsharp/FSharp.Core/observable.fsi @@ -43,7 +43,7 @@ namespace Microsoft.FSharp.Control /// each subscribed observer. The returned object also propagates error /// observations arising from the source and completes when the source completes. /// - /// The function to apply to observations to determine if it should + /// The function to apply to observations to determine if it should /// be kept. /// The input Observable. /// diff --git a/src/fsharp/FSharp.Core/option.fsi b/src/fsharp/FSharp.Core/option.fsi index cff21e535b6..0bb89c1468f 100644 --- a/src/fsharp/FSharp.Core/option.fsi +++ b/src/fsharp/FSharp.Core/option.fsi @@ -161,7 +161,7 @@ module Option = /// /// An option of the input values after applying the mapping function, or None if either input is None. [] - val map2: mapping:('T1 -> 'T2 -> 'U) -> 'T1 option -> 'T2 option -> 'U option + val map2: mapping:('T1 -> 'T2 -> 'U) -> option1: 'T1 option -> option2: 'T2 option -> 'U option /// map f option1 option2 option3 evaluates to match option1, option2, option3 with Some x, Some y, Some z -> Some (f x y z) | _ -> None. /// @@ -172,7 +172,7 @@ module Option = /// /// An option of the input values after applying the mapping function, or None if any input is None. [] - val map3: mapping:('T1 -> 'T2 -> 'T3 -> 'U) -> 'T1 option -> 'T2 option -> 'T3 option -> 'U option + val map3: mapping:('T1 -> 'T2 -> 'T3 -> 'U) -> option1: 'T1 option -> option2: 'T2 option -> option3: 'T3 option -> 'U option /// bind f inp evaluates to match inp with None -> None | Some x -> f x /// @@ -260,7 +260,7 @@ module ValueOption = /// /// True if the value option is not ValueNone. [] - val inline isSome: voption:'T voption -> bool + val inline isSome: voption: 'T voption -> bool /// Returns true if the value option is ValueNone. /// @@ -268,7 +268,7 @@ module ValueOption = /// /// True if the voption is ValueNone. [] - val inline isNone: voption:'T voption -> bool + val inline isNone: voption: 'T voption -> bool /// Gets the value of the value option if the option is ValueSome, otherwise returns the specified default value. /// @@ -278,7 +278,7 @@ module ValueOption = /// The voption if the voption is ValueSome, else the default value. /// Identical to the built-in operator, except with the arguments swapped. [] - val defaultValue: value:'T -> voption:'T voption -> 'T + val defaultValue: value:'T -> voption: 'T voption -> 'T /// Gets the value of the voption if the voption is ValueSome, otherwise evaluates and returns the result. /// @@ -288,16 +288,16 @@ module ValueOption = /// The voption if the voption is ValueSome, else the result of evaluating . /// is not evaluated unless is ValueNone. [] - val defaultWith: defThunk:(unit -> 'T) -> voption:'T voption -> 'T + val defaultWith: defThunk:(unit -> 'T) -> voption: 'T voption -> 'T - /// Returns if it is Some, otherwise returns . + /// Returns if it is Some, otherwise returns . /// - /// The value to use if is None. - /// The input option. + /// The value to use if is None. + /// The input option. /// /// The option if the option is Some, else the alternate option. [] - val orElse: ifNone:'T voption -> voption:'T voption -> 'T voption + val orElse: ifNone:'T voption -> voption: 'T voption -> 'T voption /// Returns if it is Some, otherwise evaluates and returns the result. /// @@ -307,7 +307,7 @@ module ValueOption = /// The voption if the voption is ValueSome, else the result of evaluating . /// is not evaluated unless is ValueNone. [] - val orElseWith: ifNoneThunk:(unit -> 'T voption) -> voption:'T voption -> 'T voption + val orElseWith: ifNoneThunk:(unit -> 'T voption) -> voption: 'T voption -> 'T voption /// Gets the value associated with the option. /// @@ -316,7 +316,7 @@ module ValueOption = /// The value within the option. /// Thrown when the option is ValueNone. [] - val get: voption:'T voption -> 'T + val get: voption: 'T voption -> 'T /// count inp evaluates to match inp with ValueNone -> 0 | ValueSome _ -> 1. /// @@ -324,7 +324,7 @@ module ValueOption = /// /// A zero if the option is ValueNone, a one otherwise. [] - val count: voption:'T voption -> int + val count: voption: 'T voption -> int /// fold f s inp evaluates to match inp with ValueNone -> s | ValueSome x -> f s x. /// @@ -335,7 +335,7 @@ module ValueOption = /// The original state if the option is ValueNone, otherwise it returns the updated state with the folder /// and the voption value. [] - val fold<'T,'State> : folder:('State -> 'T -> 'State) -> state:'State -> voption:'T voption -> 'State + val fold<'T,'State> : folder:('State -> 'T -> 'State) -> state:'State -> voption: 'T voption -> 'State /// fold f inp s evaluates to match inp with ValueNone -> s | ValueSome x -> f x s. /// @@ -346,7 +346,7 @@ module ValueOption = /// The original state if the option is ValueNone, otherwise it returns the updated state with the folder /// and the voption value. [] - val foldBack<'T,'State> : folder:('T -> 'State -> 'State) -> voption:'T voption -> state:'State -> 'State + val foldBack<'T,'State> : folder:('T -> 'State -> 'State) -> voption: 'T voption -> state:'State -> 'State /// exists p inp evaluates to match inp with ValueNone -> false | ValueSome x -> p x. /// @@ -356,7 +356,7 @@ module ValueOption = /// False if the option is ValueNone, otherwise it returns the result of applying the predicate /// to the option value. [] - val exists: predicate:('T -> bool) -> voption:'T voption -> bool + val exists: predicate:('T -> bool) -> voption: 'T voption -> bool /// forall p inp evaluates to match inp with ValueNone -> true | ValueSome x -> p x. /// @@ -366,7 +366,7 @@ module ValueOption = /// True if the option is None, otherwise it returns the result of applying the predicate /// to the option value. [] - val forall: predicate:('T -> bool) -> voption:'T voption -> bool + val forall: predicate:('T -> bool) -> voption: 'T voption -> bool /// Evaluates to true if is ValueSome and its value is equal to . /// @@ -375,7 +375,7 @@ module ValueOption = /// /// True if the option is ValueSome and contains a value equal to , otherwise false. [] - val inline contains: value:'T -> voption:'T voption -> bool when 'T : equality + val inline contains: value:'T -> voption: 'T voption -> bool when 'T : equality /// iter f inp executes match inp with ValueNone -> () | ValueSome x -> f x. /// @@ -385,7 +385,7 @@ module ValueOption = /// Unit if the option is ValueNone, otherwise it returns the result of applying the predicate /// to the voption value. [] - val iter: action:('T -> unit) -> voption:'T voption -> unit + val iter: action:('T -> unit) -> voption: 'T voption -> unit /// map f inp evaluates to match inp with ValueNone -> ValueNone | ValueSome x -> ValueSome (f x). /// @@ -394,7 +394,7 @@ module ValueOption = /// /// A value option of the input value after applying the mapping function, or ValueNone if the input is ValueNone. [] - val map: mapping:('T -> 'U) -> voption:'T voption -> 'U voption + val map: mapping:('T -> 'U) -> voption: 'T voption -> 'U voption /// map f voption1 voption2 evaluates to match voption1, voption2 with ValueSome x, ValueSome y -> ValueSome (f x y) | _ -> ValueNone. /// @@ -415,7 +415,7 @@ module ValueOption = /// /// A value option of the input values after applying the mapping function, or ValueNone if any input is ValueNone. [] - val map3: mapping:('T1 -> 'T2 -> 'T3 -> 'U) -> 'T1 voption -> 'T2 voption -> 'T3 voption -> 'U voption + val map3: mapping:('T1 -> 'T2 -> 'T3 -> 'U) -> voption1: 'T1 voption -> voption2: 'T2 voption -> voption3: 'T3 voption -> 'U voption /// bind f inp evaluates to match inp with ValueNone -> ValueNone | ValueSome x -> f x /// @@ -425,7 +425,7 @@ module ValueOption = /// /// An option of the output type of the binder. [] - val bind: binder:('T -> 'U voption) -> voption:'T voption -> 'U voption + val bind: binder:('T -> 'U voption) -> voption: 'T voption -> 'U voption /// flatten inp evaluates to match inp with ValueNone -> ValueNone | ValueSome x -> x /// @@ -434,7 +434,7 @@ module ValueOption = /// A value option of the output type of the binder. /// flatten is equivalent to bind id. [] - val flatten: voption:'T voption voption -> 'T voption + val flatten: voption: 'T voption voption -> 'T voption /// filter f inp evaluates to match inp with ValueNone -> ValueNone | ValueSome x -> if f x then ValueSome x else ValueNone. /// @@ -443,7 +443,7 @@ module ValueOption = /// /// The input if the predicate evaluates to true; otherwise, ValueNone. [] - val filter: predicate:('T -> bool) -> voption:'T voption -> 'T voption + val filter: predicate:('T -> bool) -> voption: 'T voption -> 'T voption /// Convert the value option to an array of length 0 or 1. /// @@ -451,7 +451,7 @@ module ValueOption = /// /// The result array. [] - val toArray: voption:'T voption -> 'T[] + val toArray: voption: 'T voption -> 'T[] /// Convert the value option to a list of length 0 or 1. /// @@ -459,7 +459,7 @@ module ValueOption = /// /// The result list. [] - val toList: voption:'T voption -> 'T list + val toList: voption: 'T voption -> 'T list /// Convert the value option to a Nullable value. /// @@ -467,7 +467,7 @@ module ValueOption = /// /// The result value. [] - val toNullable: voption:'T voption -> Nullable<'T> + val toNullable: voption: 'T voption -> Nullable<'T> /// Convert a Nullable value to a value option. /// diff --git a/src/fsharp/FSharp.Core/prim-types.fs b/src/fsharp/FSharp.Core/prim-types.fs index 29750a8cc50..307fd22c20a 100644 --- a/src/fsharp/FSharp.Core/prim-types.fs +++ b/src/fsharp/FSharp.Core/prim-types.fs @@ -370,7 +370,7 @@ namespace Microsoft.FSharp.Core [] type int16<[] 'Measure> = int16 [] type int64<[] 'Measure> = int64 - /// Represents a managed pointer in F# code. + /// Represents a managed pointer in F# code. type byref<'T> = (# "!0&" #) /// Represents a managed pointer in F# code. diff --git a/src/fsharp/FSharp.Core/prim-types.fsi b/src/fsharp/FSharp.Core/prim-types.fsi index c886299fc0a..95092137fc5 100644 --- a/src/fsharp/FSharp.Core/prim-types.fsi +++ b/src/fsharp/FSharp.Core/prim-types.fsi @@ -667,6 +667,7 @@ namespace Microsoft.FSharp.Core /// Creates an instance of the attribute /// /// Indicates the type of source construct. + /// Indicates the index in the sequence of constructs. /// /// CompilationMappingAttribute new : sourceConstructFlags:SourceConstructFlags * sequenceNumber: int -> CompilationMappingAttribute @@ -674,6 +675,8 @@ namespace Microsoft.FSharp.Core /// Creates an instance of the attribute /// /// Indicates the type of source construct. + /// Indicates the index in the sequence of variants. + /// Indicates the index in the sequence of constructs. /// /// CompilationMappingAttribute new : sourceConstructFlags:SourceConstructFlags * variantNumber : int * sequenceNumber : int -> CompilationMappingAttribute @@ -681,6 +684,7 @@ namespace Microsoft.FSharp.Core /// Creates an instance of the attribute /// /// Indicates the type definitions needed to resolve the source construct. + /// The name of the resource needed to resolve the source construct. /// /// CompilationMappingAttribute new : resourceName:string * typeDefinitions:System.Type[] -> CompilationMappingAttribute @@ -1227,59 +1231,59 @@ namespace Microsoft.FSharp.Core /// Creates a float value with units-of-measure /// - /// The input float. + /// The input float. /// /// The float with units-of-measure. - val inline FloatWithMeasure : float -> float<'Measure> + val inline FloatWithMeasure : input: float -> float<'Measure> /// Creates a float32 value with units-of-measure /// - /// The input float. + /// The input float. /// /// The float with units-of-measure. - val inline Float32WithMeasure : float32 -> float32<'Measure> + val inline Float32WithMeasure : input: float32 -> float32<'Measure> /// Creates a decimal value with units-of-measure /// - /// The input decimal. + /// The input decimal. /// /// The decimal with units of measure. - val inline DecimalWithMeasure : decimal -> decimal<'Measure> + val inline DecimalWithMeasure : input: decimal -> decimal<'Measure> /// Creates an int32 value with units-of-measure /// - /// The input int. + /// The input int. /// /// The int with units of measure. - val inline Int32WithMeasure : int -> int<'Measure> + val inline Int32WithMeasure : input: int -> int<'Measure> /// Creates an int64 value with units-of-measure /// - /// The input int64. + /// The input int64. /// /// The int64 with units of measure. - val inline Int64WithMeasure : int64 -> int64<'Measure> + val inline Int64WithMeasure : input: int64 -> int64<'Measure> /// Creates an int16 value with units-of-measure /// - /// The input int16. + /// The input int16. /// /// The int16 with units-of-measure. - val inline Int16WithMeasure : int16 -> int16<'Measure> + val inline Int16WithMeasure : input: int16 -> int16<'Measure> /// Creates an sbyte value with units-of-measure /// - /// The input sbyte. + /// The input sbyte. /// /// The sbyte with units-of-measure. - val inline SByteWithMeasure : sbyte -> sbyte<'Measure> + val inline SByteWithMeasure : input: sbyte -> sbyte<'Measure> /// Parse an int32 according to the rules used by the overloaded 'int32' conversion operator when applied to strings /// /// The input string. /// /// The parsed value. - val ParseInt32 : s:string -> int32 + val ParseInt32 : s: string -> int32 /// Parse an uint32 according to the rules used by the overloaded 'uint32' conversion operator when applied to strings /// @@ -1946,42 +1950,42 @@ namespace Microsoft.FSharp.Core /// Convert the given Action delegate object to an F# function value /// - /// The input Action delegate. + /// The input Action delegate. /// /// The F# function. static member inline FromAction : action:Action -> (unit -> unit) /// Convert the given Action delegate object to an F# function value /// - /// The input Action delegate. + /// The input Action delegate. /// /// The F# function. static member inline FromAction : action:Action<'T> -> ('T -> unit) /// Convert the given Action delegate object to an F# function value /// - /// The input Action delegate. + /// The input Action delegate. /// /// The F#funcfunction. static member inline FromAction : action:Action<'T1,'T2> -> ('T1 -> 'T2 -> unit) /// Convert the given Action delegate object to an F# function value /// - /// The input Action delegate. + /// The input Action delegate. /// /// The F# function. static member inline FromAction : action:Action<'T1,'T2,'T3> -> ('T1 -> 'T2 -> 'T3 -> unit) /// Convert the given Action delegate object to an F# function value /// - /// The input Action delegate. + /// The input Action delegate. /// /// The F# function. static member inline FromAction : action:Action<'T1,'T2,'T3,'T4> -> ('T1 -> 'T2 -> 'T3 -> 'T4 -> unit) /// Convert the given Action delegate object to an F# function value /// - /// The input Action delegate. + /// The input Action delegate. /// /// The F# function. static member inline FromAction : action:Action<'T1,'T2,'T3,'T4,'T5> -> ('T1 -> 'T2 -> 'T3 -> 'T4 -> 'T5 -> unit) @@ -2292,7 +2296,7 @@ namespace Microsoft.FSharp.Core /// The representation of "Value of type 'T" /// - /// The input value. + /// The input value. /// /// An option representing the value. | ValueSome: 'T -> 'T voption @@ -3724,11 +3728,11 @@ namespace Microsoft.FSharp.Core /// Sets a 1D slice of a 3D array. /// - /// The source array. - /// The start index of the first dimension. - /// The end index of the first dimension. + /// The target array. + /// The fixed index of the first dimension. /// The fixed index of the second dimension. - /// The fixed index of the third dimension. + /// The start index of the third dimension. + /// The end index of the third dimension. /// The source array. /// /// The one dimensional sub array from the given indices. @@ -3737,7 +3741,7 @@ namespace Microsoft.FSharp.Core /// Sets a 1D slice of a 3D array. /// - /// The source array. + /// The target array. /// The fixed index of the first dimension. /// The start index of the second dimension. /// The end index of the second dimension. @@ -3750,7 +3754,7 @@ namespace Microsoft.FSharp.Core /// Sets a 1D slice of a 3D array. /// - /// The source array. + /// The target array. /// The start index of the first dimension. /// The end index of the first dimension. /// The fixed index of the second dimension. @@ -3958,9 +3962,9 @@ namespace Microsoft.FSharp.Core /// The one dimensional sub array from the given indices. val inline GetArraySlice4DFixedTriple1 : source:'T[,,,] -> start1:int option -> finish1:int option -> index2:int -> index3:int -> index4:int -> 'T[] - /// Gets a 3D slice of a 4D array + /// Sets a 3D slice of a 4D array /// - /// The source array. + /// The target array. /// The fixed index of the first dimension. /// The start index of the second dimension. /// The end index of the second dimension. @@ -4358,7 +4362,7 @@ namespace Microsoft.FSharp.Core /// /// The unboxed result. [] - val inline unbox<'T> : obj -> 'T + val inline unbox<'T> : value: obj -> 'T /// Generate a default value for any type. This is null for reference types, /// For structs, this is struct value where all fields have the default value. @@ -4466,7 +4470,7 @@ namespace Microsoft.FSharp.Core /// Calls GetHashCode() on the value /// - /// The value. + /// The value. /// /// The hash code. [] @@ -4718,7 +4722,7 @@ namespace Microsoft.FSharp.Control /// A delegate type associated with the F# event type IEvent<_> /// - /// The object that fired the event. + /// The object that fired the event. /// The event arguments. /// /// Events and Observables diff --git a/src/fsharp/FSharp.Core/seq.fsi b/src/fsharp/FSharp.Core/seq.fsi index d8f983de4b4..e357da420f4 100644 --- a/src/fsharp/FSharp.Core/seq.fsi +++ b/src/fsharp/FSharp.Core/seq.fsi @@ -752,7 +752,7 @@ namespace Microsoft.FSharp.Collections /// /// The function to transform elements from the input collection and accumulate the final value. /// The initial state. - /// The input collection. + /// The input collection. /// /// Thrown when the input collection is null. /// @@ -767,7 +767,7 @@ namespace Microsoft.FSharp.Collections /// not be used with large or infinite sequences. /// /// The function to transform elements from the input collection and accumulate the final value. - /// The input collection. + /// The input collection. /// The initial state. /// /// Thrown when the input collection is null. @@ -1092,7 +1092,7 @@ namespace Microsoft.FSharp.Collections /// sequence and uses a stable sort, that is the original order of equal elements is preserved. /// /// The function to compare the collection elements. - /// The input sequence. + /// The input sequence. /// /// The result sequence. [] diff --git a/src/fsharp/ParseHelpers.fs b/src/fsharp/ParseHelpers.fs index 33e7872b186..6a94962108a 100644 --- a/src/fsharp/ParseHelpers.fs +++ b/src/fsharp/ParseHelpers.fs @@ -85,7 +85,7 @@ module LexbufLocalXmlDocStore = lexbuf.BufferLocalStore.[xmlDocKey] <- box (XmlDocCollector()) /// Called from the lexer to save a single line of XML doc comment. - let internal SaveXmlDocLine (lexbuf: Lexbuf, lineText, pos) = + let internal SaveXmlDocLine (lexbuf: Lexbuf, lineText, range: range) = let collector = match lexbuf.BufferLocalStore.TryGetValue xmlDocKey with | true, collector -> collector @@ -94,7 +94,7 @@ module LexbufLocalXmlDocStore = lexbuf.BufferLocalStore.[xmlDocKey] <- collector collector let collector = unbox(collector) - collector.AddXmlDocLine(lineText, pos) + collector.AddXmlDocLine(lineText, range) /// Called from the parser each time we parse a construct that marks the end of an XML doc comment range, /// e.g. a 'type' declaration. The markerRange is the range of the keyword that delimits the construct. diff --git a/src/fsharp/PostInferenceChecks.fs b/src/fsharp/PostInferenceChecks.fs index 1bd7e324dfd..fcaeb06d11b 100644 --- a/src/fsharp/PostInferenceChecks.fs +++ b/src/fsharp/PostInferenceChecks.fs @@ -2224,7 +2224,6 @@ let CheckEntityDefn cenv env (tycon: Entity) = for (argty, _) in argtys do CheckTypeNoInnerByrefs cenv env vref.Range argty CheckTypeNoInnerByrefs cenv env vref.Range rty - | None -> () // Supported interface may not have byrefs diff --git a/src/fsharp/SyntaxTree.fs b/src/fsharp/SyntaxTree.fs index 4e9229b8df2..df5d2b7726b 100644 --- a/src/fsharp/SyntaxTree.fs +++ b/src/fsharp/SyntaxTree.fs @@ -1434,6 +1434,8 @@ type SynAttributes = SynAttributeList list type SynValData = | SynValData of MemberFlags option * SynValInfo * Ident option + member x.SynValInfo = (let (SynValData(_flags, synValInfo, _)) = x in synValInfo) + /// Represents a binding for a 'let' or 'member' declaration [] type SynBinding = @@ -1764,9 +1766,16 @@ type SynValSig = type SynValInfo = /// SynValInfo(curriedArgInfos, returnInfo) - | SynValInfo of SynArgInfo list list * SynArgInfo + | SynValInfo of curriedArgInfos: SynArgInfo list list * returnInfo: SynArgInfo + + member x.CurriedArgInfos = (let (SynValInfo(args, _)) = x in args) - member x.ArgInfos = (let (SynValInfo(args, _)) = x in args) + member x.ArgNames = + x.CurriedArgInfos + |> List.concat + |> List.map (fun info -> info.Ident) + |> List.choose id + |> List.map (fun id -> id.idText) /// Represents the argument names and other metadata for a parameter for a member or function [] @@ -1777,6 +1786,8 @@ type SynArgInfo = optional: bool * ident: Ident option + member x.Ident : Ident option = let (SynArgInfo(_,_,id)) = x in id + /// Represents the names and other metadata for the type parameters for a member or function [] type SynValTyparDecls = @@ -1882,6 +1893,7 @@ type SynMemberDefn = attributes: SynAttributes * ctorArgs: SynSimplePats * selfIdentifier: Ident option * + doc: PreXmlDoc * range: range /// An implicit inherit definition, 'inherit (args...) as base' diff --git a/src/fsharp/TypeChecker.fs b/src/fsharp/TypeChecker.fs index 0d57eba641a..50dfa1b36f5 100755 --- a/src/fsharp/TypeChecker.fs +++ b/src/fsharp/TypeChecker.fs @@ -1257,6 +1257,8 @@ type ValScheme = member x.GeneralizedTypars = let (ValScheme(_, TypeScheme(gtps, _), _, _, _, _, _, _, _, _, _, _)) = x in gtps member x.TypeScheme = let (ValScheme(_, ts, _, _, _, _, _, _, _, _, _, _)) = x in ts + + member x.ValReprInfo = let (ValScheme(_, _, topValInfo, _, _, _, _, _, _, _, _, _)) = x in topValInfo /// Translation of patterns is split into three phases. The first collects names. /// The second is run after val_specs have been created for those names and inference @@ -2604,7 +2606,9 @@ module BindingNormalization = | Binding (vis, bkind, isInline, isMutable, Attributes attrs, doc, valSynData, p, retInfo, rhsExpr, mBinding, spBind) -> let (NormalizedBindingPat(pat, rhsExpr, valSynData, typars)) = NormalizeBindingPattern cenv cenv.nameResolver isObjExprBinding env valSynData p (NormalizedBindingRhs ([], retInfo, rhsExpr)) - NormalizedBinding(vis, bkind, isInline, isMutable, attrs, doc.ToXmlDoc(), typars, valSynData, pat, rhsExpr, mBinding, spBind) + let paramNames = Some valSynData.SynValInfo.ArgNames + let doc = doc.ToXmlDoc(true, paramNames) + NormalizedBinding(vis, bkind, isInline, isMutable, attrs, doc, typars, valSynData, pat, rhsExpr, mBinding, spBind) //------------------------------------------------------------------------- // input is: @@ -4544,7 +4548,7 @@ and TcValSpec cenv env declKind newOk containerInfo memFlagsOpt thisTyOpt tpenv if SynInfo.HasOptionalArgs valSynInfo then let curriedArgTys, returnTy = GetTopTauTypeInFSharpForm cenv.g argsData ty' m let curriedArgTys = - (List.zip (List.mapSquared fst curriedArgTys) valSynInfo.ArgInfos) + (List.zip (List.mapSquared fst curriedArgTys) valSynInfo.CurriedArgInfos) |> List.map (fun (argTys, argInfos) -> (List.zip argTys argInfos) |> List.map (fun (argty, argInfo) -> @@ -13037,7 +13041,13 @@ let TcAndPublishValSpec (cenv, env, containerInfo: ContainerInfo, declKind, memF errorR(Error(FSComp.SR.tcValueInSignatureRequiresLiteralAttribute(), e.Range)) konst - let vspec = MakeAndPublishVal cenv env (altActualParent, true, declKind, ValNotInRecScope, valscheme, attrs, doc.ToXmlDoc(), konst, false) + let paramNames = + match valscheme.ValReprInfo with + | None -> None + | Some topValInfo -> topValInfo.ArgNames + + let doc = doc.ToXmlDoc(true, paramNames) + let vspec = MakeAndPublishVal cenv env (altActualParent, true, declKind, ValNotInRecScope, valscheme, attrs, doc, konst, false) assert(vspec.InlineInfo = inlineFlag) vspec, tpenv) @@ -13106,12 +13116,15 @@ module TcRecdUnionAndEnumDeclarations = begin let TcAnonFieldDecl cenv env parent tpenv nm (Field(Attributes attribs, isStatic, idOpt, ty, isMutable, xmldoc, vis, m)) = let id = (match idOpt with None -> mkSynId m nm | Some id -> id) - TcFieldDecl cenv env parent false tpenv (isStatic, attribs, id, idOpt.IsNone, ty, isMutable, xmldoc.ToXmlDoc(), vis, m) + let doc = xmldoc.ToXmlDoc(true, Some []) + TcFieldDecl cenv env parent false tpenv (isStatic, attribs, id, idOpt.IsNone, ty, isMutable, doc, vis, m) let TcNamedFieldDecl cenv env parent isIncrClass tpenv (Field(Attributes attribs, isStatic, id, ty, isMutable, xmldoc, vis, m)) = match id with | None -> error (Error(FSComp.SR.tcFieldRequiresName(), m)) - | Some id -> TcFieldDecl cenv env parent isIncrClass tpenv (isStatic, attribs, id, false, ty, isMutable, xmldoc.ToXmlDoc(), vis, m) + | Some id -> + let doc = xmldoc.ToXmlDoc(true, Some []) + TcFieldDecl cenv env parent isIncrClass tpenv (isStatic, attribs, id, false, ty, isMutable, doc, vis, m) let TcNamedFieldDecls cenv env parent isIncrClass tpenv fields = fields |> List.map (TcNamedFieldDecl cenv env parent isIncrClass tpenv) @@ -13181,7 +13194,9 @@ module TcRecdUnionAndEnumDeclarations = begin if not (typeEquiv cenv.g recordTy thisTy) then error(Error(FSComp.SR.tcReturnTypesForUnionMustBeSameAsType(), m)) rfields, recordTy - Construct.NewUnionCase id rfields recordTy attrs (xmldoc.ToXmlDoc()) vis + let names = rfields |> List.map (fun f -> f.Name) + let doc = xmldoc.ToXmlDoc(true, Some names) + Construct.NewUnionCase id rfields recordTy attrs doc vis let TcUnionCaseDecls cenv env parent (thisTy: TType) thisTyInst tpenv unionCases = let unionCases' = unionCases |> List.map (TcUnionCaseDecl cenv env parent thisTy thisTyInst tpenv) @@ -13198,7 +13213,8 @@ module TcRecdUnionAndEnumDeclarations = begin let vis, _ = ComputeAccessAndCompPath env None m None None parent let vis = CombineReprAccess parent vis if id.idText = "value__" then errorR(Error(FSComp.SR.tcNotValidEnumCaseName(), id.idRange)) - Construct.NewRecdField true (Some v) id false thisTy false false [] attrs (xmldoc.ToXmlDoc()) vis false + let doc = xmldoc.ToXmlDoc(true, Some []) + Construct.NewRecdField true (Some v) id false thisTy false false [] attrs doc vis false let TcEnumDecls cenv env parent thisTy enumCases = let fieldTy = NewInferenceType () @@ -13387,7 +13403,7 @@ module IncrClassChecking = /// Check and elaborate the "left hand side" of the implicit class construction /// syntax. - let TcImplicitCtorLhs_Phase2A(cenv, env, tpenv, tcref: TyconRef, vis, attrs, spats, thisIdOpt, baseValOpt: Val option, safeInitInfo, m, copyOfTyconTypars, objTy, thisTy) = + let TcImplicitCtorLhs_Phase2A(cenv, env, tpenv, tcref: TyconRef, vis, attrs, spats, thisIdOpt, baseValOpt: Val option, safeInitInfo, m, copyOfTyconTypars, objTy, thisTy, doc: PreXmlDoc) = let baseValOpt = match GetSuperTypeOfType cenv.g cenv.amap m objTy with @@ -13432,7 +13448,9 @@ module IncrClassChecking = let isComplete = ComputeIsComplete copyOfTyconTypars [] ctorTy let topValInfo = InferGenericArityFromTyScheme prelimTyschemeG partialValReprInfo let ctorValScheme = ValScheme(id, prelimTyschemeG, Some topValInfo, Some memberInfo, false, ValInline.Never, NormalVal, vis, false, true, false, false) - let ctorVal = MakeAndPublishVal cenv env (Parent tcref, false, ModuleOrMemberBinding, ValInRecScope isComplete, ctorValScheme, attribs, XmlDoc.Empty, None, false) + let paramNames = topValInfo.ArgNames + let doc = doc.ToXmlDoc(true, paramNames) + let ctorVal = MakeAndPublishVal cenv env (Parent tcref, false, ModuleOrMemberBinding, ValInRecScope isComplete, ctorValScheme, attribs, doc, None, false) ctorValScheme, ctorVal // We only generate the cctor on demand, because we don't need it if there are no cctor actions. @@ -14132,9 +14150,6 @@ module IncrClassChecking = ctorBody, cctorBodyOpt, methodBinds, reps - - - // Checking of mutually recursive types, members and 'let' bindings in classes // // Technique: multiple passes. @@ -14278,12 +14293,12 @@ module MutRecBindingChecking = error(Error(FSComp.SR.tcEnumerationsMayNotHaveMembers(), (trimRangeToLine m))) match classMemberDef, containerInfo with - | SynMemberDefn.ImplicitCtor (vis, Attributes attrs, SynSimplePats.SimplePats(spats, _), thisIdOpt, m), ContainerInfo(_, Some(MemberOrValContainerInfo(tcref, _, baseValOpt, safeInitInfo, _))) -> + | SynMemberDefn.ImplicitCtor (vis, Attributes attrs, SynSimplePats.SimplePats(spats, _), thisIdOpt, doc, m), ContainerInfo(_, Some(MemberOrValContainerInfo(tcref, _, baseValOpt, safeInitInfo, _))) -> if tcref.TypeOrMeasureKind = TyparKind.Measure then error(Error(FSComp.SR.tcMeasureDeclarationsRequireStaticMembers(), m)) // Phase2A: make incrClassCtorLhs - ctorv, thisVal etc, type depends on argty(s) - let incrClassCtorLhs = TcImplicitCtorLhs_Phase2A(cenv, envForTycon, tpenv, tcref, vis, attrs, spats, thisIdOpt, baseValOpt, safeInitInfo, m, copyOfTyconTypars, objTy, thisTy) + let incrClassCtorLhs = TcImplicitCtorLhs_Phase2A(cenv, envForTycon, tpenv, tcref, vis, attrs, spats, thisIdOpt, baseValOpt, safeInitInfo, m, copyOfTyconTypars, objTy, thisTy, doc) // Phase2A: Add copyOfTyconTypars from incrClassCtorLhs - or from tcref let envForTycon = AddDeclaredTypars CheckForDuplicateTypars incrClassCtorLhs.InstanceCtorDeclaredTypars envForTycon let innerState = (Some incrClassCtorLhs, envForTycon, tpenv, recBindIdx, uncheckedBindsRev) @@ -14929,7 +14944,6 @@ module MutRecBindingChecking = // Phase2B: type check pass, convert from ast to tast and collects type assertions, and generalize let defnsBs, generalizedRecBinds, tpenv = TcMutRecBindings_Phase2B_TypeCheckAndIncrementalGeneralization cenv tpenv envInitial (envMutRec, defnsAs, uncheckedRecBinds, scopem) - let generalizedTyparsForRecursiveBlock = generalizedRecBinds |> List.map (fun pgrbind -> pgrbind.GeneralizedTypars) @@ -15554,7 +15568,8 @@ module TcExceptionDeclarations = CheckForDuplicateConcreteType env (id.idText + "Exception") id.idRange CheckForDuplicateConcreteType env id.idText id.idRange let repr = TExnFresh (Construct.MakeRecdFieldsTable []) - Construct.NewExn cpath id vis repr attrs (doc.ToXmlDoc()) + let doc = doc.ToXmlDoc(true, Some []) + Construct.NewExn cpath id vis repr attrs doc let TcExnDefnCore_Phase1G_EstablishRepresentation cenv env parent (exnc: Entity) (SynExceptionDefnRepr(_, UnionCase(_, _, args, _, _, _), reprIdOpt, _, _, m)) = let g = cenv.g @@ -15840,7 +15855,8 @@ module EstablishTypeDefinitionCores = let envForDecls, mtypeAcc = MakeInnerEnv envInitial id modKind let mty = Construct.NewEmptyModuleOrNamespaceType modKind - let mspec = Construct.NewModuleOrNamespace (Some envInitial.eCompPath) vis id (xml.ToXmlDoc()) modAttrs (MaybeLazy.Strict mty) + let doc = xml.ToXmlDoc(true, Some []) + let mspec = Construct.NewModuleOrNamespace (Some envInitial.eCompPath) vis id doc modAttrs (MaybeLazy.Strict mty) let innerParent = Parent (mkLocalModRef mspec) let innerTypeNames = TypeNamesInMutRecDecls cenv envForDecls decls MutRecDefnsPhase2DataForModule (mtypeAcc, mspec), (innerParent, innerTypeNames, envForDecls) @@ -15883,9 +15899,15 @@ module EstablishTypeDefinitionCores = // If we supported nested types and modules then additions would be needed here let lmtyp = MaybeLazy.Strict (Construct.NewEmptyModuleOrNamespaceType ModuleOrType) + // '' documentation is allowed for delegates + let paramNames = + match synTyconRepr with + | SynTypeDefnSimpleRepr.General (TyconDelegate (_ty, arity), _, _, _, _, _, _, _) -> arity.ArgNames + | _ -> [] + let doc = doc.ToXmlDoc(true, Some paramNames ) Construct.NewTycon (cpath, id.idText, id.idRange, vis, visOfRepr, TyparKind.Type, LazyWithContext.NotLazy checkedTypars, - doc.ToXmlDoc(), preferPostfix, preEstablishedHasDefaultCtor, hasSelfReferentialCtor, lmtyp) + doc, preferPostfix, preEstablishedHasDefaultCtor, hasSelfReferentialCtor, lmtyp) //------------------------------------------------------------------------- /// Establishing type definitions: early phase: work out the basic kind of the type definition @@ -17220,7 +17242,7 @@ module TcDeclarations = | SynMemberDefn.Member (_, m) :: _ -> errorR(InternalError("List.takeUntil is wrong, have binding", m)) | SynMemberDefn.AbstractSlot (_, _, m) :: _ -> errorR(InternalError("List.takeUntil is wrong, have slotsig", m)) | SynMemberDefn.Interface (_, _, m) :: _ -> errorR(InternalError("List.takeUntil is wrong, have interface", m)) - | SynMemberDefn.ImplicitCtor (_, _, _, _, m) :: _ -> errorR(InternalError("implicit class construction with two implicit constructions", m)) + | SynMemberDefn.ImplicitCtor (_, _, _, _, _, m) :: _ -> errorR(InternalError("implicit class construction with two implicit constructions", m)) | SynMemberDefn.AutoProperty (_, _, _, _, _, _, _, _, _, _, m) :: _ -> errorR(InternalError("List.takeUntil is wrong, have auto property", m)) | SynMemberDefn.ImplicitInherit (_, _, _, m) :: _ -> errorR(Error(FSComp.SR.tcTypeDefinitionsWithImplicitConstructionMustHaveOneInherit(), m)) | SynMemberDefn.LetBindings (_, _, _, m) :: _ -> errorR(Error(FSComp.SR.tcTypeDefinitionsWithImplicitConstructionMustHaveLocalBindingsBeforeMembers(), m)) @@ -17232,7 +17254,7 @@ module TcDeclarations = let _, ds = List.takeUntil (allFalse [isMember;isAbstractSlot;isInterface;isInherit;isField;isTycon]) ds match ds with | SynMemberDefn.Member (_, m) :: _ -> errorR(InternalError("CheckMembersForm: List.takeUntil is wrong", m)) - | SynMemberDefn.ImplicitCtor (_, _, _, _, m) :: _ -> errorR(InternalError("CheckMembersForm: implicit ctor line should be first", m)) + | SynMemberDefn.ImplicitCtor (_, _, _, _, _, m) :: _ -> errorR(InternalError("CheckMembersForm: implicit ctor line should be first", m)) | SynMemberDefn.ImplicitInherit (_, _, _, m) :: _ -> errorR(Error(FSComp.SR.tcInheritConstructionCallNotPartOfImplicitSequence(), m)) | SynMemberDefn.AutoProperty(_, _, _, _, _, _, _, _, _, _, m) :: _ -> errorR(Error(FSComp.SR.tcAutoPropertyRequiresImplicitConstructionSequence(), m)) | SynMemberDefn.LetBindings (_, false, _, m) :: _ -> errorR(Error(FSComp.SR.tcLetAndDoRequiresImplicitConstructionSequence(), m)) @@ -17380,13 +17402,13 @@ module TcDeclarations = let hasSelfReferentialCtor = members |> List.exists (function - | SynMemberDefn.ImplicitCtor (_, _, _, thisIdOpt, _) + | SynMemberDefn.ImplicitCtor (_, _, _, thisIdOpt, _, _) | SynMemberDefn.Member(Binding(_, _, _, _, _, _, SynValData(_, _, thisIdOpt), _, _, _, _, _), _) -> thisIdOpt.IsSome | _ -> false) let implicitCtorSynPats = members |> List.tryPick (function - | SynMemberDefn.ImplicitCtor (_, _, (SynSimplePats.SimplePats _ as spats), _, _) -> Some spats + | SynMemberDefn.ImplicitCtor (_, _, (SynSimplePats.SimplePats _ as spats), _, _, _) -> Some spats | _ -> None) // An ugly bit of code to pre-determine if a type has a nullary constructor, prior to establishing the @@ -17395,7 +17417,7 @@ module TcDeclarations = members |> List.exists (function | SynMemberDefn.Member(Binding(_, _, _, _, _, _, SynValData(Some memberFlags, _, _), SynPatForConstructorDecl SynPatForNullaryArgs, _, _, _, _), _) -> memberFlags.MemberKind=MemberKind.Constructor - | SynMemberDefn.ImplicitCtor (_, _, SynSimplePats.SimplePats(spats, _), _, _) -> isNil spats + | SynMemberDefn.ImplicitCtor (_, _, SynSimplePats.SimplePats(spats, _), _, _, _) -> isNil spats | _ -> false) let repr = SynTypeDefnSimpleRepr.General(kind, inherits, slotsigs, fields, isConcrete, isIncrClass, implicitCtorSynPats, m) let isAtOriginalTyconDefn = not (isAugmentationTyconDefnRepr repr) @@ -17524,7 +17546,7 @@ module TcDeclarations = | SynMemberSig.Member (valSpfn, memberFlags, _) -> memberFlags.MemberKind=MemberKind.Constructor && // REVIEW: This is a syntactic approximation - (match valSpfn.SynType, valSpfn.SynInfo.ArgInfos with + (match valSpfn.SynType, valSpfn.SynInfo.CurriedArgInfos with | StripParenTypes (SynType.Fun (StripParenTypes (SynType.LongIdent (LongIdentWithDots([id], _))), _, _)), [[_]] when id.idText = "unit" -> true | _ -> false) | _ -> false) @@ -17664,7 +17686,8 @@ let rec TcSignatureElementNonMutRec cenv parent typeNames endm (env: TcEnv) synS let id = ident (modName, id.idRange) let mty = Construct.NewEmptyModuleOrNamespaceType modKind - let mspec = Construct.NewModuleOrNamespace (Some env.eCompPath) vis id (xml.ToXmlDoc()) attribs (MaybeLazy.Strict mty) + let doc = xml.ToXmlDoc(true, Some []) + let mspec = Construct.NewModuleOrNamespace (Some env.eCompPath) vis id doc attribs (MaybeLazy.Strict mty) let! (mtyp, _) = TcModuleOrNamespaceSignatureElementsNonMutRec cenv (Parent (mkLocalModRef mspec)) env (id, modKind, mdefs, m, xml) @@ -17768,7 +17791,8 @@ and TcSignatureElements cenv parent endm env xml mutRecNSInfo defs = eventually { // Ensure the .Deref call in UpdateAccModuleOrNamespaceType succeeds if cenv.compilingCanonicalFslibModuleType then - ensureCcuHasModuleOrNamespaceAtPath cenv.topCcu env.ePath env.eCompPath (xml.ToXmlDoc()) + let doc = xml.ToXmlDoc(true, Some []) + ensureCcuHasModuleOrNamespaceAtPath cenv.topCcu env.ePath env.eCompPath doc let typeNames = EstablishTypeDefinitionCores.TypeNamesInNonMutRecSigDecls defs match mutRecNSInfo with @@ -17983,7 +18007,8 @@ let rec TcModuleOrNamespaceElementNonMutRec (cenv: cenv) parent typeNames scopem // Create the new module specification to hold the accumulated results of the type of the module // Also record this in the environment as the accumulator let mty = Construct.NewEmptyModuleOrNamespaceType modKind - let mspec = Construct.NewModuleOrNamespace (Some env.eCompPath) vis id (xml.ToXmlDoc()) modAttrs (MaybeLazy.Strict mty) + let doc = xml.ToXmlDoc(true, Some []) + let mspec = Construct.NewModuleOrNamespace (Some env.eCompPath) vis id doc modAttrs (MaybeLazy.Strict mty) // Now typecheck. let! mexpr, topAttrsNew, envAtEnd = TcModuleOrNamespaceElements cenv (Parent (mkLocalModRef mspec)) endm envForModule xml None mdefs @@ -18189,7 +18214,8 @@ and TcModuleOrNamespaceElements cenv parent endm env xml mutRecNSInfo defs = eventually { // Ensure the deref_nlpath call in UpdateAccModuleOrNamespaceType succeeds if cenv.compilingCanonicalFslibModuleType then - ensureCcuHasModuleOrNamespaceAtPath cenv.topCcu env.ePath env.eCompPath (xml.ToXmlDoc()) + let doc = xml.ToXmlDoc(true, Some []) + ensureCcuHasModuleOrNamespaceAtPath cenv.topCcu env.ePath env.eCompPath doc // Collect the type names so we can implicitly add the compilation suffix to module names let typeNames = EstablishTypeDefinitionCores.TypeNamesInNonMutRecDecls defs diff --git a/src/fsharp/TypedTree.fs b/src/fsharp/TypedTree.fs index 46019fae45b..2c9a2b2e8ce 100644 --- a/src/fsharp/TypedTree.fs +++ b/src/fsharp/TypedTree.fs @@ -745,7 +745,9 @@ type Entity = member x.XmlDoc = #if !NO_EXTENSIONTYPING match x.TypeReprInfo with - | TProvidedTypeExtensionPoint info -> XmlDoc (info.ProvidedType.PUntaintNoFailure(fun st -> (st :> IProvidedCustomAttributeProvider).GetXmlDocAttributes(info.ProvidedType.TypeProvider.PUntaintNoFailure id))) + | TProvidedTypeExtensionPoint info -> + let lines = info.ProvidedType.PUntaintNoFailure(fun st -> (st :> IProvidedCustomAttributeProvider).GetXmlDocAttributes(info.ProvidedType.TypeProvider.PUntaintNoFailure id)) + XmlDoc (lines, x.DefinitionRange) | _ -> #endif match x.entity_opt_data with @@ -2141,7 +2143,7 @@ type Typar = member x.SetAttribs attribs = match attribs, x.typar_opt_data with | [], None -> () - | [], Some { typar_il_name = None; typar_xmldoc = XmlDoc [||]; typar_constraints = [] } -> + | [], Some { typar_il_name = None; typar_xmldoc = doc; typar_constraints = [] } when doc.IsEmpty -> x.typar_opt_data <- None | _, Some optData -> optData.typar_attribs <- attribs | _ -> x.typar_opt_data <- Some { typar_il_name = None; typar_xmldoc = XmlDoc.Empty; typar_constraints = []; typar_attribs = attribs } @@ -2171,7 +2173,7 @@ type Typar = member x.SetConstraints cs = match cs, x.typar_opt_data with | [], None -> () - | [], Some { typar_il_name = None; typar_xmldoc = XmlDoc [||]; typar_attribs = [] } -> + | [], Some { typar_il_name = None; typar_xmldoc = doc; typar_attribs = [] } when doc.IsEmpty -> x.typar_opt_data <- None | _, Some optData -> optData.typar_constraints <- cs | _ -> x.typar_opt_data <- Some { typar_il_name = None; typar_xmldoc = XmlDoc.Empty; typar_constraints = cs; typar_attribs = [] } @@ -4368,6 +4370,9 @@ type ValReprInfo = | (_ :: _ :: h) :: t -> loop t (acc + h.Length + 2) loop args 0 + member x.ArgNames = + Some [ for argtys in x.ArgInfos do for arginfo in argtys do match arginfo.Name with None -> () | Some nm -> nm.idText ] + [] member x.DebugText = x.ToString() @@ -5437,7 +5442,7 @@ type Construct() = entity_il_repr_cache = newCache() entity_opt_data = match xml, access with - | XmlDoc [||], TAccess [] -> None + | doc, TAccess [] when doc.IsEmpty -> None | _ -> Some { Entity.NewEmptyEntityOptData() with entity_xmldoc = xml entity_tycon_repr_accessibility = access @@ -5490,7 +5495,7 @@ type Construct() = OtherRangeOpt = None } /// Create a new TAST Entity node for an F# exception definition - static member NewExn cpath (id: Ident) access repr attribs doc = + static member NewExn cpath (id: Ident) access repr attribs (doc: XmlDoc) = Tycon.New "exnc" { entity_stamp=newStamp() entity_attribs=attribs @@ -5506,7 +5511,7 @@ type Construct() = entity_il_repr_cache= newCache() entity_opt_data = match doc, access, repr with - | XmlDoc [||], TAccess [], TExnNone -> None + | doc, TAccess [], TExnNone when doc.IsEmpty -> None | _ -> Some { Entity.NewEmptyEntityOptData() with entity_xmldoc = doc; entity_accessibility = access; entity_tycon_repr_accessibility = access; entity_exn_info = repr } } /// Create a new TAST RecdField node for an F# class, struct or record field @@ -5528,7 +5533,7 @@ type Construct() = /// Create a new type definition node - static member NewTycon (cpath, nm, m, access, reprAccess, kind, typars, docOption, usesPrefixDisplay, preEstablishedHasDefaultCtor, hasSelfReferentialCtor, mtyp) = + static member NewTycon (cpath, nm, m, access, reprAccess, kind, typars, doc: XmlDoc, usesPrefixDisplay, preEstablishedHasDefaultCtor, hasSelfReferentialCtor, mtyp) = let stamp = newStamp() Tycon.New "tycon" { entity_stamp=stamp @@ -5544,9 +5549,9 @@ type Construct() = entity_cpath = cpath entity_il_repr_cache = newCache() entity_opt_data = - match kind, docOption, reprAccess, access with - | TyparKind.Type, XmlDoc [||], TAccess [], TAccess [] -> None - | _ -> Some { Entity.NewEmptyEntityOptData() with entity_kind = kind; entity_xmldoc = docOption; entity_tycon_repr_accessibility = reprAccess; entity_accessibility=access } } + match kind, doc, reprAccess, access with + | TyparKind.Type, doc, TAccess [], TAccess [] when doc.IsEmpty -> None + | _ -> Some { Entity.NewEmptyEntityOptData() with entity_kind = kind; entity_xmldoc = doc; entity_tycon_repr_accessibility = reprAccess; entity_accessibility=access } } /// Create a new type definition node for a .NET type definition static member NewILTycon nlpath (nm, m) tps (scoref: ILScopeRef, enc, tdef: ILTypeDef) mtyp = @@ -5559,7 +5564,7 @@ type Construct() = /// Create a new Val node static member NewVal (logicalName: string, m: range, compiledName, ty, isMutable, isCompGen, arity, access, - recValInfo, specialRepr, baseOrThis, attribs, inlineInfo, doc, isModuleOrMemberBinding, + recValInfo, specialRepr, baseOrThis, attribs, inlineInfo, doc: XmlDoc, isModuleOrMemberBinding, isExtensionMember, isIncrClassSpecialMember, isTyFunc, allowTypeInst, isGeneratedEventVal, konst, actualParent) : Val = @@ -5572,7 +5577,7 @@ type Construct() = val_type = ty val_opt_data = match compiledName, arity, konst, access, doc, specialRepr, actualParent, attribs with - | None, None, None, TAccess [], XmlDoc [||], None, ParentNone, [] -> None + | None, None, None, TAccess [], doc, None, ParentNone, [] when doc.IsEmpty -> None | _ -> Some { Val.NewEmptyValOptData() with val_compiled_name = (match compiledName with Some v when v <> logicalName -> compiledName | _ -> None) diff --git a/src/fsharp/TypedTreePickle.fs b/src/fsharp/TypedTreePickle.fs index 837021b92e2..4d16db5e9b0 100644 --- a/src/fsharp/TypedTreePickle.fs +++ b/src/fsharp/TypedTreePickle.fs @@ -1345,7 +1345,7 @@ let p_range (x: range) st = let p_dummy_range : range pickler = fun _x _st -> () let p_ident (x: Ident) st = p_tup2 p_string p_range (x.idText, x.idRange) st -let p_xmldoc (XmlDoc x) st = p_array p_string x st +let p_xmldoc (doc: XmlDoc) st = p_array p_string doc.UnprocessedLines st let u_pos st = let a = u_int st in let b = u_int st in mkPos a b let u_range st = let a = u_string st in let b = u_pos st in let c = u_pos st in mkRange a b c @@ -1353,7 +1353,7 @@ let u_range st = let a = u_string st in let b = u_pos st in let c = u_pos st in // Most ranges (e.g. on optimization expressions) can be elided from stored data let u_dummy_range : range unpickler = fun _st -> range0 let u_ident st = let a = u_string st in let b = u_range st in ident(a, b) -let u_xmldoc st = XmlDoc (u_array u_string st) +let u_xmldoc st = XmlDoc (u_array u_string st, range0) let p_local_item_ref ctxt tab st = p_osgn_ref ctxt tab st @@ -1681,7 +1681,7 @@ let u_tyar_spec_data st = typar_astype= Unchecked.defaultof<_> typar_opt_data= match g, e, c with - | XmlDoc [||], [], [] -> None + | doc, [], [] when doc.IsEmpty -> None | _ -> Some { typar_il_name = None; typar_xmldoc = g; typar_constraints = e; typar_attribs = c } } let u_tyar_spec st = diff --git a/src/fsharp/XmlDoc.fs b/src/fsharp/XmlDoc.fs index dc183affeb6..9f53e338f3a 100644 --- a/src/fsharp/XmlDoc.fs +++ b/src/fsharp/XmlDoc.fs @@ -2,54 +2,151 @@ module public FSharp.Compiler.XmlDoc +open System +open System.Xml.Linq +open FSharp.Compiler.ErrorLogger +open FSharp.Compiler.Lib open FSharp.Compiler.AbstractIL.Internal.Library open FSharp.Compiler.Range -/// Represents the final form of collected XmlDoc lines -type XmlDoc = - | XmlDoc of string[] - +/// Represents collected XmlDoc lines +[] +type XmlDoc(unprocessedLines: string[], range: range) = + let rec processLines (lines: string list) = + match lines with + | [] -> [] + | (lineA :: rest) as lines -> + let lineAT = lineA.TrimStart([|' '|]) + if lineAT = "" then processLines rest + elif lineAT.StartsWithOrdinal("<") then lines + else + [""] @ + (lines |> List.map Microsoft.FSharp.Core.XmlAdapters.escape) @ + [""] + + /// Get the lines before insertion of implicit summary tags and encoding + member _.UnprocessedLines = unprocessedLines + + /// Get the lines after insertion of implicit summary tags and encoding + member _.GetElaboratedXmlLines() = + let processedLines = processLines (Array.toList unprocessedLines) + + let lines = Array.ofList processedLines + + lines + + member _.Range = range + static member Empty = XmlDocStatics.Empty - member x.NonEmpty = (let (XmlDoc lines) = x in lines.Length <> 0) + member _.IsEmpty = + unprocessedLines |> Array.forall String.IsNullOrWhiteSpace + + member doc.NonEmpty = not doc.IsEmpty - static member Merge (XmlDoc lines) (XmlDoc lines') = XmlDoc (Array.append lines lines') + static member Merge (doc1: XmlDoc) (doc2: XmlDoc) = + XmlDoc(Array.append doc1.UnprocessedLines doc2.UnprocessedLines, + unionRanges doc1.Range doc2.Range) - /// This code runs for .XML generation and thus influences cross-project xmldoc tooltips; for within-project tooltips, - /// see XmlDocumentation.fs in the language service - static member Process (XmlDoc lines) = - let rec processLines (lines: string list) = - match lines with - | [] -> [] - | (lineA :: rest) as lines -> - let lineAT = lineA.TrimStart([|' '|]) - if lineAT = "" then processLines rest - else if lineAT.StartsWithOrdinal("<") then lines - else [""] @ - (lines |> List.map (fun line -> Microsoft.FSharp.Core.XmlAdapters.escape line)) @ - [""] - - let lines = processLines (Array.toList lines) - if isNil lines then XmlDoc.Empty - else XmlDoc (Array.ofList lines) + member doc.GetXmlText() = + if doc.IsEmpty then "" + else + doc.GetElaboratedXmlLines() + |> String.concat Environment.NewLine + + member doc.Check(paramNamesOpt: string list option) = + try + // We must wrap with in order to have only one root element + let xml = + XDocument.Parse("\n"+doc.GetXmlText()+"\n", + LoadOptions.SetLineInfo ||| LoadOptions.PreserveWhitespace) + + // The parameter names are checked for consistency, so parameter references and + // parameter documentation must match an actual parameter. In addition, if any parameters + // have documentation then all parameters must have documentation + match paramNamesOpt with + | None -> () + | Some paramNames -> + for p in xml.Descendants(XName.op_Implicit "param") do + match p.Attribute(XName.op_Implicit "name") with + | null -> + warning (Error (FSComp.SR.xmlDocMissingParameterName(), doc.Range)) + | attr -> + let nm = attr.Value + if not (paramNames |> List.contains nm) then + warning (Error (FSComp.SR.xmlDocInvalidParameterName(nm), doc.Range)) + + let paramsWithDocs = + [ for p in xml.Descendants(XName.op_Implicit "param") do + match p.Attribute(XName.op_Implicit "name") with + | null -> () + | attr -> attr.Value ] + + if paramsWithDocs.Length > 0 then + for p in paramNames do + if not (paramsWithDocs |> List.contains p) then + warning (Error (FSComp.SR.xmlDocMissingParameter(p), doc.Range)) + + let duplicates = paramsWithDocs |> List.duplicates + + for d in duplicates do + warning (Error (FSComp.SR.xmlDocDuplicateParameter(d), doc.Range)) + + for pref in xml.Descendants(XName.op_Implicit "paramref") do + match pref.Attribute(XName.op_Implicit "name") with + | null -> warning (Error (FSComp.SR.xmlDocMissingParameterName(), doc.Range)) + | attr -> + let nm = attr.Value + if not (paramNames |> List.contains nm) then + warning (Error (FSComp.SR.xmlDocInvalidParameterName(nm), doc.Range)) + + with e -> + warning (Error (FSComp.SR.xmlDocBadlyFormed(e.Message), doc.Range)) + +#if CREF_ELABORATION + member doc.Elaborate (crefResolver) = + for see in seq { yield! xml.Descendants(XName.op_Implicit "see") + yield! xml.Descendants(XName.op_Implicit "seealso") + yield! xml.Descendants(XName.op_Implicit "exception") } do + match see.Attribute(XName.op_Implicit "cref") with + | null -> warning (Error (FSComp.SR.xmlDocMissingCrossReference(), doc.Range)) + | attr -> + let cref = attr.Value + if cref.StartsWith("T:") || cref.StartsWith("P:") || cref.StartsWith("M:") || + cref.StartsWith("E:") || cref.StartsWith("F:") then + () + else + match crefResolver cref with + | None -> + warning (Error (FSComp.SR.xmlDocUnresolvedCrossReference(nm), doc.Range)) + | Some text -> + attr.Value <- text + modified <- true + if modified then + let m = doc.Range + let newLines = + [| for e in xml.Elements() do + yield! e.ToString().Split([| '\r'; '\n' |], StringSplitOptions.RemoveEmptyEntries) |] + lines <- newLines +#endif // Discriminated unions can't contain statics, so we use a separate type and XmlDocStatics() = - static let empty = XmlDoc[| |] + static let empty = XmlDoc ([| |], range0) static member Empty = empty /// Used to collect XML documentation during lexing and parsing. type XmlDocCollector() = - let mutable savedLines = new ResizeArray<(string * pos)>() + let mutable savedLines = new ResizeArray<(string * range)>() let mutable savedGrabPoints = new ResizeArray() let posCompare p1 p2 = if posGeq p1 p2 then 1 else if posEq p1 p2 then 0 else -1 let savedGrabPointsAsArray = lazy (savedGrabPoints.ToArray() |> Array.sortWith posCompare) let savedLinesAsArray = - lazy (savedLines.ToArray() |> Array.sortWith (fun (_, p1) (_, p2) -> posCompare p1 p2)) + lazy (savedLines.ToArray() |> Array.sortWith (fun (_, p1) (_, p2) -> posCompare p1.End p2.End)) let check() = // can't add more XmlDoc elements to XmlDocCollector after extracting first XmlDoc from the overall results @@ -59,15 +156,15 @@ type XmlDocCollector() = check() savedGrabPoints.Add pos - member x.AddXmlDocLine(line, pos) = + member x.AddXmlDocLine(line, range) = check() - savedLines.Add(line, pos) + savedLines.Add(line, range) member x.LinesBefore grabPointPos = try let lines = savedLinesAsArray.Force() let grabPoints = savedGrabPointsAsArray.Force() - let firstLineIndexAfterGrabPoint = Array.findFirstIndexWhereTrue lines (fun (_, pos) -> posGeq pos grabPointPos) + let firstLineIndexAfterGrabPoint = Array.findFirstIndexWhereTrue lines (fun (_, m) -> posGeq m.End grabPointPos) let grabPointIndex = Array.findFirstIndexWhereTrue grabPoints (fun pos -> posGeq pos grabPointPos) assert (posEq grabPoints.[grabPointIndex] grabPointPos) let firstLineIndexAfterPrevGrabPoint = @@ -75,10 +172,10 @@ type XmlDocCollector() = 0 else let prevGrabPointPos = grabPoints.[grabPointIndex-1] - Array.findFirstIndexWhereTrue lines (fun (_, pos) -> posGeq pos prevGrabPointPos) + Array.findFirstIndexWhereTrue lines (fun (_, m) -> posGeq m.End prevGrabPointPos) let lines = lines.[firstLineIndexAfterPrevGrabPoint..firstLineIndexAfterGrabPoint-1] - lines |> Array.map fst + lines with e -> [| |] @@ -88,14 +185,21 @@ type PreXmlDoc = | PreXmlDoc of pos * XmlDocCollector | PreXmlDocEmpty - member x.ToXmlDoc() = + member x.ToXmlDoc(check, paramNamesOpt: string list option) = match x with - | PreXmlMerge(a, b) -> XmlDoc.Merge (a.ToXmlDoc()) (b.ToXmlDoc()) + | PreXmlMerge(a, b) -> XmlDoc.Merge (a.ToXmlDoc(check, paramNamesOpt)) (b.ToXmlDoc(check, paramNamesOpt)) | PreXmlDocEmpty -> XmlDoc.Empty | PreXmlDoc (pos, collector) -> - let lines = collector.LinesBefore pos - if lines.Length = 0 then XmlDoc.Empty - else XmlDoc lines + let preLines = collector.LinesBefore pos + if preLines.Length = 0 then + XmlDoc.Empty + else + let lines = Array.map fst preLines + let m = Array.reduce Range.unionRanges (Array.map snd preLines) + let doc = XmlDoc (lines, m) + if check then + doc.Check(paramNamesOpt) + doc static member CreateFromGrabPoint(collector: XmlDocCollector, grabPointPos) = collector.AddGrabPoint grabPointPos diff --git a/src/fsharp/fsc.fs b/src/fsharp/fsc.fs index 68e768acbf6..f2fbbbc921d 100644 --- a/src/fsharp/fsc.fs +++ b/src/fsharp/fsc.fs @@ -328,16 +328,7 @@ module InterfaceFileWriter = module XmlDocWriter = - let getDoc xmlDoc = - match XmlDoc.Process xmlDoc with - | XmlDoc [| |] -> "" - | XmlDoc strs -> strs |> Array.toList |> String.concat Environment.NewLine - - let hasDoc xmlDoc = - // No need to process the xml doc - just need to know if there's anything there - match xmlDoc with - | XmlDoc [| |] -> false - | _ -> true + let hasDoc (doc: XmlDoc) = not doc.IsEmpty let computeXmlDocSigs (tcGlobals, generatedCcu: CcuThunk) = (* the xmlDocSigOf* functions encode type into string to be used in "id" *) @@ -389,7 +380,7 @@ module XmlDocWriter = let mutable members = [] let addMember id xmlDoc = if hasDoc xmlDoc then - let doc = getDoc xmlDoc + let doc = xmlDoc.GetXmlText() members <- (id, doc) :: members let doVal (v: Val) = addMember v.XmlDocSig v.XmlDoc let doUnionCase (uc: UnionCase) = addMember uc.XmlDocSig uc.XmlDoc diff --git a/src/fsharp/infos.fs b/src/fsharp/infos.fs index 8b909c41829..a314acbd673 100755 --- a/src/fsharp/infos.fs +++ b/src/fsharp/infos.fs @@ -1064,7 +1064,8 @@ type MethInfo = | DefaultStructCtor _ -> XmlDoc.Empty #if !NO_EXTENSIONTYPING | ProvidedMeth(_, mi, _, m)-> - XmlDoc (mi.PUntaint((fun mix -> (mix :> IProvidedCustomAttributeProvider).GetXmlDocAttributes(mi.TypeProvider.PUntaintNoFailure id)), m)) + let lines = mi.PUntaint((fun mix -> (mix :> IProvidedCustomAttributeProvider).GetXmlDocAttributes(mi.TypeProvider.PUntaintNoFailure id)), m) + XmlDoc (lines, m) #endif /// Try to get an arbitrary F# ValRef associated with the member. This is to determine if the member is virtual, amongst other things. @@ -2162,7 +2163,8 @@ type PropInfo = | FSProp(_, _, None, None) -> failwith "unreachable" #if !NO_EXTENSIONTYPING | ProvidedProp(_, pi, m) -> - XmlDoc (pi.PUntaint((fun pix -> (pix :> IProvidedCustomAttributeProvider).GetXmlDocAttributes(pi.TypeProvider.PUntaintNoFailure id)), m)) + let lines = pi.PUntaint((fun pix -> (pix :> IProvidedCustomAttributeProvider).GetXmlDocAttributes(pi.TypeProvider.PUntaintNoFailure id)), m) + XmlDoc (lines, m) #endif /// Get the TcGlobals associated with the object @@ -2416,7 +2418,8 @@ type EventInfo = | FSEvent (_, p, _, _) -> p.XmlDoc #if !NO_EXTENSIONTYPING | ProvidedEvent (_, ei, m) -> - XmlDoc (ei.PUntaint((fun eix -> (eix :> IProvidedCustomAttributeProvider).GetXmlDocAttributes(ei.TypeProvider.PUntaintNoFailure id)), m)) + let lines = ei.PUntaint((fun eix -> (eix :> IProvidedCustomAttributeProvider).GetXmlDocAttributes(ei.TypeProvider.PUntaintNoFailure id)), m) + XmlDoc (lines, m) #endif /// Get the logical name of the event. diff --git a/src/fsharp/lex.fsl b/src/fsharp/lex.fsl index 5322a3ddf48..e46718a3d1f 100644 --- a/src/fsharp/lex.fsl +++ b/src/fsharp/lex.fsl @@ -166,15 +166,17 @@ let startString args (lexbuf: UnicodeLexing.Lexbuf) = // Utility functions for processing XML documentation -let trySaveXmlDoc lexbuf (buff:option) = +let trySaveXmlDoc (lexbuf: LexBuffer) (buff: (range * StringBuilder) option) = match buff with | None -> () - | Some sb -> LexbufLocalXmlDocStore.SaveXmlDocLine (lexbuf, sb.ToString(), posOfLexPosition lexbuf.StartPos) + | Some (start, sb) -> + let xmlCommentLineRange = mkFileIndexRange start.FileIndex start.Start (posOfLexPosition lexbuf.StartPos) + LexbufLocalXmlDocStore.SaveXmlDocLine (lexbuf, sb.ToString(), xmlCommentLineRange) -let tryAppendXmlDoc (buff:option) (s:string) = +let tryAppendXmlDoc (buff: (range * StringBuilder) option) (s:string) = match buff with | None -> () - | Some sb -> ignore(sb.Append s) + | Some (_, sb) -> ignore(sb.Append s) // Utilities for parsing #if/#else/#endif @@ -660,7 +662,7 @@ rule token args skip = parse let doc = lexemeTrimLeft lexbuf 3 let sb = (new StringBuilder(100)).Append(doc) if not skip then LINE_COMMENT (LexCont.SingleLineComment(args.ifdefStack, args.stringNest, 1, m)) - else singleLineComment (Some sb,1,m,args) skip lexbuf } + else singleLineComment (Some (m, sb),1,m,args) skip lexbuf } | "//" op_char* { // Need to read all operator symbols too, otherwise it might be parsed by a rule below diff --git a/src/fsharp/pars.fsy b/src/fsharp/pars.fsy index 88a334e927e..2f1bcf56641 100644 --- a/src/fsharp/pars.fsy +++ b/src/fsharp/pars.fsy @@ -1512,7 +1512,9 @@ tyconDefn: let nameRange = rhs parseState 1 let (tcDefRepr, members) = $8 nameRange let (ComponentInfo(_, _, _, lid, _, _, _, _)) = $1 - let memberCtorPattern = SynMemberDefn.ImplicitCtor (vis, $2, spats, az, rangeOfLid lid) + // Gets the XML doc comments prior to the implicit constructor + let xmlDoc = grabXmlDoc(parseState, 5) + let memberCtorPattern = SynMemberDefn.ImplicitCtor (vis, $2, spats, az, xmlDoc, rangeOfLid lid) let tcDefRepr = match tcDefRepr with | SynTypeDefnRepr.ObjectModel (k, cspec, m) -> SynTypeDefnRepr.ObjectModel (k, memberCtorPattern :: cspec, m) diff --git a/src/fsharp/service/FSharpCheckerResults.fsi b/src/fsharp/service/FSharpCheckerResults.fsi index 9705c1da0bf..6011f7c6f51 100644 --- a/src/fsharp/service/FSharpCheckerResults.fsi +++ b/src/fsharp/service/FSharpCheckerResults.fsi @@ -235,14 +235,10 @@ type public FSharpCheckFileResults = /// Find the most precise display environment for the given line and column. member GetDisplayContextForPos : pos : pos -> Async - /// Determines if a long ident is resolvable at a specific point. - /// - /// An optional string used for tracing compiler operations associated with this request. + /// Determines if a long ident is resolvable at a specific point. member internal IsRelativeNameResolvable: cursorPos : pos * plid : string list * item: Item * ?userOpName: string -> Async - /// Determines if a long ident is resolvable at a specific point. - /// - /// An optional string used for tracing compiler operations associated with this request. + /// Determines if a long ident is resolvable at a specific point. member IsRelativeNameResolvableFromSymbol: cursorPos : pos * plid : string list * symbol: FSharpSymbol * ?userOpName: string -> Async /// Represents complete typechecked implementation file, including its typechecked signatures if any. diff --git a/src/fsharp/service/ServiceAssemblyContent.fs b/src/fsharp/service/ServiceAssemblyContent.fs index 49a50e38180..b1406baadae 100644 --- a/src/fsharp/service/ServiceAssemblyContent.fs +++ b/src/fsharp/service/ServiceAssemblyContent.fs @@ -767,10 +767,11 @@ module ParsedInput = walkTypeDefnSigRepr repr List.iter walkMemberSig memberSigs - and walkMember = function + and walkMember memb = + match memb with | SynMemberDefn.AbstractSlot (valSig, _, _) -> walkValSig valSig | SynMemberDefn.Member (binding, _) -> walkBinding binding - | SynMemberDefn.ImplicitCtor (_, Attributes attrs, SynSimplePats.SimplePats(simplePats, _), _, _) -> + | SynMemberDefn.ImplicitCtor (_, Attributes attrs, SynSimplePats.SimplePats(simplePats, _), _, _, _) -> List.iter walkAttribute attrs List.iter walkSimplePat simplePats | SynMemberDefn.ImplicitInherit (t, e, _, _) -> walkType t; walkExpr e diff --git a/src/fsharp/service/ServiceParseTreeWalk.fs b/src/fsharp/service/ServiceParseTreeWalk.fs index 500b93c22ab..7c2db37b98f 100755 --- a/src/fsharp/service/ServiceParseTreeWalk.fs +++ b/src/fsharp/service/ServiceParseTreeWalk.fs @@ -682,7 +682,7 @@ module public AstTraversal = match m with | SynMemberDefn.Open(_longIdent, _range) -> None | SynMemberDefn.Member(synBinding, _range) -> traverseSynBinding path synBinding - | SynMemberDefn.ImplicitCtor(_synAccessOption, _synAttributes, simplePats, _identOption, _range) -> + | SynMemberDefn.ImplicitCtor(_synAccessOption, _synAttributes, simplePats, _identOption, _doc, _range) -> match simplePats with | SynSimplePats.SimplePats(simplePats, _) -> visitor.VisitSimplePats(simplePats) | _ -> None diff --git a/src/fsharp/service/ServiceUntypedParse.fs b/src/fsharp/service/ServiceUntypedParse.fs index c8d14e6af18..3342650b5ae 100755 --- a/src/fsharp/service/ServiceUntypedParse.fs +++ b/src/fsharp/service/ServiceUntypedParse.fs @@ -359,7 +359,7 @@ type FSharpParseFileResults(errors: FSharpErrorInfo[], input: ParsedInput option [ match memb with | SynMemberDefn.LetBindings(binds, _, _, _) -> yield! walkBinds binds | SynMemberDefn.AutoProperty(_attribs, _isStatic, _id, _tyOpt, _propKind, _, _xmlDoc, _access, synExpr, _, _) -> yield! walkExpr true synExpr - | SynMemberDefn.ImplicitCtor(_, _, _, _, m) -> yield! checkRange m + | SynMemberDefn.ImplicitCtor(_, _, _, _, _, m) -> yield! checkRange m | SynMemberDefn.Member(bind, _) -> yield! walkBind bind | SynMemberDefn.Interface(_, Some membs, _) -> for m in membs do yield! walkMember m | SynMemberDefn.Inherit(_, _, m) -> @@ -933,7 +933,7 @@ module UntypedParseImpl = and walkMember = function | SynMemberDefn.AbstractSlot (valSig, _, _) -> walkValSig valSig | SynMemberDefn.Member(binding, _) -> walkBinding binding - | SynMemberDefn.ImplicitCtor(_, Attributes attrs, SynSimplePats.SimplePats(simplePats, _), _, _) -> + | SynMemberDefn.ImplicitCtor(_, Attributes attrs, SynSimplePats.SimplePats(simplePats, _), _, _, _) -> List.tryPick walkAttribute attrs |> Option.orElse (List.tryPick walkSimplePat simplePats) | SynMemberDefn.ImplicitInherit(t, e, _, _) -> walkType t |> Option.orElse (walkExpr e) | SynMemberDefn.LetBindings(bindings, _, _, _) -> List.tryPick walkBinding bindings diff --git a/src/fsharp/service/ServiceXmlDocParser.fs b/src/fsharp/service/ServiceXmlDocParser.fs index 01073ec599a..5cd1347a7df 100644 --- a/src/fsharp/service/ServiceXmlDocParser.fs +++ b/src/fsharp/service/ServiceXmlDocParser.fs @@ -18,7 +18,8 @@ module XmlDocParsing = | Pats ps -> ps | NamePatPairs(xs, _) -> List.map snd xs - let rec digNamesFrom = function + let rec digNamesFrom pat = + match pat with | SynPat.Named(_innerPat,id,_isTheThisVar,_access,_range) -> [id.idText] | SynPat.Typed(pat,_type,_range) -> digNamesFrom pat | SynPat.Attrib(pat,_attrs,_range) -> digNamesFrom pat @@ -49,12 +50,10 @@ module XmlDocParsing = i let isEmptyXmlDoc (preXmlDoc: PreXmlDoc) = - match preXmlDoc.ToXmlDoc() with - | XmlDoc [||] -> true - | XmlDoc [|x|] when x.Trim() = "" -> true - | _ -> false + preXmlDoc.ToXmlDoc(false, None).IsEmpty - let rec getXmlDocablesSynModuleDecl = function + let rec getXmlDocablesSynModuleDecl decl = + match decl with | SynModuleDecl.NestedModule(_, _, synModuleDecls, _, _) -> (synModuleDecls |> List.collect getXmlDocablesSynModuleDecl) | SynModuleDecl.Let(_, synBindingList, range) -> @@ -121,12 +120,12 @@ module XmlDocParsing = let paramNames = digNamesFrom synPat [XmlDocable(line,indent,paramNames)] else [] - | SynMemberDefn.AbstractSlot(ValSpfn(synAttributes, _, _, _, SynValInfo(args, _), _, _, preXmlDoc, _, _, _), _, range) -> + | SynMemberDefn.AbstractSlot(ValSpfn(synAttributes, _, _, _, synValInfo, _, _, preXmlDoc, _, _, _), _, range) -> if isEmptyXmlDoc preXmlDoc then let fullRange = synAttributes |> List.fold (fun r a -> unionRanges r a.Range) range let line = fullRange.StartLine let indent = indentOf line - let paramNames = args |> List.collect (fun az -> az |> List.choose (fun (SynArgInfo(_synAttributes, _, idOpt)) -> match idOpt with | Some id -> Some(id.idText) | _ -> None)) + let paramNames = synValInfo.ArgNames [XmlDocable(line,indent,paramNames)] else [] | SynMemberDefn.Interface(_synType, synMemberDefnsOption, _range) -> diff --git a/src/fsharp/service/service.fsi b/src/fsharp/service/service.fsi index 3ed57fa2f27..3ffc2176ed3 100755 --- a/src/fsharp/service/service.fsi +++ b/src/fsharp/service/service.fsi @@ -75,7 +75,14 @@ type public FSharpChecker = /// If false, do not keep full intermediate checking results from background checking suitable for returning from GetBackgroundCheckResultsForFileInProject. This reduces memory usage. /// An optional resolver for non-file references, for legacy purposes /// An optional resolver to access the contents of .NET binaries in a memory-efficient way - static member Create : ?projectCacheSize: int * ?keepAssemblyContents: bool * ?keepAllBackgroundResolutions: bool * ?legacyReferenceResolver: ReferenceResolver.Resolver * ?tryGetMetadataSnapshot: ILReaderTryGetMetadataSnapshot * ?suggestNamesForErrors: bool * ?keepAllBackgroundSymbolUses: bool * ?enableBackgroundItemKeyStoreAndSemanticClassification: bool -> FSharpChecker + /// Indicate whether name suggestion should be enabled + /// Indicate whether all symbol uses should be kept in background checking + /// Indicates whether a table of symbol keys should be kept for background compilation + static member Create: + ?projectCacheSize: int * ?keepAssemblyContents: bool * ?keepAllBackgroundResolutions: bool * + ?legacyReferenceResolver: ReferenceResolver.Resolver * ?tryGetMetadataSnapshot: ILReaderTryGetMetadataSnapshot * + ?suggestNamesForErrors: bool * ?keepAllBackgroundSymbolUses: bool * ?enableBackgroundItemKeyStoreAndSemanticClassification: bool + -> FSharpChecker /// /// Parse a source code file, returning information about brace matching in the file. @@ -125,7 +132,7 @@ type public FSharpChecker = /// /// /// The path for the file. The file name is also as a module name for implicit top level modules (e.g. in scripts). - /// The source to be parsed. + /// The source to be parsed. /// Parsing options for the project or script. /// An optional string used for tracing compiler operations associated with this request. [] @@ -195,7 +202,7 @@ type public FSharpChecker = /// /// The name of the file in the project whose source is being checked. /// An integer that can be used to indicate the version of the file. This will be returned by TryGetRecentCheckResultsForFile when looking up the file. - /// The full source for the file. + /// The source for the file. /// The options for the project or script. /// /// An item passed back to 'hasTextChangedSinceLastTypecheck' (from some calls made on 'FSharpCheckFileResults') to help determine if @@ -219,14 +226,24 @@ type public FSharpChecker = /// All files are read from the FileSystem API, except the file being checked. /// /// - /// Used to differentiate between scripts, to consider each script a separate project. - /// Also used in formatted error messages. - /// + /// Used to differentiate between scripts, to consider each script a separate project. Also used in formatted error messages. + /// The source for the file. + /// Is the preview compiler enabled. /// Indicates when the script was loaded into the editing environment, /// so that an 'unload' and 'reload' action will cause the script to be considered as a new project, /// so that references are re-resolved. + /// Other flags for compilation. + /// Add a default reference to the FSharp.Compiler.Interactive.Settings library. + /// Use the implicit references from the .NET SDK. + /// Set up compilation and analysis for .NET Framework scripts. + /// An extra data item added to the returned FSharpProjectOptions. + /// An optional unique stamp for the options. /// An optional string used for tracing compiler operations associated with this request. - member GetProjectOptionsFromScript : filename: string * sourceText: ISourceText * ?previewEnabled:bool * ?loadedTimeStamp: DateTime * ?otherFlags: string[] * ?useFsiAuxLib: bool * ?useSdkRefs: bool * ?assumeDotNetFramework: bool * ?extraProjectInfo: obj * ?optionsStamp: int64 * ?userOpName: string -> Async + member GetProjectOptionsFromScript: + filename: string * sourceText: ISourceText * ?previewEnabled:bool * ?loadedTimeStamp: DateTime * + ?otherFlags: string[] * ?useFsiAuxLib: bool * ?useSdkRefs: bool * ?assumeDotNetFramework: bool * + ?extraProjectInfo: obj * ?optionsStamp: int64 * ?userOpName: string + -> Async /// /// Get the FSharpProjectOptions implied by a set of command line arguments. @@ -237,6 +254,7 @@ type public FSharpChecker = /// Indicates when the script was loaded into the editing environment, /// so that an 'unload' and 'reload' action will cause the script to be considered as a new project, /// so that references are re-resolved. + /// An extra data item added to the returned FSharpProjectOptions. member GetProjectOptionsFromCommandLineArgs : projectFileName: string * argv: string[] * ?loadedTimeStamp: DateTime * ?extraProjectInfo: obj -> FSharpProjectOptions /// @@ -245,6 +263,7 @@ type public FSharpChecker = /// /// Initial source files list. Additional files may be added during argv evaluation. /// The command line arguments for the project build. + /// Indicates that parsing should assume the INTERACTIVE define and related settings member GetParsingOptionsFromCommandLineArgs: sourceFiles: string list * argv: string list * ?isInteractive: bool -> FSharpParsingOptions * FSharpErrorInfo list /// @@ -252,14 +271,15 @@ type public FSharpChecker = /// /// /// The command line arguments for the project build. + /// Indicates that parsing should assume the INTERACTIVE define and related settings member GetParsingOptionsFromCommandLineArgs: argv: string list * ?isInteractive: bool -> FSharpParsingOptions * FSharpErrorInfo list /// /// Get the FSharpParsingOptions implied by a FSharpProjectOptions. /// /// - /// The command line arguments for the project build. - member GetParsingOptionsFromProjectOptions: FSharpProjectOptions -> FSharpParsingOptions * FSharpErrorInfo list + /// The overall options. + member GetParsingOptionsFromProjectOptions: options: FSharpProjectOptions -> FSharpParsingOptions * FSharpErrorInfo list /// /// Like ParseFile, but uses results from the background builder. @@ -308,6 +328,8 @@ type public FSharpChecker = /// The output file must be given by a -o flag. /// The first argument is ignored and can just be "fsc.exe". /// + /// + /// The command line arguments for the project build. /// An optional string used for tracing compiler operations associated with this request. member Compile: argv:string[] * ?userOpName: string -> Async @@ -315,6 +337,13 @@ type public FSharpChecker = /// TypeCheck and compile provided AST /// /// + /// The syntax tree for the build. + /// The assembly name for the compiled output. + /// The output file for the compialtion. + /// The list of dependencies for the compialtion. + /// The output PDB file, if any. + /// Indicates if an executable is being produced. + /// Enables the /noframework flag. /// An optional string used for tracing compiler operations associated with this request. member Compile: ast:ParsedInput list * assemblyName:string * outFile:string * dependencies:string list * ?pdbFile:string * ?executable:bool * ?noframework:bool * ?userOpName: string -> Async @@ -331,6 +360,8 @@ type public FSharpChecker = /// case, a global setting is modified during the execution. /// /// + /// Other flags for compilation. + /// An optional pair of output streams, enabling execution of the result. /// An optional string used for tracing compiler operations associated with this request. member CompileToDynamicAssembly: otherFlags:string [] * execute:(TextWriter * TextWriter) option * ?userOpName: string -> Async @@ -338,6 +369,12 @@ type public FSharpChecker = /// TypeCheck and compile provided AST /// /// + /// The syntax tree for the build. + /// The assembly name for the compiled output. + /// The list of dependencies for the compialtion. + /// An optional pair of output streams, enabling execution of the result. + /// Enabled debug symbols + /// Enables the /noframework flag. /// An optional string used for tracing compiler operations associated with this request. member CompileToDynamicAssembly: ast:ParsedInput list * assemblyName:string * dependencies:string list * execute:(TextWriter * TextWriter) option * ?debug:bool * ?noframework:bool * ?userOpName: string -> Async @@ -397,6 +434,7 @@ type public FSharpChecker = /// This function is called when a project has been cleaned/rebuilt, and thus any live type providers should be refreshed. /// /// + /// The options describing the project that has been cleaned. /// An optional string used for tracing compiler operations associated with this request. member NotifyProjectCleaned: options: FSharpProjectOptions * ?userOpName: string -> Async diff --git a/src/fsharp/symbols/SymbolHelpers.fs b/src/fsharp/symbols/SymbolHelpers.fs index bbe3e5b2de8..b161f26649b 100644 --- a/src/fsharp/symbols/SymbolHelpers.fs +++ b/src/fsharp/symbols/SymbolHelpers.fs @@ -227,7 +227,7 @@ type public Layout = Internal.Utilities.StructuredFormat.Layout [] type FSharpXmlDoc = | None - | Text of string + | Text of unprocessedLines: string[] * elaboratedXmlLines: string[] | XmlDocFileSignature of (*File and Signature*) string * string /// A single data tip display element @@ -660,20 +660,10 @@ module internal SymbolHelpers = /// Produce an XmlComment with a signature or raw text, given the F# comment and the item let GetXmlCommentForItemAux (xmlDoc: XmlDoc option) (infoReader: InfoReader) m d = - let result = - match xmlDoc with - | None | Some (XmlDoc [| |]) -> "" - | Some (XmlDoc l) -> - bufs (fun os -> - bprintf os "\n" - l |> Array.iter (fun (s: string) -> - // Note: this code runs for local/within-project xmldoc tooltips, but not for cross-project or .XML - bprintf os "\n%s" s)) - - if String.IsNullOrEmpty result then - GetXmlDocHelpSigOfItemForLookup infoReader m d - else - FSharpXmlDoc.Text result + match xmlDoc with + | Some xmlDoc when not xmlDoc.IsEmpty -> + FSharpXmlDoc.Text (xmlDoc.UnprocessedLines, xmlDoc.GetElaboratedXmlLines()) + | _ -> GetXmlDocHelpSigOfItemForLookup infoReader m d let mutable ToolTipFault = None diff --git a/src/fsharp/symbols/SymbolHelpers.fsi b/src/fsharp/symbols/SymbolHelpers.fsi index 664471ab440..f5f345e4ef2 100755 --- a/src/fsharp/symbols/SymbolHelpers.fsi +++ b/src/fsharp/symbols/SymbolHelpers.fsi @@ -50,10 +50,14 @@ type public FSharpXmlDoc = /// No documentation is available | None - /// The text for documentation - | Text of string - - /// Indicates that the text for the documentation can be found in a .xml documentation file, using the given signature key + /// The text for documentation for in-memory references. Here unprocessedText is the `\n` concatenated + /// text of the original source and processsedXmlLines is the + /// XML produced after all checking and processing by the F# compiler, including + /// insertion of summary tags, encoding and resolving of cross-references if + // supported. + | Text of unprocessedLines: string[] * elaboratedXmlLines: string[] + + /// Indicates that the XML for the documentation can be found in a .xml documentation file, using the given signature key | XmlDocFileSignature of (*File:*) string * (*Signature:*)string type public Layout = Internal.Utilities.StructuredFormat.Layout diff --git a/src/fsharp/symbols/Symbols.fs b/src/fsharp/symbols/Symbols.fs index 4fe8986ec97..afe5c4a27fd 100644 --- a/src/fsharp/symbols/Symbols.fs +++ b/src/fsharp/symbols/Symbols.fs @@ -78,7 +78,11 @@ module Impl = let makeReadOnlyCollection (arr: seq<'T>) = System.Collections.ObjectModel.ReadOnlyCollection<_>(Seq.toArray arr) :> IList<_> - let makeXmlDoc (XmlDoc x) = makeReadOnlyCollection x + let makeXmlDoc (doc: XmlDoc) = + makeReadOnlyCollection doc.UnprocessedLines + + let makeElaboratedXmlDoc (doc: XmlDoc) = + makeReadOnlyCollection (doc.GetElaboratedXmlLines()) let rescopeEntity optViewedCcu (entity: Entity) = match optViewedCcu with @@ -646,6 +650,10 @@ and FSharpEntity(cenv: SymbolEnv, entity:EntityRef) = if isUnresolved() then XmlDoc.Empty |> makeXmlDoc else entity.XmlDoc |> makeXmlDoc + member __.ElaboratedXmlDoc = + if isUnresolved() then XmlDoc.Empty |> makeElaboratedXmlDoc else + entity.XmlDoc |> makeElaboratedXmlDoc + member x.StaticParameters = match entity.TypeReprInfo with #if !NO_EXTENSIONTYPING @@ -815,6 +823,10 @@ and FSharpUnionCase(cenv, v: UnionCaseRef) = if isUnresolved() then XmlDoc.Empty |> makeXmlDoc else v.UnionCase.XmlDoc |> makeXmlDoc + member __.ElaboratedXmlDoc = + if isUnresolved() then XmlDoc.Empty |> makeElaboratedXmlDoc else + v.UnionCase.XmlDoc |> makeElaboratedXmlDoc + member __.Attributes = if isUnresolved() then makeReadOnlyCollection [] else v.Attribs |> List.map (fun a -> FSharpAttribute(cenv, AttribInfo.FSAttribInfo(cenv.g, a))) |> makeReadOnlyCollection @@ -997,6 +1009,14 @@ and FSharpField(cenv: SymbolEnv, d: FSharpFieldData) = | Choice3Of3 _ -> XmlDoc.Empty |> makeXmlDoc + member __.ElaboratedXmlDoc = + if isUnresolved() then XmlDoc.Empty |> makeElaboratedXmlDoc else + match d.TryRecdField with + | Choice1Of3 r -> r.XmlDoc + | Choice2Of3 _ -> XmlDoc.Empty + | Choice3Of3 _ -> XmlDoc.Empty + |> makeElaboratedXmlDoc + member __.FieldType = checkIsResolved() let fty = @@ -1107,6 +1127,10 @@ and FSharpActivePatternCase(cenv, apinfo: PrettyNaming.ActivePatternInfo, ty, n, defaultArg (valOpt |> Option.map (fun vref -> vref.XmlDoc)) XmlDoc.Empty |> makeXmlDoc + member __.ElaboratedXmlDoc = + defaultArg (valOpt |> Option.map (fun vref -> vref.XmlDoc)) XmlDoc.Empty + |> makeElaboratedXmlDoc + member __.XmlDocSig = let xmlsig = match valOpt with @@ -1146,8 +1170,11 @@ and FSharpGenericParameter(cenv, v:Typar) = member __.IsCompilerGenerated = v.IsCompilerGenerated member __.IsMeasure = (v.Kind = TyparKind.Measure) + member __.XmlDoc = v.XmlDoc |> makeXmlDoc + member __.ElaboratedXmlDoc = v.XmlDoc |> makeElaboratedXmlDoc + member __.IsSolveAtCompileTime = (v.StaticReq = TyparStaticReq.HeadTypeStaticReq) member __.Attributes = @@ -1828,6 +1855,14 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) = | M m | C m -> m.XmlDoc |> makeXmlDoc | V v -> v.XmlDoc |> makeXmlDoc + member __.ElaboratedXmlDoc = + if isUnresolved() then XmlDoc.Empty |> makeElaboratedXmlDoc else + match d with + | E e -> e.XmlDoc |> makeElaboratedXmlDoc + | P p -> p.XmlDoc |> makeElaboratedXmlDoc + | M m | C m -> m.XmlDoc |> makeElaboratedXmlDoc + | V v -> v.XmlDoc |> makeElaboratedXmlDoc + member x.CurriedParameterGroups = checkIsResolved() match d with diff --git a/src/fsharp/symbols/Symbols.fsi b/src/fsharp/symbols/Symbols.fsi index 1e088f3994d..bf994ea7c44 100644 --- a/src/fsharp/symbols/Symbols.fsi +++ b/src/fsharp/symbols/Symbols.fsi @@ -259,6 +259,10 @@ and [] public FSharpEntity = /// Get the in-memory XML documentation for the entity, used when code is checked in-memory member XmlDoc: IList + /// Get the elaborated XML documentation for the entity, used when code is checked in-memory, + /// after any checking and processing to XML performed by the F# compiler + member ElaboratedXmlDoc: IList + /// Get the XML documentation signature for the entity, used for .xml file lookup for compiled code member XmlDocSig: string @@ -399,6 +403,10 @@ and [] public FSharpUnionCase = /// Get the in-memory XML documentation for the union case, used when code is checked in-memory member XmlDoc: IList + /// Get the elaborated XML documentation for the union case, used when code is checked in-memory, + /// after any checking and processing to XML performed by the F# compiler + member ElaboratedXmlDoc: IList + /// Get the XML documentation signature for .xml file lookup for the union case, used for .xml file lookup for compiled code member XmlDocSig: string @@ -473,6 +481,10 @@ and [] public FSharpField = /// Get the in-memory XML documentation for the field, used when code is checked in-memory member XmlDoc: IList + /// Get the elaborated XML documentation for the field, used when code is checked in-memory, + /// after any checking and processing to XML performed by the F# compiler + member ElaboratedXmlDoc: IList + /// Get the XML documentation signature for .xml file lookup for the field, used for .xml file lookup for compiled code member XmlDocSig: string @@ -523,6 +535,10 @@ and [] public FSharpGenericParameter = /// Get the in-memory XML documentation for the type parameter, used when code is checked in-memory member XmlDoc : IList + /// Get the elaborated XML documentation for the type parameter, used when code is checked in-memory, + /// after any checking and processing to XML performed by the F# compiler + member ElaboratedXmlDoc: IList + /// Indicates if this is a statically resolved type variable member IsSolveAtCompileTime : bool @@ -834,6 +850,10 @@ and [] public FSharpMemberOrFunctionOrValue = /// Get the in-memory XML documentation for the value, used when code is checked in-memory member XmlDoc: IList + /// Get the elaborated XML documentation for the value, used when code is checked in-memory, + /// after any checking and processing to XML performed by the F# compiler + member ElaboratedXmlDoc: IList + /// XML documentation signature for the value, used for .xml file lookup for compiled code member XmlDocSig: string @@ -915,6 +935,10 @@ and [] public FSharpActivePatternCase = /// Get the in-memory XML documentation for the active pattern case, used when code is checked in-memory member XmlDoc: IList + /// Get the elaborated XML documentation for the active pattern case, used when code is checked in-memory, + /// after any checking and processing to XML performed by the F# compiler + member ElaboratedXmlDoc: IList + /// XML documentation signature for the active pattern case, used for .xml file lookup for compiled code member XmlDocSig: string diff --git a/src/fsharp/xlf/FSComp.txt.cs.xlf b/src/fsharp/xlf/FSComp.txt.cs.xlf index ee4520e2f46..9839f7d0bca 100644 --- a/src/fsharp/xlf/FSComp.txt.cs.xlf +++ b/src/fsharp/xlf/FSComp.txt.cs.xlf @@ -522,6 +522,41 @@ Pro odkazy na rozhraní .NET používejte referenční sestavení, pokud jsou k dispozici (ve výchozím nastavení povolené). + + This XML comment is invalid: '{0}' + This XML comment is invalid: '{0}' + + + + This XML comment is invalid: multiple documentation entries for parameter '{0}' + This XML comment is invalid: multiple documentation entries for parameter '{0}' + + + + This XML comment is invalid: unknown parameter '{0}' + This XML comment is invalid: unknown parameter '{0}' + + + + This XML comment is invalid: missing 'cref' attribute for cross-reference + This XML comment is invalid: missing 'cref' attribute for cross-reference + + + + This XML comment is incomplete: no documentation for parameter '{0}' + This XML comment is incomplete: no documentation for parameter '{0}' + + + + This XML comment is invalid: missing 'name' attribute for parameter or parameter reference + This XML comment is invalid: missing 'name' attribute for parameter or parameter reference + + + + This XML comment is invalid: unresolved cross-reference '{0}' + This XML comment is invalid: unresolved cross-reference '{0}' + + Consider using 'yield!' instead of 'yield'. Zvažte použití parametru yield! namísto yield. diff --git a/src/fsharp/xlf/FSComp.txt.de.xlf b/src/fsharp/xlf/FSComp.txt.de.xlf index 084d3c4031e..f0ddc681111 100644 --- a/src/fsharp/xlf/FSComp.txt.de.xlf +++ b/src/fsharp/xlf/FSComp.txt.de.xlf @@ -522,6 +522,41 @@ Verweisassemblys für .NET Framework-Verweise verwenden, wenn verfügbar (standardmäßig aktiviert). + + This XML comment is invalid: '{0}' + This XML comment is invalid: '{0}' + + + + This XML comment is invalid: multiple documentation entries for parameter '{0}' + This XML comment is invalid: multiple documentation entries for parameter '{0}' + + + + This XML comment is invalid: unknown parameter '{0}' + This XML comment is invalid: unknown parameter '{0}' + + + + This XML comment is invalid: missing 'cref' attribute for cross-reference + This XML comment is invalid: missing 'cref' attribute for cross-reference + + + + This XML comment is incomplete: no documentation for parameter '{0}' + This XML comment is incomplete: no documentation for parameter '{0}' + + + + This XML comment is invalid: missing 'name' attribute for parameter or parameter reference + This XML comment is invalid: missing 'name' attribute for parameter or parameter reference + + + + This XML comment is invalid: unresolved cross-reference '{0}' + This XML comment is invalid: unresolved cross-reference '{0}' + + Consider using 'yield!' instead of 'yield'. Verwenden Sie ggf. "yield!" anstelle von "yield". diff --git a/src/fsharp/xlf/FSComp.txt.es.xlf b/src/fsharp/xlf/FSComp.txt.es.xlf index 83ba01bb5a5..24077dfabb0 100644 --- a/src/fsharp/xlf/FSComp.txt.es.xlf +++ b/src/fsharp/xlf/FSComp.txt.es.xlf @@ -522,6 +522,41 @@ Use ensamblados de referencia para las referencias de .NET Framework cuando estén disponibles (habilitado de forma predeterminada). + + This XML comment is invalid: '{0}' + This XML comment is invalid: '{0}' + + + + This XML comment is invalid: multiple documentation entries for parameter '{0}' + This XML comment is invalid: multiple documentation entries for parameter '{0}' + + + + This XML comment is invalid: unknown parameter '{0}' + This XML comment is invalid: unknown parameter '{0}' + + + + This XML comment is invalid: missing 'cref' attribute for cross-reference + This XML comment is invalid: missing 'cref' attribute for cross-reference + + + + This XML comment is incomplete: no documentation for parameter '{0}' + This XML comment is incomplete: no documentation for parameter '{0}' + + + + This XML comment is invalid: missing 'name' attribute for parameter or parameter reference + This XML comment is invalid: missing 'name' attribute for parameter or parameter reference + + + + This XML comment is invalid: unresolved cross-reference '{0}' + This XML comment is invalid: unresolved cross-reference '{0}' + + Consider using 'yield!' instead of 'yield'. Considere la posibilidad de usar "yield!" en lugar de "yield". diff --git a/src/fsharp/xlf/FSComp.txt.fr.xlf b/src/fsharp/xlf/FSComp.txt.fr.xlf index 5e2edeccf43..505de283f8c 100644 --- a/src/fsharp/xlf/FSComp.txt.fr.xlf +++ b/src/fsharp/xlf/FSComp.txt.fr.xlf @@ -522,6 +522,41 @@ Utilisez des assemblys de référence pour les références .NET Framework quand ils sont disponibles (activé par défaut). + + This XML comment is invalid: '{0}' + This XML comment is invalid: '{0}' + + + + This XML comment is invalid: multiple documentation entries for parameter '{0}' + This XML comment is invalid: multiple documentation entries for parameter '{0}' + + + + This XML comment is invalid: unknown parameter '{0}' + This XML comment is invalid: unknown parameter '{0}' + + + + This XML comment is invalid: missing 'cref' attribute for cross-reference + This XML comment is invalid: missing 'cref' attribute for cross-reference + + + + This XML comment is incomplete: no documentation for parameter '{0}' + This XML comment is incomplete: no documentation for parameter '{0}' + + + + This XML comment is invalid: missing 'name' attribute for parameter or parameter reference + This XML comment is invalid: missing 'name' attribute for parameter or parameter reference + + + + This XML comment is invalid: unresolved cross-reference '{0}' + This XML comment is invalid: unresolved cross-reference '{0}' + + Consider using 'yield!' instead of 'yield'. Utilisez 'yield!' à la place de 'yield'. diff --git a/src/fsharp/xlf/FSComp.txt.it.xlf b/src/fsharp/xlf/FSComp.txt.it.xlf index d870e6feaac..b6527118704 100644 --- a/src/fsharp/xlf/FSComp.txt.it.xlf +++ b/src/fsharp/xlf/FSComp.txt.it.xlf @@ -522,6 +522,41 @@ Usa gli assembly di riferimento per i riferimenti a .NET Framework quando disponibili (abilitato per impostazione predefinita). + + This XML comment is invalid: '{0}' + This XML comment is invalid: '{0}' + + + + This XML comment is invalid: multiple documentation entries for parameter '{0}' + This XML comment is invalid: multiple documentation entries for parameter '{0}' + + + + This XML comment is invalid: unknown parameter '{0}' + This XML comment is invalid: unknown parameter '{0}' + + + + This XML comment is invalid: missing 'cref' attribute for cross-reference + This XML comment is invalid: missing 'cref' attribute for cross-reference + + + + This XML comment is incomplete: no documentation for parameter '{0}' + This XML comment is incomplete: no documentation for parameter '{0}' + + + + This XML comment is invalid: missing 'name' attribute for parameter or parameter reference + This XML comment is invalid: missing 'name' attribute for parameter or parameter reference + + + + This XML comment is invalid: unresolved cross-reference '{0}' + This XML comment is invalid: unresolved cross-reference '{0}' + + Consider using 'yield!' instead of 'yield'. Provare a usare 'yield!' invece di 'yield'. diff --git a/src/fsharp/xlf/FSComp.txt.ja.xlf b/src/fsharp/xlf/FSComp.txt.ja.xlf index 634025e3144..a361c41ff6b 100644 --- a/src/fsharp/xlf/FSComp.txt.ja.xlf +++ b/src/fsharp/xlf/FSComp.txt.ja.xlf @@ -2,7559 +2,7594 @@ - - Feature '{0}' is not available in F# {1}. Please use language version {2} or greater. - 機能 '{0}' は F# {1} では使用できません。{2} 以上の言語バージョンをお使いください。 + + The argument names in the signature '{0}' and implementation '{1}' do not match. The argument name from the signature file will be used. This may cause problems when debugging or profiling. + The argument names in the signature '{0}' and implementation '{1}' do not match. The argument name from the signature file will be used. This may cause problems when debugging or profiling. - - Feature '{0}' is not supported by target runtime. - 機能 '{0}' は、ターゲット ランタイムではサポートされていません。 + + The CallerMemberNameAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerFilePathAttribute. + The CallerMemberNameAttribute applied to parameter '{0}' will have no effect. It is overridden by the CallerFilePathAttribute. - - Feature '{0}' requires the F# library for language version {1} or greater. - Feature '{0}' requires the F# library for language version {1} or greater. + + 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)'. + 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)'. - - Available overloads:\n{0} - 使用可能なオーバーロード:\n{0} + + The {0} definitions for type '{1}' 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. + The {0} definitions for type '{1}' 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. - - A generic construct requires that a generic type parameter be known as a struct or reference type. Consider adding a type annotation. - A generic construct requires that a generic type parameter be known as a struct or reference type. Consider adding a type annotation. + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the abbreviations differ: {2} versus {3} + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the abbreviations differ: {2} versus {3} - - Known types of arguments: {0} - 既知の型の引数: {0} + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the abstract member '{2}' was required by the signature but was not specified by the implementation + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the abstract member '{2}' was required by the signature but was not specified by the implementation - - Known type of argument: {0} - 既知の型の引数: {0} + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the abstract member '{2}' was present in the implementation but not in the signature + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the abstract member '{2}' was present in the implementation but not in the signature - - Known return type: {0} - 既知の戻り値の型: {0} + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the accessibility specified in the signature is more than that specified in the implementation + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the accessibility specified in the signature is more than that specified in the implementation - - Known type parameters: {0} - 既知の型パラメーター: {0} + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because a CLI type representation is being hidden by a signature + The {0} definitions for type '{1}' in the signature and implementation are not compatible because a CLI type representation is being hidden by a signature - - Known type parameter: {0} - 既知の型パラメーター: {0} + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the field '{2}' 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'. + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the field '{2}' 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'. - - Argument at index {0} doesn't match - インデックス {0} の引数が一致しません + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the order of the fields is different in the signature and implementation + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the order of the fields is different in the signature and implementation - - Argument '{0}' doesn't match - 引数 '{0}' が一致しません + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the field {2} was required by the signature but was not specified by the implementation + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the field {2} was required by the signature but was not specified by the implementation - - The type provider designer assembly '{0}' could not be loaded from folder '{1}' 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: {2} - {3} - 依存関係がないか、または読み込めなかったため、型プロバイダーのデザイナー アセンブリ '{0}' をフォルダー '{1}' から読み込めませんでした。型プロバイダーのデザイナー アセンブリのすべての依存関係は、そのアセンブリと同じフォルダーに配置されている必要があります。次の例外が報告されました: {2} - {3} + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the field {2} was present in the implementation but not in the signature + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the field {2} was present in the implementation but not in the signature - - The type provider designer assembly '{0}' could not be loaded from folder '{1}'. The exception reported was: {2} - {3} - 型プロバイダーのデザイナー アセンブリ '{0}' をフォルダー '{1}' から読み込めませんでした。次の例外が報告されました: {2} - {3} + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the IL representations differ + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the IL representations differ - - Assembly attribute '{0}' refers to a designer assembly '{1}' which cannot be loaded or doesn't exist. The exception reported was: {2} - {3} - アセンブリ属性 '{0}' は、デザイナー アセンブリ '{1}' を参照していますが、これは読み込むことができないか、存在していません。報告された例外: {2} - {3} + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the implementation defines the {2} '{3}' but the signature does not (or does, but not in the same order) + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the implementation defines the {2} '{3}' but the signature does not (or does, but not in the same order) - - applicative computation expressions - 適用できる計算式 + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the implementation defines a struct but the signature defines a type with a hidden representation + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the implementation defines a struct but the signature defines a type with a hidden representation - - default interface member consumption - 既定のインターフェイス メンバーの消費 + + The {0} definitions for type '{1}' 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. + The {0} definitions for type '{1}' 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. - - dotless float32 literal - ドットなしの float32 リテラル + + The {0} definitions for type '{1}' 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. + The {0} definitions for type '{1}' 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. - - fixed-index slice 3d/4d - 固定インデックス スライス 3d/4d + + The {0} definitions for type '{1}' 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 + The {0} definitions for type '{1}' 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 - - from-end slicing - 開始と終了を指定したスライス + + The {0} definitions for type '{1}' 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 + The {0} definitions for type '{1}' 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 - - implicit yield - 暗黙的な yield + + The {0} definitions for type '{1}' 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. + The {0} definitions for type '{1}' 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. - - interfaces with multiple generic instantiation - interfaces with multiple generic instantiation + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature requires that the type supports the interface {2} but the interface has not been implemented + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature requires that the type supports the interface {2} but the interface has not been implemented - - nameof - nameof + + The {0} definitions in the signature and implementation are not compatible because the names differ. The type is called '{1}' in the signature file but '{2}' in implementation. + The {0} definitions in the signature and implementation are not compatible because the names differ. The type is called '{1}' in the signature file but '{2}' in implementation. - - nullable optional interop - Null 許容のオプションの相互運用 + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the number of {2}s differ + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the number of {2}s differ - - open type declaration - open type declaration + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the respective type parameter counts differ + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the respective type parameter counts differ - - overloads for custom operations - overloads for custom operations + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the representations differ + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the representations differ - - package management - パッケージの管理 + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature has an abbreviation while the implementation does not + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature has an abbreviation while the implementation does not - - whitespace relexation - 空白の緩和 + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature declares a {2} while the implementation declares a {3} + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature declares a {2} while the implementation declares a {3} - - single underscore pattern - 単一のアンダースコア パターン + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature defines the {2} '{3}' but the implementation does not (or does, but not in the same order) + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature defines the {2} '{3}' but the implementation does not (or does, but not in the same order) - - string interpolation - string interpolation + + The {0} definitions for type '{1}' 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. + The {0} definitions for type '{1}' 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. - - wild card in for loop - for ループのワイルド カード + + The {0} definitions for type '{1}' 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 + The {0} definitions for type '{1}' 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 - - witness passing for trait constraints in F# quotations - F# 引用での特性制約に対する監視の引き渡し + + The {0} definitions for type '{1}' 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 + The {0} definitions for type '{1}' 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 - - Interpolated strings may not use '%' format specifiers unless each is given an expression, e.g. '%d{{1+1}}'. - Interpolated strings may not use '%' format specifiers unless each is given an expression, e.g. '%d{{1+1}}'. + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the types are of different kinds + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the types are of different kinds - - .NET-style format specifiers such as '{{x,3}}' or '{{x:N5}}' may not be mixed with '%' format specifiers. - .NET-style format specifiers such as '{{x,3}}' or '{{x:N5}}' may not be mixed with '%' format specifiers. + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because a type representation is being hidden by a signature + The {0} definitions for type '{1}' in the signature and implementation are not compatible because a type representation is being hidden by a signature - - The '%P' specifier may not be used explicitly. - The '%P' specifier may not be used explicitly. + + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the types have different base types + The {0} definitions for type '{1}' in the signature and implementation are not compatible because the types have different base types - - 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. - 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. + + 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 {0} \nbut its signature specifies\n\t{1}. + 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 {0} \nbut its signature specifies\n\t{1}. - - - {0} - - {0} + + The exception definitions are not compatible because the CLI representations differ. The module contains the exception definition\n {0} \nbut its signature specifies\n\t{1} + The exception definitions are not compatible because the CLI representations differ. The module contains the exception definition\n {0} \nbut its signature specifies\n\t{1} - - From the end slicing with requires language version 5.0, use /langversion:preview. - 言語バージョン 5.0 が必要な最後からのスライスで、/langversion:preview を使用してください。 + + The exception definitions are not compatible because the exception declarations differ. The module contains the exception definition\n {0} \nbut its signature specifies\n\t{1}. + The exception definitions are not compatible because the exception declarations differ. The module contains the exception definition\n {0} \nbut its signature specifies\n\t{1}. - - Invalid directive '#{0} {1}' - Invalid directive '#{0} {1}' + + The exception definitions are not compatible because the field '{0}' was present in the implementation but not in the signature. The module contains the exception definition\n {1} \nbut its signature specifies\n\t{2}. + The exception definitions are not compatible because the field '{0}' was present in the implementation but not in the signature. The module contains the exception definition\n {1} \nbut its signature specifies\n\t{2}. - - a byte string may not be interpolated - a byte string may not be interpolated + + The exception definitions are not compatible because the field '{0}' was required by the signature but was not specified by the implementation. The module contains the exception definition\n {1} \nbut its signature specifies\n\t{2}. + The exception definitions are not compatible because the field '{0}' was required by the signature but was not specified by the implementation. The module contains the exception definition\n {1} \nbut its signature specifies\n\t{2}. - - A '}}' character must be escaped (by doubling) in an interpolated string. - A '}}' character must be escaped (by doubling) in an interpolated string. + + 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 {0} \nbut its signature specifies\n\t{1}. + 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 {0} \nbut its signature specifies\n\t{1}. - - 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. - 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. + + 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 {0} \nbut its signature specifies\n\t{1} + 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 {0} \nbut its signature specifies\n\t{1} - - Invalid interpolated string. Triple quote string literals may not be used in interpolated expressions. Consider using an explicit 'let' binding for the interpolation expression. - Invalid interpolated string. Triple quote string literals may not be used in interpolated expressions. Consider using an explicit 'let' binding for the interpolation expression. + + The exception definitions are not compatible because the exception abbreviations in the signature and implementation differ. The module contains the exception definition\n {0} \nbut its signature specifies\n\t{1}. + The exception definitions are not compatible because the exception abbreviations in the signature and implementation differ. The module contains the exception definition\n {0} \nbut its signature specifies\n\t{1}. - - Stream does not begin with a null resource and is not in '.RES' format. - ストリームは null リソースでは始まらず、'RES' 形式でもありません。 + + The module contains the field\n {0} \nbut its signature specifies\n {1} \nthe accessibility specified in the signature is more than that specified in the implementation + The module contains the field\n {0} \nbut its signature specifies\n {1} \nthe accessibility specified in the signature is more than that specified in the implementation - - Resource header beginning at offset {0} is malformed. - オフセット {0} で始まるリソース ヘッダーの形式に誤りがあります。 + + The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe 'literal' modifiers differ + The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe 'literal' modifiers differ - - Display the allowed values for language version, specify language version such as 'latest' or 'preview' - 言語バージョンで許可された値を表示し、'最新' や 'プレビュー' などの言語バージョンを指定する + + The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe 'mutable' modifiers differ + The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe 'mutable' modifiers differ - - Supported language versions: - サポートされる言語バージョン: + + The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe names differ + The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe names differ - - Unrecognized value '{0}' for --langversion use --langversion:? for complete list - --langversion の値 '{0}' が認識されません。完全なリストについては、--langversion:? を使用してください + + The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe 'static' modifiers differ + The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe 'static' modifiers differ - - The package management feature requires language version 5.0 use /langversion:preview - パッケージ管理機能では、言語バージョン 5.0 で /langversion:preview を使用する必要があります + + The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe types differ + The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe types differ - - Invalid interpolated string. This interpolated string expression fill is empty, an expression was expected. - Invalid interpolated string. This interpolated string expression fill is empty, an expression was expected. + + Invalid recursive reference to an abstract slot + Invalid recursive reference to an abstract slot - - Incomplete interpolated string begun at or before here - Incomplete interpolated string begun at or before here + + The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nthe accessibility specified in the signature is more than that specified in the implementation + The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nthe accessibility specified in the signature is more than that specified in the implementation - - Incomplete interpolated string expression fill begun at or before here - Incomplete interpolated string expression fill begun at or before here + + The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nThe respective number of data fields differ + The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nThe respective number of data fields differ - - Incomplete interpolated triple-quote string begun at or before here - Incomplete interpolated triple-quote string begun at or before here + + The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nThe names differ + The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nThe names differ - - Incomplete interpolated verbatim string begun at or before here - Incomplete interpolated verbatim string begun at or before here + + The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nThe types of the fields differ + The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nThe types of the fields differ - - Unexpected symbol '.' in member definition. Expected 'with', '=' or other token. - メンバー定義に予期しない記号 '.' があります。'with'、'=' またはその他のトークンが必要です。 + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is abstract and the other isn't + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is abstract and the other isn't - - Specify algorithm for calculating source file checksum stored in PDB. Supported values are: SHA1 or SHA256 (default) - PDB に格納されているソース ファイル チェックサムを計算するためのアルゴリズムを指定します。サポートされる値は次のとおりです: SHA1 または SHA256 (既定) + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe accessibility specified in the signature is more than that specified in the implementation + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe accessibility specified in the signature is more than that specified in the implementation - - Algorithm '{0}' is not supported - アルゴリズム '{0}' はサポートされていません + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe arities in the signature and implementation differ. The signature specifies that '{3}' is function definition or lambda expression accepting at least {4} 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 {5}: int -> (int -> int)\ninstead of\n\tval {6}: int -> int -> int. + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe arities in the signature and implementation differ. The signature specifies that '{3}' is function definition or lambda expression accepting at least {4} 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 {5}: int -> (int -> int)\ninstead of\n\tval {6}: int -> int -> int. - - #i is not supported by the registered PackageManagers - #i is not supported by the registered PackageManagers + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nAn arity was not inferred for this value + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nAn arity was not inferred for this value - - This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature. - この機能は、このバージョンの F# ではサポートされていません。この機能を使用するには、/langversion:preview の追加が必要な場合があります。 + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe mutability attributes differ + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe mutability attributes differ - - This is the wrong anonymous record. It should have the fields {0}. - この匿名レコードは正しくありません。フィールド {0} を含んでいる必要があります。 + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe compiled names differ + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe compiled names differ - - This anonymous record does not have enough fields. Add the missing fields {0}. - この匿名レコードには十分なフィールドがありません。不足しているフィールド {0} を追加してください。 + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe display names differ + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe display names differ - - This anonymous record has too many fields. Remove the extra fields {0}. - この匿名レコードはフィールドが多すぎます。不要なフィールド {0} を削除してください。 + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe CLI member names differ + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe CLI member names differ - - Invalid Anonymous Record type declaration. - Invalid Anonymous Record type declaration. + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is an extension member and the other is not + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is an extension member and the other is not - - Attributes cannot be applied to type extensions. - 属性を型拡張に適用することはできません。 + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is final and the other isn't + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is final and the other isn't - - Byref types are not allowed in an open type declaration. - Byref types are not allowed in an open type declaration. + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe generic parameters in the signature and implementation have different kinds. Perhaps there is a missing [<Measure>] attribute. + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe generic parameters in the signature and implementation have different kinds. Perhaps there is a missing [<Measure>] attribute. - - Mismatch in interpolated string. Interpolated strings may not use '%' format specifiers unless each is given an expression, e.g. '%d{{1+1}}' - Mismatch in interpolated string. Interpolated strings may not use '%' format specifiers unless each is given an expression, e.g. '%d{{1+1}}' + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe number of generic parameters in the signature and implementation differ (the signature declares {3} but the implementation declares {4} + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe number of generic parameters in the signature and implementation differ (the signature declares {3} but the implementation declares {4} - - Invalid alignment in interpolated string - Invalid alignment in interpolated string + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe inline flags differ + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe inline flags differ - - use! may not be combined with and! - use! を and! と組み合わせて使用することはできません + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe compiled representation of this method is as an instance member, but the signature indicates its compiled representation is as a static member + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe compiled representation of this method is as an instance member, but the signature indicates its compiled representation is as a static member - - Cannot assign a value to another value marked literal - Cannot assign a value to another value marked literal + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe literal constant values and/or attributes differ + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe literal constant values and/or attributes differ - - Cannot assign '{0}' to a value marked literal - Cannot assign '{0}' to a value marked literal + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe names differ + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe names differ - - The 'let! ... and! ...' construct may only be used if the computation expression builder defines either a '{0}' method or appropriate 'MergeSource' and 'Bind' methods - 'let! ... and! ...' コンストラクトは、コンピュテーション式ビルダーが '{0}' メソッドまたは適切な 'MergeSource' および 'Bind' メソッドのいずれかを定義している場合にのみ使用できます + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is a constructor/property and the other is not + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is a constructor/property and the other is not - - Invalid interpolated string. {0} - Invalid interpolated string. {0} + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is a type function and the other is not. The signature requires explicit type parameters if they are present in the implementation. + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is a type function and the other is not. The signature requires explicit type parameters if they are present in the implementation. - - Interface member '{0}' does not have a most specific implementation. - インターフェイス メンバー '{0}' には最も固有な実装がありません。 + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is marked as an override and the other isn't + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is marked as an override and the other isn't - - '{0}' cannot implement the interface '{1}' with the two instantiations '{2}' and '{3}' because they may unify. - '{0}' cannot implement the interface '{1}' with the two instantiations '{2}' and '{3}' because they may unify. + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe respective type parameter counts differ + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe respective type parameter counts differ - - You cannot implement the interface '{0}' with the two instantiations '{1}' and '{2}' because they may unify. - You cannot implement the interface '{0}' with the two instantiations '{1}' and '{2}' because they may unify. + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe compiled representation of this method is as a static member but the signature indicates its compiled representation is as an instance member + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe compiled representation of this method is as a static member but the signature indicates its compiled representation is as an instance member - - The type '{0}' does not define the field, constructor or member '{1}'. - 型 '{0}' は、フィールド、コンストラクター、またはメンバー '{1}' を定義していません。 + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is static and the other isn't + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is static and the other isn't - - The namespace '{0}' is not defined. - 名前空間 '{0}' が定義されていません。 + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe types differ + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe types differ - - The namespace or module '{0}' is not defined. - 名前空間またはモジュール '{0}' が定義されていません。 + + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is virtual and the other isn't + Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is virtual and the other isn't - - The field, constructor or member '{0}' is not defined. - フィールド、コンストラクター、またはメンバー '{0}' が定義されていません。 + + The mutable local '{0}' 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. + The mutable local '{0}' 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. - - The value, constructor, namespace or type '{0}' is not defined. - 値、コンストラクター、名前空間、または型 '{0}' が定義されていません。 + + Active pattern '{0}' 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' + Active pattern '{0}' 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' - - The value or constructor '{0}' is not defined. - 値またはコンストラクター '{0}' が定義されていません。 + + Active pattern '{0}' is not a function + Active pattern '{0}' is not a function - - The value, namespace, type or module '{0}' is not defined. - 値、名前空間、型、またはモジュール '{0}' が定義されていません。 + + Add . for indexer access. + Add . for indexer access. - - The constructor, module or namespace '{0}' is not defined. - コンストラクター、モジュール、または名前空間 '{0}' が定義されていません。 + + All elements of an array must be of the same type as the first element, which here is '{0}'. This element has type '{1}'. + All elements of an array must be of the same type as the first element, which here is '{0}'. This element has type '{1}'. - - The type '{0}' is not defined. - 型 '{0}' が定義されていません。 + + Found by AssemblyFoldersEx registry key + Found by AssemblyFoldersEx registry key - - The type '{0}' is not defined in '{1}'. - {1}' で型 '{0}' が定義されていません。 + + Found by AssemblyFolders registry key + Found by AssemblyFolders registry key - - The record label or namespace '{0}' is not defined. - レコード ラベルまたは名前空間 '{0}' が定義されていません。 + + Global Assembly Cache + Global Assembly Cache - - The record label '{0}' is not defined. - レコード ラベル '{0}' が定義されていません。 + + .NET Framework + .NET Framework - - Maybe you want one of the following: - 次のいずれかの可能性はありませんか: + + This indexer notation has been removed from the F# language + This indexer notation has been removed from the F# language - - The type parameter {0} is not defined. - 型パラメーター {0} が定義されていません。 + + Invalid expression on left of assignment + Invalid expression on left of assignment - - The pattern discriminator '{0}' is not defined. - パターン識別子 '{0}' が定義されていません。 + + Error while parsing embedded IL + Error while parsing embedded IL - - Replace with '{0}' - '{0}' で置換 + + Error while parsing embedded IL type + Error while parsing embedded IL type - - Add . for indexer access. - インデクサーにアクセスするには . を追加します。 + + A type with attribute 'CustomComparison' must have an explicit implementation of at least one of 'System.IComparable' or 'System.Collections.IStructuralComparable' + A type with attribute 'CustomComparison' must have an explicit implementation of at least one of 'System.IComparable' or 'System.Collections.IStructuralComparable' - - All elements of a list must be of the same type as the first element, which here is '{0}'. This element has type '{1}'. - リスト コンストラクター式のすべての要素は同じ型である必要があります。この式に必要な型は '{0}' ですが、ここでは型 '{1}' になっています。 + + The 'CustomEquality' attribute must be used in conjunction with the 'NoComparison' or 'CustomComparison' attributes + The 'CustomEquality' attribute must be used in conjunction with the 'NoComparison' or 'CustomComparison' attributes - - All elements of an array must be of the same type as the first element, which here is '{0}'. This element has type '{1}'. - 配列コンストラクター式の要素はすべて同じ型である必要があります。この式に必要な型は '{0}' ですが、ここでは型 '{1}' になっています。 + + A type with attribute 'CustomEquality' must have an explicit implementation of at least one of 'Object.Equals(obj)', 'System.IEquatable<_>' or 'System.Collections.IStructuralEquatable' + A type with attribute 'CustomEquality' must have an explicit implementation of at least one of 'Object.Equals(obj)', 'System.IEquatable<_>' or 'System.Collections.IStructuralEquatable' - - 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 '{0}'. - 'if' 式に 'else' ブランチがありません。'then' ブランチは型 '{0}' です。'if' はステートメントではなく式であるため、同じ型の値を返す 'else' ブランチを追加してください。 + + This type uses an invalid mix of the attributes 'NoEquality', 'ReferenceEquality', 'StructuralEquality', 'NoComparison' and 'StructuralComparison' + This type uses an invalid mix of the attributes 'NoEquality', 'ReferenceEquality', 'StructuralEquality', 'NoComparison' and 'StructuralComparison' - - The 'if' expression needs to have type '{0}' to satisfy context type requirements. It currently has type '{1}'. - コンテキストの型要件を満たすためには、'if' 式の型は '{0}' である必要があります。現在の型は '{1}' です。 + + 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 + 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 - - All branches of an 'if' expression must return values of the same type as the first branch, which here is '{0}'. This branch returns a value of type '{1}'. - if' 式のすべてのブランチは同じ型である必要があります。この式に必要な型は '{0}' ですが、ここでは型 '{1}' になっています。 + + 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 + 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 - - All branches of a pattern match expression must return values of the same type as the first branch, which here is '{0}'. This branch returns a value of type '{1}'. - パターン マッチ式のすべてのブランチは、同じ型の値を返す必要があります。最初のブランチが返した値の型は '{0}' ですが、このブランチが返した値の型は '{1}' です。 + + The 'NoEquality' attribute must be used in conjunction with the 'NoComparison' attribute + The 'NoEquality' attribute must be used in conjunction with the 'NoComparison' attribute - - A pattern match guard must be of type 'bool', but this 'when' expression is of type '{0}'. - パターン マッチ ガードは型 'bool' である必要がありますが、この 'when' 式は型 '{0}' です。 + + The 'ReferenceEquality' attribute cannot be used on structs. Consider using the 'StructuralEquality' attribute instead, or implement an override for 'System.Object.Equals(obj)'. + The 'ReferenceEquality' attribute cannot be used on structs. Consider using the 'StructuralEquality' attribute instead, or implement an override for 'System.Object.Equals(obj)'. - - A ';' is used to separate field values in records. Consider replacing ',' with ';'. - ';' は、レコード内でフィールド値を区切るために使われます。',' を ';' で置き換えることを検討してください。 + + Only record, union, exception and struct types may be augmented with the 'ReferenceEquality', 'StructuralEquality' and 'StructuralComparison' attributes + Only record, union, exception and struct types may be augmented with the 'ReferenceEquality', 'StructuralEquality' and 'StructuralComparison' attributes - - The '!' operator is used to dereference a ref cell. Consider using 'not expr' here. - '!' 演算子は ref セルの逆参照に使用されます。ここに 'not expr' を使用することをご検討ください。 + + A type with attribute 'ReferenceEquality' cannot have an explicit implementation of 'Object.Equals(obj)', 'System.IEquatable<_>' or 'System.Collections.IStructuralEquatable' + A type with attribute 'ReferenceEquality' cannot have an explicit implementation of 'Object.Equals(obj)', 'System.IEquatable<_>' or 'System.Collections.IStructuralEquatable' - - The non-generic type '{0}' does not expect any type arguments, but here is given {1} type argument(s) - 非ジェネリック型 '{0}' に型引数は使用できませんが、{1} 個の型引数があります + + The 'StructuralComparison' attribute must be used in conjunction with the 'StructuralEquality' attribute + The 'StructuralComparison' attribute must be used in conjunction with the 'StructuralEquality' attribute - - Consider using 'return!' instead of 'return'. - 'return' の代わりに 'return!' を使うことを検討してください。 + + The 'StructuralEquality' attribute must be used in conjunction with the 'NoComparison' or 'StructuralComparison' attributes + The 'StructuralEquality' attribute must be used in conjunction with the 'NoComparison' or 'StructuralComparison' attributes - - Use reference assemblies for .NET framework references when available (Enabled by default). - 使用可能な場合は、.NET Framework リファレンスの参照アセンブリを使用します (既定で有効)。 + + A type cannot have both the 'ReferenceEquality' and 'StructuralEquality' or 'StructuralComparison' attributes + A type cannot have both the 'ReferenceEquality' and 'StructuralEquality' or 'StructuralComparison' attributes - - Consider using 'yield!' instead of 'yield'. - 'yield' の代わりに 'yield!' を使うことを検討してください。 + + '{0}' is not a valid floating point argument + '{0}' is not a valid floating point argument - - \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. - \n1 つ以上の引数についてタプル型を指定する必要があります。指定した引数を追加のかっこ内にラップすることを検討するか、インターフェイスの定義を確認してください。 + + '{0}' is not a valid integer argument + '{0}' is not a valid integer argument - - Invalid warning number '{0}' - 警告番号 '{0}' が無効です + + Assembly resolution failure at or near this location + Assembly resolution failure at or near this location - - Invalid version string '{0}' - バージョン文字列 '{0}' が無効です + + Unable to read assembly '{0}' + Unable to read assembly '{0}' - - Invalid version file '{0}' - バージョン ファイル '{0}' が無効です + + The file extensions '.ml' and '.mli' are for ML compatibility + The file extensions '.ml' and '.mli' are for ML compatibility + + + + Source file '{0}' could not be found + Source file '{0}' could not be found + + + + Could not resolve assembly '{0}' + Could not resolve assembly '{0}' + + + + Could not resolve assembly '{0}' required by '{1}' + Could not resolve assembly '{0}' required by '{1}' + + + + The F#-compiled DLL '{0}' needs to be recompiled to be used with this version of F# + The F#-compiled DLL '{0}' needs to be recompiled to be used with this version of F# + + + + Directives inside modules are ignored + Directives inside modules are ignored - - Problem with filename '{0}': {1} - ファイル名 '{0}' に問題があります: {1} + + Error opening binary file '{0}': {1} + Error opening binary file '{0}': {1} - - No inputs specified - 入力が指定されていません + + File '{0}' not found alongside FSharp.Core. File expected in {1}. Consider upgrading to a more recent version of FSharp.Core, where this file is no longer be required. + File '{0}' not found alongside FSharp.Core. File expected in {1}. Consider upgrading to a more recent version of FSharp.Core, where this file is no longer be required. - - The '--pdb' option requires the '--debug' option to be used - '--pdb' オプションでは '--debug' オプションを使用する必要があります + + FSharp.Core.sigdata not found alongside FSharp.Core. File expected in {0}. Consider upgrading to a more recent version of FSharp.Core, where this file is no longer be required. + FSharp.Core.sigdata not found alongside FSharp.Core. File expected in {0}. Consider upgrading to a more recent version of FSharp.Core, where this file is no longer be required. - - The search directory '{0}' is invalid - 検索ディレクトリ '{0}' が無効です + + An implementation of the file or module '{0}' has already been given + An implementation of the file or module '{0}' has already been given - - The search directory '{0}' could not be found - 検索ディレクトリ '{0}' が見つかりませんでした + + An implementation of file or module '{0}' 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. + An implementation of file or module '{0}' 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. - - '{0}' is not a valid filename - '{0}' は有効なファイル名ではありません + + The declarations in this file will be placed in an implicit module '{0}' based on the file name '{1}'. 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. + The declarations in this file will be placed in an implicit module '{0}' based on the file name '{1}'. 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. '{0}' is not a valid assembly name - '{0}' は有効なアセンブリ名ではありません + '{0}' is not a valid assembly name - - Unrecognized privacy setting '{0}' for managed resource, valid options are 'public' and 'private' - マネージド リソースの認識されないプライバシー設定 '{0}'。有効なオプションは 'public' および 'private' です。 - - - - Unable to read assembly '{0}' - アセンブリ '{0}' を読み取れません + + '{0}' is not a valid filename + '{0}' is not a valid filename - - Assembly resolution failure at or near this location - この場所またはこの場所付近でアセンブリ解決エラーが発生しました + + Invalid directive. Expected '#I \"<path>\"'. + Invalid directive. Expected '#I \"<path>\"'. - - The declarations in this file will be placed in an implicit module '{0}' based on the file name '{1}'. 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. - このファイルの宣言は、ファイル名 '{1}' に基づいて、暗黙的なモジュール '{0}' に配置されます。ただし、これは有効な F# 識別子ではないため、その内容には他のファイルからアクセスできません。ファイル名を変更するか、ファイルの一番上に 'module' または 'namespace' の宣言を追加してください。 + + Invalid directive. Expected '#load \"<file>\" ... \"<file>\"'. + Invalid directive. Expected '#load \"<file>\" ... \"<file>\"'. - - 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. - ライブラリまたは複数ファイル アプリケーション内のファイルは、名前空間またはモジュールの宣言から開始する必要があります (例: 'namespace SomeNamespace.SubNamespace' or 'module SomeNamespace.SomeModule')。アプリケーションの最後のソース ファイルのみ、このような宣言を省略できます。 + + Invalid directive. Expected '#r \"<file-or-assembly>\"'. + Invalid directive. Expected '#r \"<file-or-assembly>\"'. - - 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. - ライブラリ内のファイル、または複数ファイル アプリケーション内のファイルでは、先頭に名前空間宣言またはモジュール宣言を置く必要があります。ファイルの先頭にモジュール宣言を置く場合、'=' 記号は指定できません。これが最上位レベルのモジュールである場合は、このエラーを解決するために = を削除することを検討してください。 + + Invalid directive. Expected '#time', '#time \"on\"' or '#time \"off\"'. + Invalid directive. Expected '#time', '#time \"on\"' or '#time \"off\"'. - - 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. - このファイルには、'module SomeNamespace.SomeModule' という形式の宣言が複数含まれます。1 ファイル内で指定できるこの形式の宣言は 1 つのみです。最初の名前空間宣言を使用するようにファイルを変更するか、'module ModuleName = ...' を使用してモジュールを定義してください。 + + Invalid module or namespace name + Invalid module or namespace name - - Option requires parameter: {0} - オプションにパラメーターが必要です: {0} + + Unrecognized privacy setting '{0}' for managed resource, valid options are 'public' and 'private' + Unrecognized privacy setting '{0}' for managed resource, valid options are 'public' and 'private' - - Source file '{0}' could not be found - ソース ファイル '{0}' が見つかりませんでした + + The search directory '{0}' is invalid + The search directory '{0}' is invalid The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - '{0}' のファイル拡張子は認識されません。ソース ファイルの拡張子は .fs、.fsi、.fsx、.fsscript、.ml、または .mli にする必要があります。 + The file extension of '{0}' is not recognized. Source files must have extension .fs, .fsi, .fsx, .fsscript, .ml or .mli. - - Could not resolve assembly '{0}' - アセンブリ '{0}' を解決できませんでした + + Invalid version file '{0}' + Invalid version file '{0}' - - Could not resolve assembly '{0}' required by '{1}' - {1}' に必要なアセンブリ '{0}' を解決できませんでした + + Invalid version string '{0}' + Invalid version string '{0}' - - Error opening binary file '{0}': {1} - バイナリ ファイル '{0}' を開くときにエラーが発生しました: {1} + + Invalid warning number '{0}' + Invalid warning number '{0}' - - The F#-compiled DLL '{0}' needs to be recompiled to be used with this version of F# - F# でコンパイルされたこの DLL '{0}' は、このバージョンの F# で使用するために再コンパイルする必要があります + + 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. + 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. - - Invalid directive. Expected '#I \"<path>\"'. - ディレクティブが無効です。'#I \"<path>\"' が必要でした。 + + 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. + 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. - - Invalid directive. Expected '#r \"<file-or-assembly>\"'. - ディレクティブが無効です。'#r \"<file-or-assembly>\"' という形式で指定する必要があります。 + + No inputs specified + No inputs specified - - Invalid directive. Expected '#load \"<file>\" ... \"<file>\"'. - ディレクティブが無効です。'#load \"<file>\" ... \"<file>\"' が必要でした。 + + Option requires parameter: {0} + Option requires parameter: {0} - - Invalid directive. Expected '#time', '#time \"on\"' or '#time \"off\"'. - ディレクティブが無効です。'#time'、'#time \"on\"'、または '#time \"off\"' という形式で指定する必要があります。 + + The '--pdb' option requires the '--debug' option to be used + The '--pdb' option requires the '--debug' option to be used - - Directives inside modules are ignored - モジュール内のディレクティブは無視されます + + Problem reading assembly '{0}': {1} + Problem reading assembly '{0}': {1} - - A signature for the file or module '{0}' has already been specified - ファイルまたはモジュール '{0}' のシグネチャは指定済みです + + Problem with filename '{0}': {1} + Problem with filename '{0}': {1} - - An implementation of file or module '{0}' 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. - ファイルまたはモジュール '{0}' の実装は指定済みです。型推論があるため、F# ではコンパイルの順序が重要です。必要に応じて、実装の前にシグネチャ ファイルを配置するよう、ファイルの順序を調整します。Visual Studio では、プロジェクト ファイル内の出現順にファイルが型チェックされます。プロジェクト ファイルは、手動で編集するか、ソリューション エクスプローラーを使用して調整することができます。 + + The search directory '{0}' could not be found + The search directory '{0}' could not be found - - An implementation of the file or module '{0}' has already been given - ファイルまたはモジュール '{0}' の実装は指定済みです + + A signature for the file or module '{0}' has already been specified + A signature for the file or module '{0}' has already been specified The signature file '{0}' 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. - シグネチャ ファイル '{0}' に対応する実装ファイルがありません。実装ファイルが存在する場合、シグネチャ ファイルおよび実装ファイル内の 'module' 宣言や 'namespace' 宣言が一致することを確認してください。 + The signature file '{0}' 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. - - '{0}' is not a valid integer argument - '{0}' は有効な整数引数ではありません + + Filename '{0}' contains invalid character '{1}' + Filename '{0}' contains invalid character '{1}' - - '{0}' is not a valid floating point argument - '{0}' は有効な浮動小数点引数ではありません + + The non-generic type '{0}' does not expect any type arguments, but here is given {1} type argument(s) + The non-generic type '{0}' does not expect any type arguments, but here is given {1} type argument(s) Unrecognized option: '{0}' - 認識されないオプション:'{0}' + Unrecognized option: '{0}' - - Invalid module or namespace name - モジュール名または名前空間名が無効です + + The operator '{0}' cannot be resolved. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. + The operator '{0}' cannot be resolved. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. - - Error reading/writing metadata for the F# compiled DLL '{0}'. Was the DLL compiled with an earlier version of the F# compiler? (error: '{1}'). - F# でコンパイルした DLL '{0}' のメタデータの読み取り/書き込み中にエラーが発生しました。旧バージョンの F# コンパイラーでコンパイルした DLL ですか? (エラー: '{1}') + + Lowercase literal '{0}' is being shadowed by a new pattern with the same name. Only uppercase and module-prefixed literals can be used as named patterns. + Lowercase literal '{0}' is being shadowed by a new pattern with the same name. Only uppercase and module-prefixed literals can be used as named patterns. - - The type/module '{0}' is not a concrete module or type - 型/モジュール '{0}' は具象モジュールまたは具象型ではありません + + Type inference caused the type variable {0} to escape its scope. Consider adding an explicit type parameter declaration or adjusting your code to be less generic. + Type inference caused the type variable {0} to escape its scope. Consider adding an explicit type parameter declaration or adjusting your code to be less generic. - - The type '{0}' has an inline assembly code representation - 型 '{0}' にはインライン アセンブラー コード表現があります + + Type inference caused an inference type variable to escape its scope. Consider adding type annotations to make your code less generic. + Type inference caused an inference type variable to escape its scope. Consider adding type annotations to make your code less generic. - - A namespace and a module named '{0}' both occur in two parts of this assembly - '{0}' という名前空間とモジュールの両方がこのアセンブリの 2 か所で発生しています + + Redundant arguments are being ignored in function '{0}'. Expected {1} but got {2} arguments. + Redundant arguments are being ignored in function '{0}'. Expected {1} but got {2} arguments. - - Two modules named '{0}' occur in two parts of this assembly - '{0}' という 2 つのモジュールがこのアセンブリの 2 か所で使用されています + + The attribute type '{0}' has 'AllowMultiple=false'. Multiple instances of this attribute cannot be attached to a single language element. + The attribute type '{0}' has 'AllowMultiple=false'. Multiple instances of this attribute cannot be attached to a single language element. - - Two type definitions named '{0}' occur in namespace '{1}' in two parts of this assembly - {0}' という 2 つの型の定義が、このアセンブリの 2 か所の名前空間 '{1}' で発生しています + + 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. + 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. - - A module and a type definition named '{0}' occur in namespace '{1}' in two parts of this assembly - {0}' というモジュールおよび型の定義が、このアセンブリの 2 か所の名前空間 '{1}' で発生しています + + The byref-typed variable '{0}' is used in an invalid way. Byrefs cannot be captured by closures or passed to inner functions. + The byref-typed variable '{0}' is used in an invalid way. Byrefs cannot be captured by closures or passed to inner functions. - - Invalid member signature encountered because of an earlier error - 前に発生しているエラーのために、メンバーのシグネチャが無効です + + A type would store a byref typed value. This is not permitted by Common IL. + A type would store a byref typed value. This is not permitted by Common IL. - - This value does not have a valid property setter type - この値には、有効なプロパティの set アクセス操作子の型がありません + + Methods with curried arguments cannot declare 'out', 'ParamArray', 'optional', 'ReflectedDefinition', 'byref', 'CallerLineNumber', 'CallerMemberName', or 'CallerFilePath' arguments + Methods with curried arguments cannot declare 'out', 'ParamArray', 'optional', 'ReflectedDefinition', 'byref', 'CallerLineNumber', 'CallerMemberName', or 'CallerFilePath' arguments - - Invalid form for a property getter. At least one '()' argument is required when using the explicit syntax. - プロパティのゲッターの形式が無効です。明示的な構文を使用する場合、少なくとも 1 つの '()' 引数が必要です。 + + Duplicate method. The method '{0}' has the same name and signature as another method in type '{1}'. + Duplicate method. The method '{0}' has the same name and signature as another method in type '{1}'. - - Invalid form for a property setter. At least one argument is required. - プロパティの set アクセス操作子の形式が無効です。少なくとも 1 つの引数が必要です。 + + The method '{0}' has curried arguments but has the same name as another method in type '{1}'. Methods with curried arguments cannot be overloaded. Consider using a method taking tupled arguments. + The method '{0}' has curried arguments but has the same name as another method in type '{1}'. Methods with curried arguments cannot be overloaded. Consider using a method taking tupled arguments. - - Unexpected use of a byref-typed variable - byref 型変数の予期しない使用方法です: + + Duplicate method. The abstract method '{0}' has the same name and signature as an abstract method in an inherited type. + Duplicate method. The abstract method '{0}' has the same name and signature as an abstract method in an inherited type. - - Invalid mutation of a constant expression. Consider copying the expression to a mutable local, e.g. 'let mutable x = ...'. - 定数式の変更は無効です。変更可能なローカルに式をコピーしてください (たとえば、'let mutable x = ...')。 + + Duplicate method. The abstract method '{0}' 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. + Duplicate method. The abstract method '{0}' 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. - - 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 - この操作で元の値が変更されないように、値はコピーされました + + Duplicate method. The method '{0}' has the same name and signature as another method in type '{1}' once tuples, functions, units of measure and/or provided types are erased. + Duplicate method. The method '{0}' has the same name and signature as another method in type '{1}' once tuples, functions, units of measure and/or provided types are erased. - - Recursively defined values cannot appear directly as part of the construction of a tuple value within a recursive binding - 再帰的に定義された値は、再帰的な束縛内にあるタプル値の構造の一部として直接使用することはできません。 + + Duplicate property. The property '{0}' has the same name and signature as another property in type '{1}'. + Duplicate property. The property '{0}' has the same name and signature as another property in type '{1}'. - - Recursive values cannot appear directly as a construction of the type '{0}' within a recursive binding. This feature has been removed from the F# language. Consider using a record instead. - 再帰的な値は、再帰的な束縛内の型 '{0}' の構造として直接使用することはできません。この機能は F# 言語から削除されました。代わりにレコードを使用してください。 + + Duplicate property. The property '{0}' has the same name and signature as another property in type '{1}' once tuples, functions, units of measure and/or provided types are erased. + Duplicate property. The property '{0}' has the same name and signature as another property in type '{1}' once tuples, functions, units of measure and/or provided types are erased. - - Recursive values cannot be directly assigned to the non-mutable field '{0}' of the type '{1}' within a recursive binding. Consider using a mutable field instead. - 再帰的な値は、再帰的な束縛内の型 '{1}' の変更可能ではないフィールド '{0}' に直接割り当てることはできません。代わりに変更可能なフィールドを使用してください。 + + A function labeled with the 'EntryPointAttribute' attribute must be the last declaration in the last file in the compilation sequence. + A function labeled with the 'EntryPointAttribute' attribute must be the last declaration in the last file in the compilation sequence. - - Unexpected decode of AutoOpenAttribute - AutoOpenAttribute の予期しないデコードです: + + Calls to 'reraise' may only occur directly in a handler of a try-with + Calls to 'reraise' may only occur directly in a handler of a try-with - - Unexpected decode of InternalsVisibleToAttribute - InternalsVisibleToAttribute の予期しないデコードです: + + A type instantiation involves a byref type. This is not permitted by the rules of Common IL. + A type instantiation involves a byref type. This is not permitted by the rules of Common IL. - - Unexpected decode of InterfaceDataVersionAttribute - InterfaceDataVersionAttribute の予期しないデコードです: + + Feature '{0}' is not available in F# {1}. Please use language version {2} or greater. + Feature '{0}' is not available in F# {1}. Please use language version {2} or greater. - - Active patterns cannot return more than 7 possibilities - アクティブ パターンが返すことができる結果は 7 個以下です + + Feature '{0}' is not supported by target runtime. + Feature '{0}' is not supported by target runtime. - - This is not a valid constant expression or custom attribute value - これは有効な定数式でもカスタム属性値でもありません + + Feature '{0}' requires the F# library for language version {1} or greater. + Feature '{0}' requires the F# library for language version {1} or greater. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe mutability attributes differ - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。変更可能属性が異なります。 + + The type of a first-class function cannot contain byrefs + The type of a first-class function cannot contain byrefs - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe names differ - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。名前が異なります。 + + A property's getter and setter must have the same type. Property '{0}' has getter of type '{1}' but setter of type '{2}'. + A property's getter and setter must have the same type. Property '{0}' has getter of type '{1}' but setter of type '{2}'. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe compiled names differ - モジュール '{0}' には\n {1} \nが含まれていますが、シグネチャには\n {2} \nが指定されています。コンパイル名が異なります。 + + The property '{0}' of type '{1}' has a getter and a setter that do not match. If one is abstract then the other must be as well. + The property '{0}' of type '{1}' has a getter and a setter that do not match. If one is abstract then the other must be as well. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe display names differ - モジュール '{0}' には\n {1} \nが含まれていますが、シグネチャには\n {2} \nが指定されています。表示名が異なります。 + + Invalid custom attribute value (not a constant or literal) + Invalid custom attribute value (not a constant or literal) - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe accessibility specified in the signature is more than that specified in the implementation - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャでは\n {2} \nを指定しています。シグネチャに指定されたアクセシビリティの方が、実装よりも高い設定です。 + + The parameter '{0}' has an invalid type '{1}'. This is not permitted by the rules of Common IL. + The parameter '{0}' has an invalid type '{1}'. This is not permitted by the rules of Common IL. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe inline flags differ - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。インライン フラグが異なります。 + + The function or method has an invalid return type '{0}'. This is not permitted by the rules of Common IL. + The function or method has an invalid return type '{0}'. This is not permitted by the rules of Common IL. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe literal constant values and/or attributes differ - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。リテラル定数値、属性、またはその両方が異なります。 + + 'base' values may only be used to make direct calls to the base implementations of overridden members + 'base' values may only be used to make direct calls to the base implementations of overridden members - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is a type function and the other is not. The signature requires explicit type parameters if they are present in the implementation. - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。一方は型関数ですが、もう一方は違います。型パラメーターが実装にある場合、シグネチャには明示的な型パラメーターが必要です。 + + The member '{0}' is used in an invalid way. A use of '{1}' has been inferred prior to its definition at or near '{2}'. This is an invalid forward reference. + The member '{0}' is used in an invalid way. A use of '{1}' has been inferred prior to its definition at or near '{2}'. This is an invalid forward reference. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe respective type parameter counts differ - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。それぞれの型パラメーター数が異なります。 + + This type implements the same interface at different generic instantiations '{0}' and '{1}'. This is not permitted in this version of F#. + This type implements the same interface at different generic instantiations '{0}' and '{1}'. This is not permitted in this version of F#. + + + + The address of the field '{0}' cannot be used at this point + The address of the field '{0}' cannot be used at this point + + + + The address of an array element cannot be used at this point + The address of an array element cannot be used at this point + + + + The address of the variable '{0}' cannot be used at this point + The address of the variable '{0}' cannot be used at this point - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe types differ - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。型が異なります。 + + The address of the static field '{0}' cannot be used at this point + The address of the static field '{0}' cannot be used at this point - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is an extension member and the other is not - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。一方は拡張メンバーですが、もう一方は違います。 + + The address of the variable '{0}' 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. + The address of the variable '{0}' 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. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nAn arity was not inferred for this value - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。この値の項数は推論されませんでした。 + + 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. + 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. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe number of generic parameters in the signature and implementation differ (the signature declares {3} but the implementation declares {4} - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。シグネチャと実装のジェネリック パラメーター数が異なります (シグネチャは {3} 個を宣言しましたが、実装は {4} 個です)。 + + A byref typed value would be stored here. Top-level let-bound byref values are not permitted. + A byref typed value would be stored here. Top-level let-bound byref values are not permitted. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe generic parameters in the signature and implementation have different kinds. Perhaps there is a missing [<Measure>] attribute. - モジュール '{0}' には\n {1} \nが含まれていますが、シグネチャで指定されているのは\n {2} です \nシグネチャと実装の汎用パラメーターの種類が異なります。[<Measure>] 属性が欠落している可能性があります。 + + The byref typed value '{0}' cannot be used at this point + The byref typed value '{0}' cannot be used at this point - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe arities in the signature and implementation differ. The signature specifies that '{3}' is function definition or lambda expression accepting at least {4} 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 {5}: int -> (int -> int)\ninstead of\n\tval {6}: int -> int -> int. - モジュール '{0}' には\n {1} が含まれていますが、 \nシグネチャでは\n {2} が指定されています \nシグネチャと実装の項数が異なります。シグネチャは、'{3}' が {4} 個以上の引数を受け入れる関数定義またはラムダ式であると指定していますが、実装は計算された関数値です。計算された関数値が許可された実装であることを宣言するには、シグネチャの型をかっこで囲んでください。たとえば、\n\tval {6}: int -> int -> int ではなく、\n\tval {5}: int -> (int -> int) と指定します。 + + The type abbreviation contains byrefs. This is not permitted by F#. + The type abbreviation contains byrefs. This is not permitted by F#. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe CLI member names differ - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。CLI メンバー名が異なります。 + + 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. + 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. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is static and the other isn't - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。一方は静的ですが、もう一方は違います。 + + Type '{0}' is illegal because in byref<T>, T cannot contain byref types. + Type '{0}' is illegal because in byref<T>, T cannot contain byref types. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is virtual and the other isn't - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。一方は仮想ですが、もう一方は違います。 + + First-class uses of the address-of operators are not permitted + First-class uses of the address-of operators are not permitted - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is abstract and the other isn't - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。一方は抽象ですが、もう一方は違います。 + + Using the 'nameof' operator as a first-class function value is not permitted. + Using the 'nameof' operator as a first-class function value is not permitted. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is final and the other isn't - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。一方は final ですが、もう一方は違います。 + + First-class uses of the 'reraise' function is not permitted + First-class uses of the 'reraise' function is not permitted - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is marked as an override and the other isn't - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。一方はオーバーライドとマークされていますが、もう一方は違います。 + + First-class uses of the expression-splicing operator are not permitted + First-class uses of the expression-splicing operator are not permitted - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nOne is a constructor/property and the other is not - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。一方はコンストラクター/プロパティですが、もう一方は違います。 + + ReflectedDefinitionAttribute may not be applied to an instance member on a struct type, because the instance member takes an implicit 'this' byref parameter + ReflectedDefinitionAttribute may not be applied to an instance member on a struct type, because the instance member takes an implicit 'this' byref parameter - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe compiled representation of this method is as a static member but the signature indicates its compiled representation is as an instance member - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。このメソッドのコンパイル済み表現は静的メンバーとして指定されていますが、シグネチャが示すコンパイル済み表現はインスタンス メンバーです。 + + 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. + 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. - - Module '{0}' contains\n {1} \nbut its signature specifies\n {2} \nThe compiled representation of this method is as an instance member, but the signature indicates its compiled representation is as a static member - モジュール '{0}' には\n {1} \nが含まれますが、シグネチャには\n {2} \nを指定しています。このメソッドのコンパイル済み表現はインスタンス メンバーとして指定されていますが、シグネチャが示すコンパイル済み表現は静的メンバーです。 + + The Span or IsByRefLike variable '{0}' cannot be used at this point. This is to ensure the address of the local value does not escape its scope. + The Span or IsByRefLike variable '{0}' cannot be used at this point. This is to ensure the address of the local value does not escape its scope. - - The {0} definitions in the signature and implementation are not compatible because the names differ. The type is called '{1}' in the signature file but '{2}' in implementation. - シグネチャおよび実装内の {0} 定義は、名前が異なるため、互換性がありません。この型はシグネチャ ファイルでは '{1}' という名前ですが、実装では '{2}' という名前です。 + + This value can't be assigned because the target '{0}' 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. + This value can't be assigned because the target '{0}' 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. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the respective type parameter counts differ - 型パラメーターの数が異なるため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + 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. + 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. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the accessibility specified in the signature is more than that specified in the implementation - シグネチャに指定されたアクセシビリティが実装の指定よりも高いため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + The property '{0}' has the same name as another property in type '{1}', but one takes indexer arguments and the other does not. You may be missing an indexer argument to one of your properties. + The property '{0}' has the same name as another property in type '{1}', but one takes indexer arguments and the other does not. You may be missing an indexer argument to one of your properties. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature requires that the type supports the interface {2} but the interface has not been implemented - シグネチャでは型がインターフェイス {2} をサポートする必要がありますが、インターフェイスが実装されていないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + The property '{0}' has the same name as a method in type '{1}'. + The property '{0}' has the same name as a method in type '{1}'. - - The {0} definitions for type '{1}' 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 - 実装では表現としてこの型に null を使用できると指定していますが、シグネチャは指定していないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + 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. + 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. - - The {0} definitions for type '{1}' 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 - 実装では特別な値としてこの型に null を使用できると指定していますが、シグネチャは指定していないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + [<ReflectedDefinition>] terms cannot contain uses of the prefix splice operator '%' + [<ReflectedDefinition>] terms cannot contain uses of the prefix splice operator '%' - - The {0} definitions for type '{1}' 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 - シグネチャでは表現としてこの型に null を使用できると指定していますが、実装では指定していないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + A method return type would contain byrefs which is not permitted + A method return type would contain byrefs which is not permitted - - The {0} definitions for type '{1}' 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 - シグネチャでは特別な値としてこの型に null を使用できると指定していますが、実装は指定していないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + Expression-splicing operators may only be used within quotations + Expression-splicing operators may only be used within quotations - - The {0} definitions for type '{1}' 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. - シグネチャと実装の型 '{1}' の {0} 定義に互換性がありません。実装の種類はシールドですが、シグネチャではシールドが暗黙的に示されていません。シグネチャに [<Sealed>] 属性を追加してください。 + + Struct members cannot return the address of fields of the struct by reference + Struct members cannot return the address of fields of the struct by reference - - The {0} definitions for type '{1}' 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. - シグネチャと実装の種類 '{1}' の {0} 定義に互換性がありません。実装の種類はシールド型ではありませんが、シグネチャは暗黙的にシールド型に設定されています。実装に [<Sealed>] 属性を追加することを検討してください。 + + 'System.Void' can only be used as 'typeof<System.Void>' in F# + 'System.Void' can only be used as 'typeof<System.Void>' in F# - - The {0} definitions for type '{1}' 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. - シグネチャと実装の型 '{1}' の {0} 定義に互換性がありません。実装は抽象クラスですが、シグネチャは抽象クラスではありません。シグネチャに [<AbstractClass>] 属性を追加してください。 + + A type variable has been constrained by multiple different class types. A type variable may only have one class constraint. + A type variable has been constrained by multiple different class types. A type variable may only have one class constraint. - - The {0} definitions for type '{1}' 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. - シグネチャと実装の型 '{1}' の {0} の定義には互換性がありません。シグネチャは抽象クラスですが、実装は抽象クラスではありません。実装に [<AbstractClass>] 属性を追加してください。 + + The type '{0}' is less accessible than the value, member or type '{1}' it is used in. + The type '{0}' is less accessible than the value, member or type '{1}' it is used in. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the types have different base types - 型の基本型が異なるため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + compiled form of the union case + compiled form of the union case - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the number of {2}s differ - {2} の数が異なるため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + default augmentation of the union case + default augmentation of the union case - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature defines the {2} '{3}' but the implementation does not (or does, but not in the same order) - シグネチャでは {2} '{3}' を定義していますが、実装では定義していないため (または定義していても同じ順序ではないため)、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + The recursive object reference '{0}' 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. + The recursive object reference '{0}' 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. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the implementation defines the {2} '{3}' but the signature does not (or does, but not in the same order) - 実装では {2} '{3}' を定義していますが、シグネチャでは定義していないため (または定義していても同じ順序ではないため)、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + The value '{0}' is unused + The value '{0}' is unused - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the implementation defines a struct but the signature defines a type with a hidden representation - 実装では構造体を定義していますが、シグネチャでは隠ぺいされた表現で型を定義しているため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + 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 + 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 - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because a CLI type representation is being hidden by a signature - CLI の型表現がシグネチャによって隠ぺいされているため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + The variable '{0}' is used in an invalid way + The variable '{0}' is used in an invalid way - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because a type representation is being hidden by a signature - 型表現がシグネチャによって隠ぺいされているため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + A ';' is used to separate field values in records. Consider replacing ',' with ';'. + A ';' is used to separate field values in records. Consider replacing ',' with ';'. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the types are of different kinds - 型の種類が異なるため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + The conversion from {0} to {1} is a compile-time safe upcast, not a downcast. Consider using 'upcast' instead of 'downcast'. + The conversion from {0} to {1} is a compile-time safe upcast, not a downcast. Consider using 'upcast' instead of 'downcast'. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the IL representations differ - IL 表現が異なるため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + The conversion from {0} to {1} is a compile-time safe upcast, not a downcast. Consider using the :> (upcast) operator instead of the :?> (downcast) operator. + The conversion from {0} to {1} is a compile-time safe upcast, not a downcast. Consider using the :> (upcast) operator instead of the :?> (downcast) operator. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the representations differ - シグネチャおよび実装内の型 '{1}' の {0} 定義は、表現が異なるため、互換性がありません + + The dependency manager extension {0} could not be loaded. Message: {1} + The dependency manager extension {0} could not be loaded. Message: {1} - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the field {2} was present in the implementation but not in the signature - フィールド {2} が実装にはありますがシグネチャにはないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + The variable '{0}' is bound in a quotation but is used as part of a spliced expression. This is not permitted since it may escape its scope. + The variable '{0}' is bound in a quotation but is used as part of a spliced expression. This is not permitted since it may escape its scope. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the order of the fields is different in the signature and implementation - フィールドの順序がシグネチャと実装とで異なるため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + Inner generic functions are not permitted in quoted expressions. Consider adding some type constraints until this function is no longer generic. + Inner generic functions are not permitted in quoted expressions. Consider adding some type constraints until this function is no longer generic. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the field {2} was required by the signature but was not specified by the implementation - シグネチャにはフィールド {2} が必要ですが、実装では指定されていないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + A quotation may not involve an assignment to or taking the address of a captured local variable + A quotation may not involve an assignment to or taking the address of a captured local variable - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the field '{2}' 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'. - フィールド '{2}' が実装にはありますがシグネチャにはないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません。この型のシグネチャでは、構造体型のフィールドを公開する必要があります。ただし、フィールドのラベルは 'private' または 'internal' のままにすることもできます。 + + Quotations cannot contain expressions that make member constraint calls, or uses of operators that implicitly resolve to a member constraint call + Quotations cannot contain expressions that make member constraint calls, or uses of operators that implicitly resolve to a member constraint call - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the abstract member '{2}' was required by the signature but was not specified by the implementation - シグネチャには抽象メンバー '{2}' が必要ですが、実装では指定されていないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + Quotations cannot contain expressions that take the address of a field + Quotations cannot contain expressions that take the address of a field - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the abstract member '{2}' was present in the implementation but not in the signature - 抽象メンバー '{2}' が実装にはありますがシグネチャにはないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + Quotations cannot contain array pattern matching + Quotations cannot contain array pattern matching - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature declares a {2} while the implementation declares a {3} - シグネチャは {2} を宣言していますが、実装では {3} を宣言しているため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + Quotations cannot contain descending for loops + Quotations cannot contain descending for loops - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the abbreviations differ: {2} versus {3} - シグネチャおよび実装内の型 '{1}' の {0} 定義は、省略形が異なるため ({2} と {3})、互換性がありません + + Quotations cannot contain uses of generic expressions + Quotations cannot contain uses of generic expressions - - The {0} definitions for type '{1}' 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. - 省略形がシグネチャによって隠ぺいされているため、シグネチャおよび実装の型 '{1}' の {0} 定義に互換性がありません。省略形は他の CLI 言語から参照できるようにする必要があります。シグネチャ内の省略形を参照できるようにしてください。 + + 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. + 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. - - The {0} definitions for type '{1}' in the signature and implementation are not compatible because the signature has an abbreviation while the implementation does not - シグネチャには省略形がありますが、実装にはないため、シグネチャおよび実装内の型 '{1}' の {0} 定義は互換性がありません + + Quotations cannot contain inline assembly code or pattern matching on arrays + Quotations cannot contain inline assembly code or pattern matching on arrays - - The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nThe names differ - モジュールにはコンストラクター\n {0} \nが含まれますが、シグネチャでは\n {1} \nを指定しています。名前が異なります。 + + Quotations cannot contain object expressions + Quotations cannot contain object expressions - - The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nThe respective number of data fields differ - モジュールにはコンストラクター\n {0} \nが含まれますが、シグネチャでは\n {1} \nを指定しています。データ フィールドの数が異なります。 + + Quotations cannot contain expressions that fetch static fields + Quotations cannot contain expressions that fetch static fields - - The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nThe types of the fields differ - モジュールにはコンストラクター\n {0} \nが含まれますが、シグネチャでは\n {1} \nを指定しています。フィールドの型が異なります。 + + Quotations cannot contain this kind of constant + Quotations cannot contain this kind of constant - - The module contains the constructor\n {0} \nbut its signature specifies\n {1} \nthe accessibility specified in the signature is more than that specified in the implementation - モジュールにはコンストラクター\n {0} \nが含まれますが、シグネチャでは\n {1} \nを指定しています。シグネチャに指定されたアクセシビリティの方が、実装よりも高い設定です。 + + Quotations cannot contain this kind of pattern match + Quotations cannot contain this kind of pattern match - - The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe names differ - モジュールにはフィールド\n {0} \nが含まれますが、シグネチャでは\n {1} \nを指定しています。名前が異なります。 + + Quotations cannot contain this kind of type + Quotations cannot contain this kind of type - - The module contains the field\n {0} \nbut its signature specifies\n {1} \nthe accessibility specified in the signature is more than that specified in the implementation - モジュールにはフィールド\n {0} \nが含まれますが、シグネチャでは\n {1} \nを指定しています。シグネチャに指定されたアクセシビリティの方が、実装よりも高い設定です。 + + Quotations cannot contain expressions that fetch union case indexes + Quotations cannot contain expressions that fetch union case indexes - - The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe 'static' modifiers differ - モジュールにはフィールド\n {0} \nが含まれますが、シグネチャでは\n {1} \nを指定しています。'static' 修飾子が異なります。 + + Quotations cannot contain expressions that require byref pointers + Quotations cannot contain expressions that require byref pointers - - The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe 'mutable' modifiers differ - モジュールにはフィールド\n {0} \nが含まれますが、シグネチャでは\n {1} \nを指定しています。'mutable' 修飾子が異なります。 + + Quotations cannot contain expressions that set fields in exception values + Quotations cannot contain expressions that set fields in exception values - - The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe 'literal' modifiers differ - モジュールにはフィールド\n {0} \nが含まれますが、シグネチャでは\n {1} \nを指定しています。'literal' 修飾子が異なります。 + + Quotations cannot contain expressions that set union case fields + Quotations cannot contain expressions that set union case fields - - The module contains the field\n {0} \nbut its signature specifies\n {1} \nThe types differ - モジュールにはフィールド\n {0} \nが含まれますが、シグネチャでは\n {1} \nを指定しています。型が異なります。 + + Argument length mismatch + Argument length mismatch - - 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. '{0}' and '{1}'. Consider using type annotations to resolve the ambiguity - この場所またはその付近にあるジェネリック コンストラクトの暗黙的なインスタンス化を解決できませんでした。これは、関連性のない複数の型に解決される可能性があるためです (たとえば、'{0}' と '{1}')。あいまいさを解決するために、型の注釈を使用してください。 + + The argument types don't match + The argument types don't match - - Could not resolve the ambiguity inherent in the use of a 'printf'-style format string - 'printf' 形式の書式指定文字列の使用に関して、あいまいな継承を解決できませんでした + + Available overloads:\n{0} + Available overloads:\n{0} - - Could not resolve the ambiguity in the use of a generic construct with an 'enum' constraint at or near this position - この位置、またはこの位置付近にある 'enum' 制約を含むジェネリック コンストラクトの使用に関して、あいまいさを解決できませんでした + + Candidates:\n{0} + Candidates:\n{0} - - Could not resolve the ambiguity in the use of a generic construct with a 'delegate' constraint at or near this position - この位置、またはこの位置付近にある 'delegate' 制約を含むジェネリック コンストラクトの使用に関して、あいまいさを解決できませんでした + + 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 '_'. + 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 '_'. - - Invalid value - 無効な値 + + The object constructor '{0}' has no argument or settable return property '{1}'. {2}. + The object constructor '{0}' has no argument or settable return property '{1}'. {2}. - - The signature and implementation are not compatible because the respective type parameter counts differ - それぞれの型パラメーターの数が異なるため、シグネチャおよび実装は互換性がありません + + The object constructor '{0}' takes {1} argument(s) but is here given {2}. The required signature is '{3}'. + The object constructor '{0}' takes {1} argument(s) but is here given {2}. The required signature is '{3}'. - - - 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 - クラス/シグネチャの型パラメーターには、メンバー/実装の型パラメーターとは異なるコンパイル時の要件があるため、シグネチャと実装には互換性がありません + + + The object constructor '{0}' takes {1} argument(s) but is here given {2}. The required signature is '{3}'. If some of the arguments are meant to assign values to properties, consider separating those arguments with a comma (','). + The object constructor '{0}' takes {1} argument(s) but is here given {2}. The required signature is '{3}'. If some of the arguments are meant to assign values to properties, consider separating those arguments with a comma (','). - - The signature and implementation are not compatible because the declaration of the type parameter '{0}' requires a constraint of the form {1} - 型パラメーター '{0}' の宣言には形式 {1} の制約が必要なため、シグネチャと実装には互換性がありません + + Expecting a type supporting the operator '{0}' but given a function type. You may be missing an argument to a function. + Expecting a type supporting the operator '{0}' but given a function type. You may be missing an argument to a function. - - The signature and implementation are not compatible because the type parameter '{0}' has a constraint of the form {1} but the implementation does not. Either remove this constraint from the signature or add it to the implementation. - 型パラメーター '{0}' には形式 {1} の制約がありますが、実装にはないため、シグネチャと実装には互換性がありません。シグネチャからこの制約を削除するか、実装に制約を追加してください。 + + Expecting a type supporting the operator '{0}' but given a tuple type + Expecting a type supporting the operator '{0}' but given a tuple type - - The type '{0}' implements 'System.IComparable'. Consider also adding an explicit override for 'Object.Equals' - 型 '{0}' は 'System.IComparable' を実装しています。'Object.Equals' の明示的なオーバーライドも追加してください。 + + Expected arguments to an instance member + Expected arguments to an instance member - - The type '{0}' 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 - 型 '{0}' は 'System.IComparable' を明示的に実装していますが、'Object.Equals' に対応するオーバーライドを提供していません。'Object.Equals' の実装は自動的に提供され、'System.IComparable' を介して実装されます。明示的にオーバーライド 'Object.Equals' を実装してください。 + + A generic construct requires that the type '{0}' be non-abstract + A generic construct requires that the type '{0}' be non-abstract - - The struct, record or union type '{0}' has an explicit implementation of 'Object.GetHashCode' or 'Object.Equals'. You must apply the 'CustomEquality' attribute to the type - 構造体型、レコード型、または共用体型 '{0}' には 'Object.GetHashCode' または 'Object.Equals' の明示的な実装があります。この型には 'CustomEquality' 属性を適用してください。 + + A generic construct requires that the type '{0}' have a public default constructor + A generic construct requires that the type '{0}' have a public default constructor - - The struct, record or union type '{0}' has an explicit implementation of 'Object.GetHashCode'. Consider implementing a matching override for 'Object.Equals(obj)' - 構造体型、レコード型、または共用体型 '{0}' には 'Object.GetHashCode' の明示的な実装があります。'Object.Equals(obj)' に対応するオーバーライドを実装してください。 + + A generic construct requires that the type '{0}' have reference semantics, but it does not, i.e. it is a struct + A generic construct requires that the type '{0}' have reference semantics, but it does not, i.e. it is a struct - - The struct, record or union type '{0}' has an explicit implementation of 'Object.Equals'. Consider implementing a matching override for 'Object.GetHashCode()' - 構造体型、レコード型、または共用体型 '{0}' には 'Object.Equals' の明示的な実装があります。'Object.GetHashCode()' に対応するオーバーライドを実装してください。 + + A generic construct requires that a generic type parameter be known as a struct or reference type. Consider adding a type annotation. + A generic construct requires that a generic type parameter be known as a struct or reference type. Consider adding a type annotation. - - 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 {0} \nbut its signature specifies\n\t{1} - CLI の例外のマッピングがシグネチャによって隠ぺいされているため、例外の定義に互換性がありません。例外のマッピングは他のモジュールから参照できるようにする必要があります。モジュールには例外の定義\n {0} \nが含まれますが、シグネチャでは\n\t{1}\nを指定しています。 + + A generic construct requires that the type '{0}' is a CLI or F# struct type + A generic construct requires that the type '{0}' is a CLI or F# struct type - - The exception definitions are not compatible because the CLI representations differ. The module contains the exception definition\n {0} \nbut its signature specifies\n\t{1} - CLI 表現が異なるため、例外の定義に互換性がありません。モジュールには例外の定義\n {0} \nが含まれますが、シグネチャでは\n\t{1}\nを指定しています。 + + A generic construct requires that the type '{0}' is an unmanaged type + A generic construct requires that the type '{0}' is an unmanaged type - - 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 {0} \nbut its signature specifies\n\t{1}. - 例外の省略形がシグネチャによって隠ぺいされているため、例外の定義に互換性がありません。省略形は他の CLI 言語から参照できるようにする必要があります。シグネチャ内の省略形を参照できるようにしてください。モジュールには例外の定義\n {0} \nがありますが、シグネチャでは\n\t{1}\nを指定しています。 + + Incorrect generic instantiation. No {0} member named '{1}' takes {2} generic arguments. + Incorrect generic instantiation. No {0} member named '{1}' takes {2} generic arguments. - - The exception definitions are not compatible because the exception abbreviations in the signature and implementation differ. The module contains the exception definition\n {0} \nbut its signature specifies\n\t{1}. - 例外の省略形がシグネチャと実装とで異なるため、例外の定義に互換性がありません。モジュールには例外の定義\n {0} \nが含まれますが、シグネチャでは\n\t{1}\nを指定しています。 + + This indexer expects {0} arguments but is here given {1} + This indexer expects {0} arguments but is here given {1} - - The exception definitions are not compatible because the exception declarations differ. The module contains the exception definition\n {0} \nbut its signature specifies\n\t{1}. - 例外の宣言が異なるため、例外の定義に互換性がありません。モジュールには例外の定義\n {0} \nが含まれますが、シグネチャでは\n\t{1}\nを指定しています。 + + The member or object constructor '{0}' has no argument or settable return property '{1}'. {2}. + The member or object constructor '{0}' has no argument or settable return property '{1}'. {2}. - - The exception definitions are not compatible because the field '{0}' was required by the signature but was not specified by the implementation. The module contains the exception definition\n {1} \nbut its signature specifies\n\t{2}. - シグネチャにはフィールド '{0}' が必要ですが、実装では指定されなかったため、例外の定義に互換性がありません。モジュールには例外の定義\n {1} \nが含まれますが、シグネチャでは\n\t{2}\nを指定しています。 + + The member or object constructor '{0}' is not {1} + The member or object constructor '{0}' is not {1} - - The exception definitions are not compatible because the field '{0}' was present in the implementation but not in the signature. The module contains the exception definition\n {1} \nbut its signature specifies\n\t{2}. - 実装にはフィールド '{0}' がありますが、シグネチャにはないため、例外の定義に互換性がありません。モジュールには例外の定義\n {1} \nが含まれますが、シグネチャでは\n\t{2}\nを指定しています。 + + The member or object constructor '{0}' is not {1}. 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. + The member or object constructor '{0}' is not {1}. 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. - - 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 {0} \nbut its signature specifies\n\t{1}. - フィールドの順序がシグネチャと実装とで異なるため、例外の定義に互換性がありません。モジュールには例外の定義\n {0} \nが含まれますが、シグネチャでは\n\t{1}\nを指定しています。 + + {0} is not an instance member + {0} is not an instance member - - The namespace or module attributes differ between signature and implementation - 名前空間属性またはモジュール属性が、シグネチャと実装とで異なります + + {0} is not a static member + {0} is not a static member - - This method is over-constrained in its type parameters - 型パラメーターのこのメソッドは、制約過多です + + A member or object constructor '{0}' taking {1} arguments is not accessible from this code location. All accessible versions of method '{2}' take {3} arguments. + A member or object constructor '{0}' taking {1} arguments is not accessible from this code location. All accessible versions of method '{2}' take {3} arguments. - - No implementations of '{0}' had the correct number of arguments and type parameters. The required signature is '{1}'. - 正しい数の引数と型パラメーターが指定された '{0}' の実装がありません。必要なシグネチャは '{1}' です。 + + The member or object constructor '{0}' does not take {1} argument(s). An overload was found taking {2} arguments. + The member or object constructor '{0}' does not take {1} argument(s). An overload was found taking {2} arguments. - - The override for '{0}' was ambiguous - '{0}' のオーバーライドがあいまいでした + + The member or object constructor '{0}' requires {1} argument(s). The required signature is '{2}'. + The member or object constructor '{0}' requires {1} argument(s). The required signature is '{2}'. - - More than one override implements '{0}' - 複数のオーバーライドが '{0}' を実装しています + + The member or object constructor '{0}' requires {1} additional argument(s). The required signature is '{2}'. + The member or object constructor '{0}' requires {1} additional argument(s). The required signature is '{2}'. - - The method '{0}' is sealed and cannot be overridden - メソッド '{0}' がシールドであるため、オーバーライドできません + + The member or object constructor '{0}' requires {1} argument(s). The required signature is '{2}'. Some names for missing arguments are {3}. + The member or object constructor '{0}' requires {1} argument(s). The required signature is '{2}'. Some names for missing arguments are {3}. - - The override '{0}' implements more than one abstract slot, e.g. '{1}' and '{2}' - オーバーライド '{0}' は複数の抽象スロットを実装しています (たとえば、'{1}' と '{2}') + + The member or object constructor '{0}' requires {1} additional argument(s). The required signature is '{2}'. Some names for missing arguments are {3}. + The member or object constructor '{0}' requires {1} additional argument(s). The required signature is '{2}'. Some names for missing arguments are {3}. - - Duplicate or redundant interface - インターフェイスが重複するか、冗長です + + The member or object constructor '{0}' takes {1} argument(s) but is here given {2}. The required signature is '{3}'. + The member or object constructor '{0}' takes {1} argument(s) but is here given {2}. The required signature is '{3}'. - - The interface '{0}' is included in multiple explicitly implemented interface types. Add an explicit implementation of this interface. - 複数の明示的に実装されたインターフェイス型に、インターフェイス '{0}' が含まれています。このインターフェイスの明示的な実装を追加してください。 + + The member or object constructor '{0}' requires {1} argument(s) but is here given {2} unnamed and {3} named argument(s). The required signature is '{4}'. + The member or object constructor '{0}' requires {1} argument(s) but is here given {2} unnamed and {3} named argument(s). The required signature is '{4}'. - - The named argument '{0}' has been assigned more than one value - 名前付き引数 '{0}' に複数の値が割り当てられました + + The member or object constructor '{0}' takes {1} type argument(s) but is here given {2}. The required signature is '{3}'. + The member or object constructor '{0}' takes {1} type argument(s) but is here given {2}. The required signature is '{3}'. - - No implementation was given for '{0}' - '{0}' に指定された実装がありませんでした + + 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 + 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 - - No implementation was given for '{0}'. Note that all interface members must be implemented and listed under an appropriate 'interface' declaration, e.g. 'interface ... with member ...'. - '{0}' に指定された実装がありませんでした。すべてのインターフェイス メンバーを実装し、適切な 'interface' 宣言で列挙してください (たとえば、'interface ... with member ...')。 + + The type '{0}' has a method '{1}' (full name '{2}'), but the method is not static + The type '{0}' has a method '{1}' (full name '{2}'), but the method is not static - - The member '{0}' does not have the correct number of arguments. The required signature is '{1}'. - メンバー '{0}' には引数の正しいメンバーがありません。必要なシグネチャは '{1}' です。 + + The type '{0}' has a method '{1}' (full name '{2}'), but the method is static + The type '{0}' has a method '{1}' (full name '{2}'), but the method is static - - The member '{0}' does not have the correct number of method type parameters. The required signature is '{1}'. - メンバー '{0}' には正しい数のメソッド型パラメーターがありません。必要なシグネチャは '{1}' です。 + + {0} is not a static method + {0} is not a static method - - The member '{0}' does not have the correct kinds of generic parameters. The required signature is '{1}'. - メンバー '{0}' には正しい種類のジェネリック パラメーターがありません。必要なシグネチャは '{1}' です。 + + {0} is not an instance method + {0} is not an instance method - - The member '{0}' cannot be used to implement '{1}'. The required signature is '{2}'. - {1}' を実装するためにメンバー '{0}' は使用できません。必要なシグネチャは '{2}' です。 + + A unique overload for method '{0}' could not be determined based on type information prior to this program point. A type annotation may be needed. + A unique overload for method '{0}' could not be determined based on type information prior to this program point. A type annotation may be needed. - - Error while parsing embedded IL - 埋め込まれた IL の解析中にエラーが発生しました + + Method or object constructor '{0}' not found + Method or object constructor '{0}' not found - - Error while parsing embedded IL type - 埋め込まれた IL 型の解析中にエラーが発生しました + + No {0} member or object constructor named '{1}' takes {2} arguments + No {0} member or object constructor named '{1}' takes {2} arguments - - This indexer notation has been removed from the F# language - このインデクサー表記は F# 言語から削除されました + + No {0} member or object constructor named '{1}' takes {2} arguments. Note the call to this member also provides {3} named arguments. + No {0} member or object constructor named '{1}' takes {2} arguments. Note the call to this member also provides {3} named arguments. - - Invalid expression on left of assignment - 代入式の左辺が無効です + + No {0} member or object constructor named '{1}' takes {2} arguments. The named argument '{3}' doesn't correspond to any argument or settable return property for any overload. + No {0} member or object constructor named '{1}' takes {2} arguments. The named argument '{3}' doesn't correspond to any argument or settable return property for any overload. - - The 'ReferenceEquality' attribute cannot be used on structs. Consider using the 'StructuralEquality' attribute instead, or implement an override for 'System.Object.Equals(obj)'. - 構造体で 'ReferenceEquality' 属性は使用できません。代わりに 'StructuralEquality' 属性を使用するか、'System.Object.Equals(obj)' のオーバーライドを実装してください。 + + No overloads match for method '{0}'. + No overloads match for method '{0}'. - - This type uses an invalid mix of the attributes 'NoEquality', 'ReferenceEquality', 'StructuralEquality', 'NoComparison' and 'StructuralComparison' - この型には、'NoEquality' 属性、'ReferenceEquality' 属性、'StructuralEquality' 属性、'NoComparison' 属性、および 'StructuralComparison' 属性の無効な組み合わせが使用されています + + Known types of arguments: {0} + Known types of arguments: {0} - - The 'NoEquality' attribute must be used in conjunction with the 'NoComparison' attribute - 'NoEquality' 属性は、'NoComparison' 属性と組み合わせて使用する必要があります + + Known type of argument: {0} + Known type of argument: {0} - - The 'StructuralComparison' attribute must be used in conjunction with the 'StructuralEquality' attribute - 'StructuralComparison' 属性は、'StructuralEquality' 属性と組み合わせて使用する必要があります + + Known return type: {0} + Known return type: {0} - - The 'StructuralEquality' attribute must be used in conjunction with the 'NoComparison' or 'StructuralComparison' attributes - 'StructuralEquality' 属性は、'NoComparison' 属性または 'StructuralComparison' 属性と組み合わせて使用する必要があります + + Known type parameters: {0} + Known type parameters: {0} - - A type cannot have both the 'ReferenceEquality' and 'StructuralEquality' or 'StructuralComparison' attributes - 1 つの型に 'ReferenceEquality' 属性および 'StructuralEquality' 属性、または 'ReferenceEquality' 属性および 'StructuralComparison' 属性を同時に使用することはできません + + Known type parameter: {0} + Known type parameter: {0} - - Only record, union, exception and struct types may be augmented with the 'ReferenceEquality', 'StructuralEquality' and 'StructuralComparison' attributes - 'ReferenceEquality' 属性、'StructuralEquality' 属性、および 'StructuralComparison' 属性を使用して拡張できるのは、レコード型、共用体型、例外型、および構造体型のみです + + The type '{0}' does not have 'null' as a proper value. To create a null value for a Nullable type use 'System.Nullable()'. + The type '{0}' does not have 'null' as a proper value. To create a null value for a Nullable type use 'System.Nullable()'. - - A type with attribute 'ReferenceEquality' cannot have an explicit implementation of 'Object.Equals(obj)', 'System.IEquatable<_>' or 'System.Collections.IStructuralEquatable' - 'ReferenceEquality' 属性が含まれる型に 'Object.Equals(obj)'、'System.IEquatable<_>'、または 'System.Collections.IStructuralEquatable' の明示的な実装を含めることはできません + + Optional arguments not permitted here + Optional arguments not permitted here - - A type with attribute 'CustomEquality' must have an explicit implementation of at least one of 'Object.Equals(obj)', 'System.IEquatable<_>' or 'System.Collections.IStructuralEquatable' - 'CustomEquality' 属性が含まれる型には、'Object.Equals(obj)'、'System.IEquatable<_>'、'System.Collections.IStructuralEquatable' の少なくとも 1 つの明示的な実装が含まれていなければなりません + + Argument at index {0} doesn't match + Argument at index {0} doesn't match - - A type with attribute 'CustomComparison' must have an explicit implementation of at least one of 'System.IComparable' or 'System.Collections.IStructuralComparable' - 'CustomComparison' 属性を持つ型には、'System.IComparable' または 'System.Collections.IStructuralComparable' の少なくとも 1 つの明示的な実装が必要です + + Argument '{0}' doesn't match + Argument '{0}' doesn't match - - 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 - 通常、'NoEquality' 属性を持つ型には、'Object.Equals(obj)' を明示的に実装しません。相互運用性のために意図的に実装した場合、この警告は無効にしてください。 + + The required signature is {0} + The required signature is {0} - - 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 - 'NoComparison' 属性が含まれる型には 'System.IComparable'、'System.IComparable<_>'、または 'System.Collections.IStructuralComparable' の明示的な実装を通常は含めるべきではありません。相互運用のために意図的な場合には、この警告を無効にします + + The constraints 'struct' and 'not struct' are inconsistent + The constraints 'struct' and 'not struct' are inconsistent - - The 'CustomEquality' attribute must be used in conjunction with the 'NoComparison' or 'CustomComparison' attributes - 'CustomEquality' 属性は、'NoComparison' 属性または 'CustomComparison' 属性と組み合わせて使用する必要があります + + The declared type parameter '{0}' cannot be used here since the type parameter cannot be resolved at compile time + The declared type parameter '{0}' cannot be used here since the type parameter cannot be resolved at compile time - - Positional specifiers are not permitted in format strings - 位置指定子は書式指定文字列で許可されていません + + The type '{0}' does not have 'null' as a proper value + The type '{0}' does not have 'null' as a proper value - - Missing format specifier - 書式指定子がありません + + The type '{0}' does not support the 'comparison' constraint because it has the 'NoComparison' attribute + The type '{0}' does not support the 'comparison' constraint because it has the 'NoComparison' attribute - - '{0}' flag set twice - '{0}' フラグが 2 回設定されました + + The type '{0}' does not support the 'comparison' constraint. For example, it does not support the 'System.IComparable' interface + The type '{0}' does not support the 'comparison' constraint. For example, it does not support the 'System.IComparable' interface - - Prefix flag (' ' or '+') set twice - プレフィックスのフラグ (' ' または '+') が 2 回設定されました + + The type '{0}' 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 + The type '{0}' 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 - - The # formatting modifier is invalid in F# - # 書式修飾子は F# では無効です + + The type '{0}' does not support a conversion to the type '{1}' + The type '{0}' does not support a conversion to the type '{1}' - - Bad precision in format specifier - 書式指定子の精度に誤りがあります + + The type '{0}' does not support the 'equality' constraint because it has the 'NoEquality' attribute + The type '{0}' does not support the 'equality' constraint because it has the 'NoEquality' attribute - - Bad width in format specifier - 書式指定子の幅に誤りがあります + + The type '{0}' does not support the 'equality' constraint because it is a function type + The type '{0}' does not support the 'equality' constraint because it is a function type - - '{0}' format does not support '0' flag - '{0}' 形式は '0' フラグをサポートしていません + + The type '{0}' 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 + The type '{0}' 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 - - Precision missing after the '.' - '.' の後に精度がありません + + The type '{0}' does not support the operator '{1}' + The type '{0}' does not support the operator '{1}' - - '{0}' format does not support precision - '{0}' 形式は精度をサポートしていません + + The type '{0}' does not support the operator '{1}'. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. + The type '{0}' does not support the operator '{1}'. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. - - 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. - (l または L の後の) 書式指定子に誤りがあります。ld、li、lo、lu、lx、または lX を指定してください。F# コードでは、代わりに %d、%x、%o、または %u を使用できます。これらは、すべての基本的な整数型を扱うためにオーバーロードされます。 + + The type '{0}' has a non-standard delegate type + The type '{0}' has a non-standard delegate type - - 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. - この書式指定子に 'l' または 'L' は不要です。F# のコードでは、%d、%x、%o、または %u を使用できます。これらは、すべての基本的な整数型を扱うためにオーバーロードされます。 + + Type inference problem too complicated (maximum iteration depth reached). Consider adding further type annotations. + Type inference problem too complicated (maximum iteration depth reached). Consider adding further type annotations. - - 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. - この書式指定子に 'h' または 'H' は不要です。代わりに %d、%x、%o、または %u を使用できます。これらは、すべての基本的な整数型を扱うためにオーバーロードされます。 + + Type instantiation length mismatch + Type instantiation length mismatch - - '{0}' does not support prefix '{1}' flag - {0}' はプレフィックスの '{1}' フラグをサポートしていません + + The type '{0}' is not a CLI delegate type + The type '{0}' is not a CLI delegate type - - Bad format specifier: '{0}' - 書式指定子に誤りがあります:'{0}' + + The type '{0}' is not a CLI enum type + The type '{0}' is not a CLI enum type - - System.Environment.Exit did not exit - System.Environment.Exit が終了しませんでした + + The type '{0}' is not compatible with any of the types {1}, arising from the use of a printf-style format string + The type '{0}' is not compatible with any of the types {1}, arising from the use of a printf-style format string - - The treatment of this operator is now handled directly by the F# compiler and its meaning cannot be redefined - この演算子は F# コンパイラが直接処理するようになったため、演算子の意味を再定義することはできません + + 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. + 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. - - 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. - プロテクト メンバーが呼び出されたか、'base' が使用されています。この操作が許可されているのはメンバーの直接実装の場合のみです。直接実装ではオブジェクトのスコープを回避できます。 + + None of the types '{0}' support the operator '{1}' + None of the types '{0}' support the operator '{1}' - - The byref-typed variable '{0}' is used in an invalid way. Byrefs cannot be captured by closures or passed to inner functions. - byref 型の変数 '{0}' の使用方法に誤りがあります。byref をクロージャでキャプチャすること、または内部関数に渡すことはできません。 + + None of the types '{0}' support the operator '{1}'. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. + None of the types '{0}' support the operator '{1}'. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. - - 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. - 'base' キーワードの使用方法に誤りがあります。'base' の呼び出しはクロージャに使用できません。'base' の呼び出しを行うには、プライベート メンバーを使用してください。 + + {0} var in collection {1} (outerKey = innerKey) into group. Note that parentheses are required after '{2}' + {0} var in collection {1} (outerKey = innerKey) into group. Note that parentheses are required after '{2}' - - The variable '{0}' is used in an invalid way - 変数 '{0}' の使用方法に誤りがあります + + {0} var in collection {1} (outerKey = innerKey). Note that parentheses are required after '{2}' + {0} var in collection {1} (outerKey = innerKey). Note that parentheses are required after '{2}' - - The type '{0}' is less accessible than the value, member or type '{1}' it is used in. - 型 '{0}' は、使用されている値、メンバー、型 '{1}' よりもアクセシビリティが低く設定されています。 + + {0} var in collection + {0} var in collection - - 'System.Void' can only be used as 'typeof<System.Void>' in F# - F# では 'System.Void' は 'typeof<System.Void>' としてのみ使用できます + + Delegates are not allowed to have curried signatures + Delegates are not allowed to have curried signatures - - A type instantiation involves a byref type. This is not permitted by the rules of Common IL. - 型のインスタンス化に byref 型が使用されています。この操作は Common IL の規則では許可されていません。 + + The '!' operator is used to dereference a ref cell. Consider using 'not expr' here. + The '!' operator is used to dereference a ref cell. Consider using 'not expr' here. - - Calls to 'reraise' may only occur directly in a handler of a try-with - 'reraise' への呼び出しを直接実行できるのは、try-with ハンドラーの中のみです。 + + (description unavailable...) + (description unavailable...) - - Expression-splicing operators may only be used within quotations - 式スプライス演算子は引用符で囲む必要があります + + is + is - - First-class uses of the expression-splicing operator are not permitted - 式スプライス演算子のファーストクラスの使用は許可されていません + + The documentation file has no .xml suffix + The documentation file has no .xml suffix - - First-class uses of the address-of operators are not permitted - アドレス演算子のファーストクラスの使用は許可されていません + + The treatment of this operator is now handled directly by the F# compiler and its meaning cannot be redefined + The treatment of this operator is now handled directly by the F# compiler and its meaning cannot be redefined - - First-class uses of the 'reraise' function is not permitted - 'reraise' 関数のファーストクラスの使用は許可されていません + + System.Environment.Exit did not exit + System.Environment.Exit did not exit - - The byref typed value '{0}' cannot be used at this point - この時点で byref 型の値 '{0}' は使用できません + + All branches of an 'if' expression must return values of the same type as the first branch, which here is '{0}'. This branch returns a value of type '{1}'. + All branches of an 'if' expression must return values of the same type as the first branch, which here is '{0}'. This branch returns a value of type '{1}'. - - 'base' values may only be used to make direct calls to the base implementations of overridden members - 'base' 値を使用できるのは、オーバーライドされたメンバーの基本実装に対して直接呼び出しを行う場合のみです。 + + Erased to + Erased to - - 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. - オブジェクト コンストラクターでは、オブジェクトの初期化前に try/with および try/finally を直接使用できません。'for x in ...' などのコストラクトを呼び出す可能性があるようなコンストラクトがこれに含まれます。これは Common IL での制限事項です。 + + A type provider implemented GetStaticParametersForMethod, but ApplyStaticArgumentsForMethod was not implemented or invalid + A type provider implemented GetStaticParametersForMethod, but ApplyStaticArgumentsForMethod was not implemented or invalid - - The address of the variable '{0}' cannot be used at this point - この時点で変数 '{0}' のアドレスは使用できません + + Named static arguments must come after all unnamed static arguments + Named static arguments must come after all unnamed static arguments - - The address of the static field '{0}' cannot be used at this point - この時点で静的フィールド '{0}' のアドレスは使用できません + + A direct reference to the generated type '{0}' 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. + A direct reference to the generated type '{0}' 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. - - The address of the field '{0}' cannot be used at this point - この時点でフィールド '{0}' のアドレスは使用できません + + Empty namespace found from the type provider '{0}'. Use 'null' for the global namespace. + Empty namespace found from the type provider '{0}'. Use 'null' for the global namespace. - - The address of an array element cannot be used at this point - この時点で配列要素のアドレスは使用できません + + Type '{0}' from type provider '{1}' has an empty namespace. Use 'null' for the global namespace. + Type '{0}' from type provider '{1}' has an empty namespace. Use 'null' for the global namespace. - - The type of a first-class function cannot contain byrefs - ファーストクラス関数の型に byref を含むことはできません + + The provider '{0}' returned a non-generated type '{1}' in the context of a set of generated types. Consider adjusting the type provider to only return generated types. + The provider '{0}' returned a non-generated type '{1}' in the context of a set of generated types. Consider adjusting the type provider to only return generated types. - - A method return type would contain byrefs which is not permitted - メソッドの戻り値の型に許可されていない byref が含まれています + + An error occured applying the static arguments to a provided method + An error occured applying the static arguments to a provided method - - Invalid custom attribute value (not a constant or literal) - カスタム属性値が無効です (定数またはリテラルではありません) + + An error occured applying the static arguments to a provided type + An error occured applying the static arguments to a provided type - - The attribute type '{0}' has 'AllowMultiple=false'. Multiple instances of this attribute cannot be attached to a single language element. - 属性の型 '{0}' に 'AllowMultiple=false' があります。この属性を持つ複数のインスタンスは、単一の言語要素にアタッチできません。 + + Event '{0}' on provided type '{1}' has no value from GetAddMethod() + Event '{0}' on provided type '{1}' has no value from GetAddMethod() - - The member '{0}' is used in an invalid way. A use of '{1}' has been inferred prior to its definition at or near '{2}'. This is an invalid forward reference. - メンバー '{0}' の使用方法に誤りがあります。'{2}' またはその付近の定義の前に '{1}' の使用が推論されました。これは無効な前方参照です。 + + Event '{0}' on provided type '{1}' has no value from GetRemoveMethod() + Event '{0}' on provided type '{1}' has no value from GetRemoveMethod() - - A byref typed value would be stored here. Top-level let-bound byref values are not permitted. - byref 型の値がここに保存されます。トップレベルの let-bound byref 値は許可されていません。 + + Referenced assembly '{0}' has assembly level attribute '{1}' but no public type provider classes were found + Referenced assembly '{0}' has assembly level attribute '{1}' but no public type provider classes were found - - [<ReflectedDefinition>] terms cannot contain uses of the prefix splice operator '%' - [<ReflectedDefinition>] 用語には、プレフィックスのスプライス演算子 '%' を使用できません + + Character '{0}' is not allowed in provided namespace name '{1}' + Character '{0}' is not allowed in provided namespace name '{1}' - - A function labeled with the 'EntryPointAttribute' attribute must be the last declaration in the last file in the compilation sequence. - 'EntryPointAttribute' 属性のラベルを付けた関数は、コンパイル シーケンスの最後のファイルの最後の宣言にする必要があります。 + + Character '{0}' is not allowed in provided type name '{1}' + Character '{0}' is not allowed in provided type name '{1}' - - compiled form of the union case - 共用体ケースのコンパイル済みの形式 + + The type provider '{0}' used an invalid parameter in the ParameterExpression: {1} + The type provider '{0}' used an invalid parameter in the ParameterExpression: {1} - - default augmentation of the union case - 共用体ケースの既定の拡張 + + The type provider '{0}' provided a constructor which is not reported among the constructors of its declaring type '{1}' + The type provider '{0}' provided a constructor which is not reported among the constructors of its declaring type '{1}' - - The property '{0}' has the same name as a method in type '{1}'. - プロパティ '{0}' は、型 '{1}' のメソッドと名前が同じです。 + + The type provider '{0}' provided a method with a name '{1}' and metadata token '{2}', which is not reported among its methods of its declaring type '{3}' + The type provider '{0}' provided a method with a name '{1}' and metadata token '{2}', which is not reported among its methods of its declaring type '{3}' - - The property '{0}' of type '{1}' has a getter and a setter that do not match. If one is abstract then the other must be as well. - 型 '{1}' のプロパティ '{0}' には一致しないゲッターとセッターがあります。一方が抽象の場合、もう一方も抽象にします。 + + Invalid static argument to provided type. Expected an argument of kind '{0}'. + Invalid static argument to provided type. Expected an argument of kind '{0}'. - - The property '{0}' has the same name as another property in type '{1}', but one takes indexer arguments and the other does not. You may be missing an indexer argument to one of your properties. - プロパティ '{0}' は型 '{1}' の別のプロパティと名前が同じですが、一方はインデクサー引数を使用し、もう一方は使用していません。一方のプロパティでインデクサー引数を失う可能性があります。 + + Assembly '{0}' hase TypeProviderAssembly attribute with invalid value '{1}'. The value should be a valid assembly name + Assembly '{0}' hase TypeProviderAssembly attribute with invalid value '{1}'. The value should be a valid assembly name - - A type would store a byref typed value. This is not permitted by Common IL. - 型に byref 型の値が保存されています。この操作は Common IL では許可されていません。 + + Invalid member '{0}' on provided type '{1}'. Provided type members must be public, and not be generic, virtual, or abstract. + Invalid member '{0}' on provided type '{1}'. Provided type members must be public, and not be generic, virtual, or abstract. - - Duplicate method. The method '{0}' has the same name and signature as another method in type '{1}'. - 重複したメソッド。メソッド '{0}' は、名前とシグネチャが型 '{1}' の別のメソッドと同じです。 + + This provided method requires static parameters + This provided method requires static parameters - - Duplicate method. The method '{0}' has the same name and signature as another method in type '{1}' once tuples, functions, units of measure and/or provided types are erased. - 重複したメソッド。メソッド '{0}' は、タプル、関数、測定単位、指定された型が消去されると、名前とシグネチャが型 '{1}' の他のメソッドと同じになります。 + + Multiple static parameters exist with name '{0}' + Multiple static parameters exist with name '{0}' - - The method '{0}' has curried arguments but has the same name as another method in type '{1}'. Methods with curried arguments cannot be overloaded. Consider using a method taking tupled arguments. - メソッド '{0}' にはカリー化された引数が使用されていますが、型 '{1}' の別のメソッドと名前が同じです。カリー化された引数を使用したメソッドはオーバーロードできません。メソッドにはタプル化された引数を使用することをご検討ください。 + + Provided type '{0}' has 'IsArray' as true, but array types are not supported. + Provided type '{0}' has 'IsArray' as true, but array types are not supported. - - Methods with curried arguments cannot declare 'out', 'ParamArray', 'optional', 'ReflectedDefinition', 'byref', 'CallerLineNumber', 'CallerMemberName', or 'CallerFilePath' arguments - カリー化された引数を使用したメソッドでは、'out'、'ParamArray'、'optional'、'ReflectedDefinition'、'byref'、'CallerLineNumber'、'CallerMemberName'、または 'CallerFilePath' の各引数を宣言できません + + Provided type '{0}' has 'IsGenericType' as true, but generic types are not supported. + Provided type '{0}' has 'IsGenericType' as true, but generic types are not supported. - - Duplicate property. The property '{0}' has the same name and signature as another property in type '{1}'. - 重複したプロパティ。プロパティ '{0}' は、名前とシグネチャが型 '{1}' の別のプロパティと同じです。 + + Nested provided types do not take static arguments or generic parameters + Nested provided types do not take static arguments or generic parameters - - Duplicate property. The property '{0}' has the same name and signature as another property in type '{1}' once tuples, functions, units of measure and/or provided types are erased. - 重複したプロパティ。プロパティ '{0}' は、タプル、関数、測定単位、指定された型が消去されると、名前とシグネチャが型 '{1}' の別のプロパティと同じになります。 + + No static parameter exists with name '{0}' + No static parameter exists with name '{0}' - - Duplicate method. The abstract method '{0}' has the same name and signature as an abstract method in an inherited type. - 重複したメソッド。抽象メソッド '{0}' は、名前とシグネチャが継承型の抽象メソッドと同じです。 + + The provided type '{0}' returned a null member + The provided type '{0}' returned a null member - - Duplicate method. The abstract method '{0}' 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. - 重複したメソッド。抽象メソッド '{0}' は、タプル、関数、測定単位、または指定された型が消去されると、名前とシグネチャが継承型の抽象メソッドと同じになります。 + + The provided type '{0}' member info '{1}' has null declaring type + The provided type '{0}' member info '{1}' has null declaring type - - This type implements the same interface at different generic instantiations '{0}' and '{1}'. This is not permitted in this version of F#. - この型は、異なるジェネリックのインスタンス化 '{0}' と '{1}' で同じインターフェイスを実装しています。これは、このバージョンの F# で許可されていません。 + + The provided type '{0}' has member '{1}' which has declaring type '{2}'. Expected declaring type to be the same as provided type. + The provided type '{0}' has member '{1}' which has declaring type '{2}'. Expected declaring type to be the same as provided type. - - 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 - 'DefaultValue' 属性を使用するフィールドの型は、既定の初期化を許可する必要があります。つまり、'null' が正規の値として含まれるか、すべてのフィールドが既定の初期化を許可する構造体型です。このチェックを無効にするには、'DefaultValue(false)' を使用します。 + + The provided type '{0}' returned a member with a null or empty member name + The provided type '{0}' returned a member with a null or empty member name - - The type abbreviation contains byrefs. This is not permitted by F#. - 型略称に byref が含まれます。この操作は F# で許可されていません。 + + Type provider '{0}' returned null from GetInvokerExpression. + Type provider '{0}' returned null from GetInvokerExpression. - - The variable '{0}' is bound in a quotation but is used as part of a spliced expression. This is not permitted since it may escape its scope. - 変数 '{0}' は引用符内でバインドされていますが、スプライスされた式の一部として使用されています。スコープが回避される可能性があるため、この操作は許可されていません。 + + One or more errors seen during provided type setup + One or more errors seen during provided type setup - - Quotations cannot contain uses of generic expressions - 引用符内にはジェネリック式の使用を含めることはできません + + Property '{0}' on provided type '{1}' has CanRead=true but there was no value from GetGetMethod() + Property '{0}' on provided type '{1}' has CanRead=true but there was no value from GetGetMethod() - - 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. - 引用符内には、ジェネリック型に推論または宣言する関数定義を含めることはできません。有効な引用符付きの式にするには、何らかの型の制約を追加してください。 + + Property '{0}' on provided type '{1}' has CanWrite=true but there was no value from GetSetMethod() + Property '{0}' on provided type '{1}' has CanWrite=true but there was no value from GetSetMethod() - - Quotations cannot contain object expressions - 引用符内には、オブジェクト式を含めることはできません + + Property '{0}' on provided type '{1}' has CanRead=false but GetGetMethod() returned a method + Property '{0}' on provided type '{1}' has CanRead=false but GetGetMethod() returned a method - - Quotations cannot contain expressions that take the address of a field - 引用符内には、フィールドのアドレスを使用した式を含めることはできません + + Property '{0}' on provided type '{1}' has CanWrite=false but GetSetMethod() returned a method + Property '{0}' on provided type '{1}' has CanWrite=false but GetSetMethod() returned a method - - Quotations cannot contain expressions that fetch static fields - 引用符内には、静的フィールドをフェッチする式を含めることはできません + + Property '{0}' on provided type '{1}' is neither readable nor writable as it has CanRead=false and CanWrite=false + Property '{0}' on provided type '{1}' is neither readable nor writable as it has CanRead=false and CanWrite=false - - Quotations cannot contain inline assembly code or pattern matching on arrays - 引用符内にインライン アセンブラー コードまたは配列のパターン マッチを含めることはできません + + The type provider '{0}' returned an invalid method from 'ApplyStaticArgumentsForMethod'. A method with name '{1}' was expected, but a method with name '{2}' was returned. + The type provider '{0}' returned an invalid method from 'ApplyStaticArgumentsForMethod'. A method with name '{1}' was expected, but a method with name '{2}' was returned. - - Quotations cannot contain descending for loops - 引用符内に降順の for loop を含めることはできません + + The type provider '{0}' returned an invalid type from 'ApplyStaticArguments'. A type with name '{1}' was expected, but a type with name '{2}' was returned. + The type provider '{0}' returned an invalid type from 'ApplyStaticArguments'. A type with name '{1}' was expected, but a type with name '{2}' was returned. - - Quotations cannot contain expressions that fetch union case indexes - 引用符内には、共用体ケースのインデックスをフェッチする式を含めることはできません + + Expected provided type named '{0}' but provided type has 'Name' with value '{1}' + Expected provided type named '{0}' but provided type has 'Name' with value '{1}' - - Quotations cannot contain expressions that set union case fields - 引用符内には、共用体ケースのフィールドを設定する式を含めることはできません + + Expected provided type with path '{0}' but provided type has path '{1}' + Expected provided type with path '{0}' but provided type has path '{1}' - - Quotations cannot contain expressions that set fields in exception values - 引用符内には、例外値のフィールドを設定する式を含めることはできません + + A reference to a provided type had an invalid value '{0}' for a static parameter. You may need to recompile one or more referenced assemblies. + A reference to a provided type had an invalid value '{0}' for a static parameter. You may need to recompile one or more referenced assemblies. - - Quotations cannot contain expressions that require byref pointers - 引用符内には、byref ポインターを必要とする式を含めることはできません + + A reference to a provided type was missing a value for the static parameter '{0}'. You may need to recompile one or more referenced assemblies. + A reference to a provided type was missing a value for the static parameter '{0}'. You may need to recompile one or more referenced assemblies. - - Quotations cannot contain expressions that make member constraint calls, or uses of operators that implicitly resolve to a member constraint call - 引用符内にメンバーの制約を呼び出す式を含めること、または暗黙的にメンバーの制約の呼び出しに解決される演算子を使用することはできません + + An exception occurred when accessing the '{0}' of a provided type: {1} + An exception occurred when accessing the '{0}' of a provided type: {1} - - Quotations cannot contain this kind of constant - 引用符内には、この種類の定数を含めることはできません + + The '{0}' of a provided type was null or empty. + The '{0}' of a provided type was null or empty. - - Quotations cannot contain this kind of pattern match - 引用符内には、この種類のパターン マッチを含めることはできません + + The type provider does not have a valid constructor. A constructor taking either no arguments or one argument of type 'TypeProviderConfig' was expected. + The type provider does not have a valid constructor. A constructor taking either no arguments or one argument of type 'TypeProviderConfig' was expected. - - Quotations cannot contain array pattern matching - 引用符内には、配列のパターン マッチを含めることはできません + + The type provider '{0}' reported an error: {1} + The type provider '{0}' reported an error: {1} - - Quotations cannot contain this kind of type - 引用符内には、この種類の型を含めることはできません + + The type provider '{0}' reported an error in the context of provided type '{1}', member '{2}'. The error: {3} + The type provider '{0}' reported an error in the context of provided type '{1}', member '{2}'. The error: {3} - - The declared type parameter '{0}' cannot be used here since the type parameter cannot be resolved at compile time - 宣言された型パラメーター '{0}' はコンパイル時に解決できないため、使用できません + + The type provider designer assembly '{0}' could not be loaded from folder '{1}' 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: {2} - {3} + The type provider designer assembly '{0}' could not be loaded from folder '{1}' 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: {2} - {3} - - 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 '_'. - このコードは注釈よりも総称性が低く設定されています。'_' を使用して指定された単位は、'1' (無次元) と判断されます。コードをジェネリックにするか、'_' を使用しないでください。 + + The type provider designer assembly '{0}' could not be loaded from folder '{1}'. The exception reported was: {2} - {3} + The type provider designer assembly '{0}' could not be loaded from folder '{1}'. The exception reported was: {2} - {3} - - Type inference problem too complicated (maximum iteration depth reached). Consider adding further type annotations. - 複雑すぎるため、型推論ができません (最大反復回数に達しました)。さらに詳細な型の注釈を増やしてください。 + + Assembly attribute '{0}' refers to a designer assembly '{1}' which cannot be loaded from path '{2}'. The exception reported was: {3} - {4} + Assembly attribute '{0}' refers to a designer assembly '{1}' which cannot be loaded from path '{2}'. The exception reported was: {3} - {4} - - Expected arguments to an instance member - インスタンス メンバーに対して引数を指定してください + + Assembly attribute '{0}' refers to a designer assembly '{1}' which cannot be loaded or doesn't exist. The exception reported was: {2} - {3} + Assembly attribute '{0}' refers to a designer assembly '{1}' which cannot be loaded or doesn't exist. The exception reported was: {2} - {3} - - This indexer expects {0} arguments but is here given {1} - このインデクサーには {0} 個の引数が必要ですが、存在するのは {1} 個です + + The type provider returned 'null', which is not a valid return value from '{0}' + The type provider returned 'null', which is not a valid return value from '{0}' - - Expecting a type supporting the operator '{0}' but given a function type. You may be missing an argument to a function. - 演算子 '{0}' をサポートし、特定の関数型である型が必要です。関数に対する引数が足りない可能性があります。 + + The static parameter '{0}' has already been given a value + The static parameter '{0}' has already been given a value - - Expecting a type supporting the operator '{0}' but given a tuple type - 演算子 '{0}' をサポートする型が必要ですが、タプル型が指定されました + + The static parameter '{0}' of the provided type or method '{1}' requires a value. Static parameters to type providers may be optionally specified using named arguments, e.g. '{2}<{3}=...>'. + The static parameter '{0}' of the provided type or method '{1}' requires a value. Static parameters to type providers may be optionally specified using named arguments, e.g. '{2}<{3}=...>'. - - None of the types '{0}' support the operator '{1}' - 型 '{0}' はいずれも演算子 '{1}' をサポートしていません + + Too many static parameters. Expected at most {0} parameters, but got {1} unnamed and {2} named parameters. + Too many static parameters. Expected at most {0} parameters, but got {1} unnamed and {2} named parameters. - - The type '{0}' does not support the operator '{1}' - 型 '{0}' は演算子 '{1}' をサポートしていません + + The type provider constructor has thrown an exception: {0} + The type provider constructor has thrown an exception: {0} - - None of the types '{0}' support the operator '{1}'. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. - 型 '{0}' はいずれも演算子 '{1}' をサポートしていません。'Microsoft.FSharp.Linq.NullableOperators' モジュールを開いてください。 + + Unexpected exception from member '{0}' of provided type '{1}' member '{2}': {3} + Unexpected exception from member '{0}' of provided type '{1}' member '{2}': {3} - - The type '{0}' does not support the operator '{1}'. Consider opening the module 'Microsoft.FSharp.Linq.NullableOperators'. - 型 '{0}' は演算子 '{1}' をサポートしていません。'Microsoft.FSharp.Linq.NullableOperators' モジュールを開いてください。 + + Unexpected exception from provided type '{0}' member '{1}': {2} + Unexpected exception from provided type '{0}' member '{1}': {2} - - The type '{0}' does not support a conversion to the type '{1}' - 型 '{0}' は型 '{1}' への変換をサポートしていません + + Unexpected 'null' return value from provided type '{0}' member '{1}' + Unexpected 'null' return value from provided type '{0}' member '{1}' - - The type '{0}' has a method '{1}' (full name '{2}'), but the method is static - 型 '{0}' にメソッド '{1}' (フル ネームは '{2}') がありますが、メソッドは静的です + + Unknown static argument kind '{0}' when resolving a reference to a provided type or method '{1}' + Unknown static argument kind '{0}' when resolving a reference to a provided type or method '{1}' - - The type '{0}' has a method '{1}' (full name '{2}'), but the method is not static - 型 '{0}' にメソッド '{1}' (フル ネームは '{2}') がありますが、メソッドは静的ではありません + + Unsupported constant type '{0}'. 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. + Unsupported constant type '{0}'. 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. - - The constraints 'struct' and 'not struct' are inconsistent - 'struct' および 'not struct' という制約は矛盾しています + + Invalid member '{0}' on provided type '{1}'. Only properties, methods and constructors are allowed + Invalid member '{0}' on provided type '{1}'. Only properties, methods and constructors are allowed - - The type '{0}' does not have 'null' as a proper value - 型 '{0}' に 'null' は使用できません + + Unsupported expression '{0}' from type provider. If you are the author of this type provider, consider adjusting it to provide a different provided expression. + Unsupported expression '{0}' from type provider. If you are the author of this type provider, consider adjusting it to provide a different provided expression. - - The type '{0}' does not have 'null' as a proper value. To create a null value for a Nullable type use 'System.Nullable()'. - 型 '{0}' に 'null' は使用できません。Null 許容型に対して null 値を作成するには、'System.Nullable()' を使用します。 + + The event '{0}' has a non-standard type. If this event is declared in another CLI language, you may need to access this event using the explicit {1} and {2} methods for the event. If this event is declared in F#, make the type of the event an instantiation of either 'IDelegateEvent<_>' or 'IEvent<_,_>'. + The event '{0}' has a non-standard type. If this event is declared in another CLI language, you may need to access this event using the explicit {1} and {2} methods for the event. If this event is declared in F#, make the type of the event an instantiation of either 'IDelegateEvent<_>' or 'IEvent<_,_>'. - - The type '{0}' does not support the 'comparison' constraint because it has the 'NoComparison' attribute - 型 '{0}' は 'NoComparison' 属性があるため、'comparison' 制約をサポートしません + + This construct is experimental + This construct is experimental - - The type '{0}' does not support the 'comparison' constraint. For example, it does not support the 'System.IComparable' interface - 型 '{0}' は 'comparison' 制約をサポートしません。たとえば、'System.IComparable' インターフェイスをサポートしません。 + + Expression does not have a name. + Expression does not have a name. - - The type '{0}' 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 - 型 '{0}' は、'comparison' 制約をサポートしない 1 個または複数の構造体の要素型を持つレコード、共用体、または構造体なので、'comparison' 制約をサポートしません。この型では comparison を使用しないようにするか、または、comparison をサポートしないフィールド型を決定するために、'StructuralComparison' 属性を型に追加してください。 + + applicative computation expressions + applicative computation expressions - - The type '{0}' does not support the 'equality' constraint because it has the 'NoEquality' attribute - 型 '{0}' は 'NoEquality' 属性があるため、'equality' 制約をサポートしません + + default interface member consumption + default interface member consumption - - The type '{0}' does not support the 'equality' constraint because it is a function type - 型 '{0}' は関数型なので、'equality' 制約をサポートしません + + dotless float32 literal + dotless float32 literal - - The type '{0}' 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 - 型 '{0}' は、'equality' 制約をサポートしない 1 個または複数の構造体の要素型を持つレコード、共用体、または構造体なので、'equality' 制約をサポートしません。この型を持つ equality を使用しないでください。または、equality をサポートしないフィールド型を決定するために、'StructuralEquality' 属性を型に追加してください。 + + fixed-index slice 3d/4d + fixed-index slice 3d/4d - - The type '{0}' is not a CLI enum type - 型 '{0}' は CLI の列挙型ではありません + + from-end slicing + from-end slicing - - The type '{0}' has a non-standard delegate type - 型 '{0}' には標準ではないデリゲート型があります + + implicit yield + implicit yield - - The type '{0}' is not a CLI delegate type - 型 '{0}' は CLI のデリゲート型ではありません + + interfaces with multiple generic instantiation + interfaces with multiple generic instantiation - - 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. - の型パラメーターは 'Nullable' にインスタンス化できません。別の CLI 言語などでも 'Nullable' の値との関係で、'null' の意味があいまいにならないように、この制限があります。 + + nameof + nameof - - A generic construct requires that the type '{0}' is a CLI or F# struct type - ジェネリック コンストラクトの型 '{0}' は、CLI または F# の構造体型にする必要があります + + nullable optional interop + nullable optional interop - - A generic construct requires that the type '{0}' is an unmanaged type - ジェネリック コンストラクターの型 '{0}' はアンマネージ型にする必要があります + + open type declaration + open type declaration - - The type '{0}' is not compatible with any of the types {1}, arising from the use of a printf-style format string - 型 '{0}' は、printf 形式の書式指定文字列の使用によって生じる型 {1} のいずれとも互換性がありません + + overloads for custom operations + overloads for custom operations - - A generic construct requires that the type '{0}' have reference semantics, but it does not, i.e. it is a struct - ジェネリック コンストラクトの型 '{0}' には参照のセマンティクスが必要ですが、存在しません (つまり構造体です) + + package management + package management - - A generic construct requires that the type '{0}' be non-abstract - ジェネリック コンストラクトの型 '{0}' は、非抽象にする必要があります + + whitespace relexation + whitespace relexation - - A generic construct requires that the type '{0}' have a public default constructor - ジェネリック コンストラクトの型 '{0}' には、パブリック既定コンストラクターが必要です + + single underscore pattern + single underscore pattern - - Type instantiation length mismatch - 型のインスタンス化の長さが一致しません + + string interpolation + string interpolation - - Optional arguments not permitted here - オプションの引数は使用できません + + wild card in for loop + wild card in for loop - - {0} is not a static member - {0} は静的メンバーではありません + + witness passing for trait constraints in F# quotations + witness passing for trait constraints in F# quotations - - {0} is not an instance member - {0} はインスタンス メンバーではありません + + The record, struct or class field '{0}' is not accessible from this code location + The record, struct or class field '{0}' is not accessible from this code location - - Argument length mismatch - 引数の長さが一致しません + + All branches of a pattern match expression must return values of the same type as the first branch, which here is '{0}'. This branch returns a value of type '{1}'. + All branches of a pattern match expression must return values of the same type as the first branch, which here is '{0}'. This branch returns a value of type '{1}'. - - The argument types don't match - 引数の型が一致しません + + 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. + 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. - - 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 - このメソッドのこの位置には、CLI 'params' パラメーターが必要です。'params' は、可変個数の引数を C# などの言語のメソッドに渡すときに使用されます。この引数には配列を渡してください。 + + Bad format specifier: '{0}' + Bad format specifier: '{0}' - - The member or object constructor '{0}' is not {1} - メンバーまたはオブジェクト コンストラクター '{0}' は {1} ではありません + + Bad precision in format specifier + Bad precision in format specifier - - The member or object constructor '{0}' is not {1}. 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. - メンバーまたはオブジェクト コンストラクター '{0}' は {1} ではありません。プライベート メンバーには、宣言する型の中からのみアクセスできます。プロテクト メンバーには、拡張する型からのみアクセスでき、内部ラムダ式からアクセスすることはできません。 + + Bad width in format specifier + Bad width in format specifier - - {0} is not a static method - {0} は静的メソッドではありません + + '{0}' does not support prefix '{1}' flag + '{0}' does not support prefix '{1}' flag - - {0} is not an instance method - {0} はインスタンス メソッドではありません + + '{0}' format does not support '0' flag + '{0}' format does not support '0' flag - - The member or object constructor '{0}' has no argument or settable return property '{1}'. {2}. - メンバーまたはオブジェクト コンストラクター '{0}' には、引数または設定可能な戻り値のプロパティ '{1}' がありません。{2} + + '{0}' flag set twice + '{0}' flag set twice - - The object constructor '{0}' has no argument or settable return property '{1}'. {2}. - オブジェクト コンストラクター '{0}' には、引数または設定可能な戻り値のプロパティ '{1}' がありません。{2}。 + + '{0}' format does not support precision + '{0}' format does not support precision - - The required signature is {0} - 必要なシグネチャは {0} です + + Interpolated strings may not use '%' format specifiers unless each is given an expression, e.g. '%d{{1+1}}'. + Interpolated strings may not use '%' format specifiers unless each is given an expression, e.g. '%d{{1+1}}'. - - The member or object constructor '{0}' requires {1} argument(s). The required signature is '{2}'. - メンバーまたはオブジェクト コンストラクター '{0}' には {1} 個の引数が必要です。必要なシグネチャは '{2}' です。 + + .NET-style format specifiers such as '{{x,3}}' or '{{x:N5}}' may not be mixed with '%' format specifiers. + .NET-style format specifiers such as '{{x,3}}' or '{{x:N5}}' may not be mixed with '%' format specifiers. - - The member or object constructor '{0}' requires {1} additional argument(s). The required signature is '{2}'. - メンバーまたはオブジェクト コンストラクター '{0}' には追加で {1} 個の引数が必要です。必要なシグネチャは '{2}' です。 + + The '%P' specifier may not be used explicitly. + The '%P' specifier may not be used explicitly. - - The member or object constructor '{0}' requires {1} argument(s). The required signature is '{2}'. Some names for missing arguments are {3}. - メンバーまたはオブジェクト コンストラクター '{0}' には {1} 個の引数が必要です。必要なシグネチャは '{2}' です。足りない引数の名前は {3} です。 + + 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. + 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. - - The member or object constructor '{0}' requires {1} additional argument(s). The required signature is '{2}'. Some names for missing arguments are {3}. - メンバーまたはオブジェクト コンストラクター '{0}' には追加で {1} 個の引数が必要です。必要なシグネチャは '{2}' です。足りない引数の名前は {3} です。 + + 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. + 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. - - The member or object constructor '{0}' requires {1} argument(s) but is here given {2} unnamed and {3} named argument(s). The required signature is '{4}'. - メンバーまたはオブジェクト コンストラクター '{0}' には {1} 個の引数が必要ですが、名前がない引数が {2} 個、名前付き引数が {3} 個です。必要なシグネチャは '{4}' です。 + + The # formatting modifier is invalid in F# + The # formatting modifier is invalid in F# - - The member or object constructor '{0}' takes {1} argument(s) but is here given {2}. The required signature is '{3}'. - メンバーまたはオブジェクト コンストラクター '{0}' には {1} 個の引数が必要ですが、{2} 個です。必要なシグネチャは '{3}' です。 + + 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. + 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. - - The object constructor '{0}' takes {1} argument(s) but is here given {2}. The required signature is '{3}'. - オブジェクト コンストラクター '{0}' には {1} 個の引数が必要ですが、指定されているのは {2} 個です。必要なシグネチャは '{3}' です。 + + Missing format specifier + Missing format specifier - - The object constructor '{0}' takes {1} argument(s) but is here given {2}. The required signature is '{3}'. If some of the arguments are meant to assign values to properties, consider separating those arguments with a comma (','). - オブジェクト コンストラクター '{0}' には {1} 個の引数が必要ですが、指定されているのは {2} 個です。必要なシグネチャは '{3}' です。いくつかの引数がプロパティに値を割り当てる引数である場合は、それらの引数をコンマ (',') で区切ることを検討してください。 + + Positional specifiers are not permitted in format strings + Positional specifiers are not permitted in format strings - - The member or object constructor '{0}' takes {1} type argument(s) but is here given {2}. The required signature is '{3}'. - メンバーまたはオブジェクト コンストラクター '{0}' には {1} 個の型引数が必要ですが、存在するのは {2} 個です。必要なシグネチャは '{3}' です。 + + Precision missing after the '.' + Precision missing after the '.' - - A member or object constructor '{0}' taking {1} arguments is not accessible from this code location. All accessible versions of method '{2}' take {3} arguments. - {1} 個の引数を使用するメンバーまたはオブジェクト コンストラクター '{0}' は、このコードの場所からはアクセスできません。メソッド '{2}' のすべてのアクセス可能なバージョンは {3} 個の引数を使用します。 + + Prefix flag (' ' or '+') set twice + Prefix flag (' ' or '+') set twice - - Incorrect generic instantiation. No {0} member named '{1}' takes {2} generic arguments. - ジェネリックのインスタンス化が正しくありません。{2} のジェネリック引数を使用する '{1}' という {0} メンバーはありません。 + + - {0} + - {0} - - The member or object constructor '{0}' does not take {1} argument(s). An overload was found taking {2} arguments. - メンバーまたはオブジェクト コンストラクター '{0}' は {1} 個の引数ではありません。{2} 個の引数を使用するオーバーロードが見つかりました。 + + From the end slicing with requires language version 5.0, use /langversion:preview. + From the end slicing with requires language version 5.0, use /langversion:preview. - - No {0} member or object constructor named '{1}' takes {2} arguments - {2} 個の引数を使用する {0} メンバーまたはオブジェクト コンストラクター '{1}' がありません + + Error emitting 'System.Reflection.AssemblyCultureAttribute' attribute -- 'Executables cannot be satellite assemblies, Culture should always be empty' + Error emitting 'System.Reflection.AssemblyCultureAttribute' attribute -- 'Executables cannot be satellite assemblies, Culture should always be empty' - - No {0} member or object constructor named '{1}' takes {2} arguments. Note the call to this member also provides {3} named arguments. - {2} 個の引数を使用する {0} メンバーまたはオブジェクト コンストラクター '{1}' がありません。このメンバーの呼び出しには、{3} 個の名前付き引数も必要です。 + + Assembly '{0}' 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. + Assembly '{0}' 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. - - No {0} member or object constructor named '{1}' takes {2} arguments. The named argument '{3}' doesn't correspond to any argument or settable return property for any overload. - {2} 個の引数を使用する {0} メンバーまたはオブジェクト コンストラクター '{1}' がありません。名前付き引数 '{3}' に対応する、オーバーロードに合致した任意の引数、または設定可能な戻り値のプロパティはありません。 + + The 'AssemblyVersionAttribute' has been ignored because a version was given using a command line option + The 'AssemblyVersionAttribute' has been ignored because a version was given using a command line option - - Method or object constructor '{0}' not found - メソッドまたはオブジェクト コンストラクター '{0}' が見つかりません + + An {0} specified version '{1}', but this value is a wildcard, and you have requested a deterministic build, these are in conflict. + An {0} specified version '{1}', but this value is a wildcard, and you have requested a deterministic build, these are in conflict. - - No overloads match for method '{0}'. - メソッド '{0}' に一致するオーバーロードはありません。 + + Assembly '{0}' 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. + Assembly '{0}' 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. - - A unique overload for method '{0}' could not be determined based on type information prior to this program point. A type annotation may be needed. - このプログラム ポイントよりも前の型情報に基づいて、メソッド '{0}' の固有のオーバーロードを決定することができませんでした。型の注釈が必要な場合があります。 + + The attribute {0} specified version '{1}', but this value is invalid and has been ignored + The attribute {0} specified version '{1}', but this value is invalid and has been ignored - - Candidates:\n{0} - 候補:\n{0} + + Option '--delaysign' overrides attribute 'System.Reflection.AssemblyDelaySignAttribute' given in a source file or added module + Option '--delaysign' overrides attribute 'System.Reflection.AssemblyDelaySignAttribute' given in a source file or added module - - Accessibility modifiers are not permitted on 'do' bindings, but '{0}' was given. - 'do' バインドにはアクセシビリティ修飾子を使用できませんが、'{0}' が指定されました。 + + Deterministic builds only support portable PDBs (--debug:portable or --debug:embedded) + Deterministic builds only support portable PDBs (--debug:portable or --debug:embedded) - - End of file in #if section begun at or after here - この位置以前に始まった #if セクションの途中でファイルの終わりが見つかりました + + Ignoring mixed managed/unmanaged assembly '{0}' during static linking + Ignoring mixed managed/unmanaged assembly '{0}' during static linking - - End of file in string begun at or before here - この位置以前に始まった文字列の途中でファイルの終わりが見つかりました + + The key file '{0}' could not be opened + The key file '{0}' could not be opened - - End of file in verbatim string begun at or before here - この位置以前に始まった verbatim 文字列の途中でファイルの終わりが見つかりました + + Option '--keyfile' overrides attribute 'System.Reflection.AssemblyKeyFileAttribute' given in a source file or added module + Option '--keyfile' overrides attribute 'System.Reflection.AssemblyKeyFileAttribute' given in a source file or added module - - End of file in comment begun at or before here - この位置以前に始まったコメントの途中でファイルの終わりが見つかりました + + Option '--keycontainer' overrides attribute 'System.Reflection.AssemblyNameAttribute' given in a source file or added module + Option '--keycontainer' overrides attribute 'System.Reflection.AssemblyNameAttribute' given in a source file or added module - - End of file in string embedded in comment begun at or before here - この位置以前に始まったコメントに埋め込まれた文字列の途中でファイルの終わりが見つかりました + + No implementation files specified + No implementation files specified - - End of file in verbatim string embedded in comment begun at or before here - この位置以前に始まったコメントに埋め込まれた verbatim 文字列の途中でファイルの終わりが見つかりました + + --pathmap can only be used with portable PDBs (--debug:portable or --debug:embedded) + --pathmap can only be used with portable PDBs (--debug:portable or --debug:embedded) - - End of file in IF-OCAML section begun at or before here - この位置以前に始まった IF-OCAML セクションの途中でファイルの終わりが見つかりました + + A problem occurred writing the binary '{0}': {1} + A problem occurred writing the binary '{0}': {1} - - End of file in directive begun at or before here - この位置以前に始まったディレクティブの途中でファイルの終わりが見つかりました + + The code in assembly '{0}' 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. + The code in assembly '{0}' 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. - - No #endif found for #if or #else - #if または #else の #endif が見つかりません + + 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. + 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. - - Attributes have been ignored in this construct - このコンストラクトの属性は無視されました + + The assembly '{0}' is listed on the command line. Assemblies should be referenced using a command line flag such as '-r'. + The assembly '{0}' is listed on the command line. Assemblies should be referenced using a command line flag such as '-r'. - - 'use' bindings are not permitted in primary constructors - プライマリ コンストラクターに 'use' 束縛は使用できません + + The resident compilation service was not used because a problem occured in communicating with the server. + The resident compilation service was not used because a problem occured in communicating with the server. - - 'use' bindings are not permitted in modules and are treated as 'let' bindings - モジュールに 'use' 束縛は使用できません。この束縛は 'let' 束縛として扱われます。 + + Passing a .resx file ({0}) 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. + Passing a .resx file ({0}) 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. - - An integer for loop must use a simple identifier - ループの整数には単純な識別子を使用する必要があります + + Static linking may not include a .EXE + Static linking may not include a .EXE - - At most one 'with' augmentation is permitted - 使用できる 'with' の拡張の数は 1 以下です + + Static linking may not include a mixed managed/unmanaged DLL + Static linking may not include a mixed managed/unmanaged DLL - - A semicolon is not expected at this point - この位置にセミコロンは使用できません + + 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). + 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). - - Unexpected end of input - 予期しない入力の終わりです: + + System.Runtime.InteropServices assembly is required to use UnknownWrapper\DispatchWrapper classes. + System.Runtime.InteropServices assembly is required to use UnknownWrapper\DispatchWrapper classes. - - Accessibility modifiers are not permitted here, but '{0}' was given. - ここではアクセシビリティ修飾子を使用できませんが、'{0}' が指定されました。 + + Exiting - too many errors + Exiting - too many errors - - Only '#' compiler directives may occur prior to the first 'namespace' declaration - 最初の 'namespace' 宣言の前に指定できるのは、'#' コンパイラ ディレクティブのみです + + Conflicting options specified: 'win32manifest' and 'win32res'. Only one of these can be used. + Conflicting options specified: 'win32manifest' and 'win32res'. Only one of these can be used. - - Accessibility modifiers should come immediately prior to the identifier naming a construct - アクセシビリティ修飾子は、コンストラクトを示す識別子の直前に指定する必要があります + + Cannot find FSharp.Core.dll in compiler's directory + Cannot find FSharp.Core.dll in compiler's directory - - 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 = ...' - ファイルは名前空間またはモジュールの宣言から開始する必要があります。たとえば、'namespace SomeNamespace.SubNamespace'、'module SomeNamespace.SomeModule' などです。ただし、両方は指定しません。名前空間内でモジュールを定義するには、'module SomeModule = ...' を使用してください。 + + Invalid directive '#{0} {1}' + Invalid directive '#{0} {1}' - - A module abbreviation must be a simple name, not a path - モジュールの省略形はパスではなく簡易名にする必要があります + + The 'if' expression needs to have type '{0}' to satisfy context type requirements. It currently has type '{1}'. + The 'if' expression needs to have type '{0}' to satisfy context type requirements. It currently has type '{1}'. - - Ignoring attributes on module abbreviation - モジュールの省略形にある属性を無視します + + Taking the address of a literal field is invalid + Taking the address of a literal field is invalid - - The '{0}' accessibility attribute is not allowed on module abbreviation. Module abbreviations are always private. - モジュールの省略形には '{0}' アクセシビリティ属性を使用できません。モジュールの省略形は常にプライベートです。 + + This operation involves taking the address of a value '{0}' represented using a local variable or other special representation. This is invalid. + This operation involves taking the address of a value '{0}' represented using a local variable or other special representation. This is invalid. - - The '{0}' visibility attribute is not allowed on module abbreviation. Module abbreviations are always private. - モジュールの省略形には '{0}' 表示範囲属性を使用できません。モジュールの省略形は常にプライベートです。 + + Custom marshallers cannot be specified in F# code. Consider using a C# helper function. + Custom marshallers cannot be specified in F# code. Consider using a C# helper function. - - Unclosed block - ブロックが閉じられていません + + The DefaultAugmentation attribute could not be decoded + The DefaultAugmentation attribute could not be decoded - - Unmatched 'begin' or 'struct' - 'begin' または 'struct' が対応しません + + The DllImport attribute could not be decoded + The DllImport attribute could not be decoded - - A module name must be a simple name, not a path - モジュール名はパスではなく簡易名にする必要があります + + Dynamic invocation of {0} is not supported + Dynamic invocation of {0} is not supported - - Unexpected empty type moduleDefn list - 予期しない空の型の moduleDefn リストです: + + The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute + The type '{0}' has been marked as having an Explicit layout, but the field '{1}' has not been marked with the 'FieldOffset' attribute - - Attributes should be placed before 'val' - 属性は 'val' の前に配置してください + + The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit) + The FieldOffset attribute can only be placed on members of types marked with the StructLayout(LayoutKind.Explicit) - - Attributes are not permitted on interface implementations - インターフェイスの実装に属性は使用できません + + The FieldOffset attribute could not be decoded + The FieldOffset attribute could not be decoded - - Syntax error - 構文エラーです + + Incorrect number of type arguments to local call + Incorrect number of type arguments to local call - - Augmentations are not permitted on delegate type moduleDefns - デリゲート型 moduleDefns では拡張が許可されていません + + Label {0} not found + Label {0} not found - - Unmatched 'class', 'interface' or 'struct' - 'class'、'interface'、または 'struct' が対応しません + + Literal fields cannot be set + Literal fields cannot be set - - 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'. - 型定義には、1 つまたは複数のメンバーまたは他の宣言が必要です。空のクラス、構造体、またはインターフェイスを定義する場合、'type ... = class end'、'interface end'、または 'struct end' を使用してください。 + + Main module of program is empty: nothing will happen when it is run + Main module of program is empty: nothing will happen when it is run - - Unmatched 'with' or badly formatted 'with' block - with' が対応しないか、'with' ブロックの形式に誤りがあります + + The MarshalAs attribute could not be decoded + The MarshalAs attribute could not be decoded - - 'get', 'set' or 'get,set' required - 'get'、'set'、または 'get,set' が必要です + + Mutable variables cannot escape their method + Mutable variables cannot escape their method - - Only class types may take value arguments - 値の引数を使用できるのはクラス型のみです + + Reflected definitions cannot contain uses of the prefix splice operator '%' + Reflected definitions cannot contain uses of the prefix splice operator '%' - - Unmatched 'begin' - 'begin' が対応しません + + Bad image format + Bad image format - - Invalid declaration syntax - 宣言の構文が無効です + + Invalid algId - 'Exponent' expected + Invalid algId - 'Exponent' expected - - 'get' and/or 'set' required - 'get'、'set'、またはその両方が必要です + + Invalid bit Length + Invalid bit Length - - Type annotations on property getters and setters must be given after the 'get()' or 'set(v)', e.g. 'with get() : string = ...' - プロパティのゲッターおよびセッターでは、'get()' または 'set(v)' の後に型の注釈を指定する必要があります。たとえば、'with get() : string = ...' などです。 + + Invalid Magic value in CLR Header + Invalid Magic value in CLR Header - - A getter property is expected to be a function, e.g. 'get() = ...' or 'get(index) = ...' - ゲッターのプロパティは関数にする必要があります (たとえば、'get() = ...'、'get(index) = ...') + + Invalid Public Key blob + Invalid Public Key blob - - Multiple accessibilities given for property getter or setter - プロパティのゲッターまたはセッターに指定されたアクセシビリティが複数あります + + Invalid RSAParameters structure - '{{0}}' expected + Invalid RSAParameters structure - '{{0}}' expected - - Property setters must be defined using 'set value = ', 'set idx value = ' or 'set (idx1,...,idxN) value = ... ' - プロパティ Set アクセス操作子を定義するには、'set value = '、'set idx value = '、または 'set (idx1,...,idxN) value = ... ' を使用する必要があります + + Invalid signature size + Invalid signature size - - Interfaces always have the same visibility as the enclosing type - インターフェイスは、それを囲む型と常に同じ表示範囲を持ちます + + No signature directory + No signature directory - - Accessibility modifiers are not allowed on this member. Abstract slots always have the same visibility as the enclosing type. - アクセシビリティ修飾子はこのメンバーでは許可されていません。抽象スロットには、それを囲む型と常に同じ表示範囲があります。 + + Private key expected + Private key expected - - Attributes are not permitted on 'inherit' declarations - 'inherit' 宣言に属性は使用できません + + RSA key expected + RSA key expected - - Accessibility modifiers are not permitted on an 'inherits' declaration - 'inherits' 宣言にアクセシビリティ修飾子は使用できません + + The signature for this external function contains type parameters. Constrain the argument and return types to indicate the types of the corresponding C function. + The signature for this external function contains type parameters. Constrain the argument and return types to indicate the types of the corresponding C function. - - '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. - 'inherit' 宣言に 'as' 束縛は指定できません。メソッドをオーバーライドするときに基底クラスのメンバーにアクセスするには、'base.SomeMember' という構文を使用できます。'base' はキーワードです。この 'as' 束縛は削除してください。 + + GenSetStorage: {0} was represented as a static method but was not an appropriate lambda expression + GenSetStorage: {0} was represented as a static method but was not an appropriate lambda expression - - Attributes are not allowed here - ここでは属性を使用できません + + The StructLayout attribute could not be decoded + The StructLayout attribute could not be decoded - - Accessibility modifiers are not permitted in this position for type abbreviations - 型略称のこの位置にアクセシビリティ修飾子は使用できません + + This type cannot be used for a literal field + This type cannot be used for a literal field - - Accessibility modifiers are not permitted in this position for enum types - 列挙型のこの位置にアクセシビリティ修飾子は使用できません + + Undefined value '{0}' + Undefined value '{0}' - - All enum fields must be given values - すべての列挙型フィールドに値を指定する必要があります + + Unexpected GetSet annotation on a property + Unexpected GetSet annotation on a property - - Accessibility modifiers are not permitted on inline assembly code types - アクセシビリティ修飾子はインライン アセンブラー コード型では許可されていません + + Compiler error: unexpected unrealized value + Compiler error: unexpected unrealized value - - Unexpected identifier: '{0}' - 予期しない識別子: '{0}': + + The file '{0}' changed on disk unexpectedly, please reload. + The file '{0}' changed on disk unexpectedly, please reload. - - Accessibility modifiers are not permitted on union cases. Use 'type U = internal ...' or 'type U = private ...' to give an accessibility to the whole representation. - アクセシビリティ修飾子は共用体ケースに使用できません。表現全体にアクセシビリティを付与するには、'type U = internal ...' または 'type U = private ...' を使用してください。 + + Cannot generate MDB debug information. Failed to load the 'MonoSymbolWriter' type from the 'Mono.CompilerServices.SymbolWriter.dll' assembly. + Cannot generate MDB debug information. Failed to load the 'MonoSymbolWriter' type from the 'Mono.CompilerServices.SymbolWriter.dll' assembly. - - Accessibility modifiers are not permitted on enumeration fields - 列挙型フィールドにアクセシビリティ修飾子は使用できません + + Unexpected error creating debug information file '{0}' + Unexpected error creating debug information file '{0}' - - Consider using a separate record type instead - 代わりに別のレコード型を使用してください + + The name of the MDB file must be <assembly-file-name>.mdb. The --pdb option will be ignored. + The name of the MDB file must be <assembly-file-name>.mdb. The --pdb option will be ignored. - - Accessibility modifiers are not permitted on record fields. Use 'type R = internal ...' or 'type R = private ...' to give an accessibility to the whole representation. - アクセシビリティ修飾子はレコード フィールドに使用できません。表現全体にアクセシビリティを付与するには、'type R = internal ...' または 'type R = private ...' を使用してください + + MDB generation failed. Could not find compatible member {0} + MDB generation failed. Could not find compatible member {0} - - The declaration form 'let ... and ...' for non-recursive bindings is not used in F# code. Consider using a sequence of 'let' bindings - 非再帰的な束縛の宣言の形式 'let ... and ...' は、F# コードでは使用されません。'let' 束縛のシーケンスを使用してください。 + + Invalid argument to 'methodhandleof' during codegen + Invalid argument to 'methodhandleof' during codegen - - Unmatched '(' - '(' が対応しません + + An imported assembly uses the type '{0}' but that type is not public + An imported assembly uses the type '{0}' but that type is not public - - Successive patterns should be separated by spaces or tupled - 複数のパターンが連続する場合、スペースで区切るかタプル化します + + Invalid value '{0}' for unit-of-measure parameter '{1}' + Invalid value '{0}' for unit-of-measure parameter '{1}' - - No matching 'in' found for this 'let' - この 'let' に対応する 'in' が見つかりません + + Invalid value unit-of-measure parameter '{0}' + Invalid value unit-of-measure parameter '{0}' - - Error in the return expression for this 'let'. Possible incorrect indentation. - この 'let' の return 式にエラーが見つかりました。インデントが正しくない可能性があります。 + + Invalid number of generic arguments to type '{0}' in provided type. Expected '{1}' arguments, given '{2}'. + Invalid number of generic arguments to type '{0}' in provided type. Expected '{1}' arguments, given '{2}'. - - The block following this '{0}' is unfinished. Every code block is an expression and must have a result. '{1}' cannot be the final code element in a block. Consider giving this block an explicit result. - この '{0}' に続くブロックが完了していません。すべてのコード ブロックは式であり、結果を持つ必要があります。'{1}' をブロック内の最後のコード要素にすることはできません。このブロックに明示的な結果を指定することを検討してください。 + + Internal error or badly formed metadata: not enough type parameters were in scope while importing + Internal error or badly formed metadata: not enough type parameters were in scope while importing - - Incomplete conditional. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'. - 不完全な条件です。'if <expr> then <expr>' や 'if <expr> then <expr> else <expr>' が必要でした。 + + A reference to the DLL {0} is required by assembly {1}. The imported type {2} is located in the first assembly and could not be resolved. + A reference to the DLL {0} is required by assembly {1}. The imported type {2} is located in the first assembly and could not be resolved. - - 'assert' may not be used as a first class value. Use 'assert <expr>' instead. - 'assert' をファースト クラス値として使用することはできません。代わりに 'assert <expr>' を使用します。 + + A reference to the type '{0}' in assembly '{1}' was found, but the type could not be found in that assembly + A reference to the type '{0}' in assembly '{1}' was found, but the type could not be found in that assembly - - Identifier expected - 識別子がありません + + The type '{0}' is required here and is unavailable. You must add a reference to assembly '{1}'. + The type '{0}' is required here and is unavailable. You must add a reference to assembly '{1}'. - - 'in' or '=' expected - 'in' または '=' が必要です + + This expression returns a value of type '{0}' 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'. + This expression returns a value of type '{0}' 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'. - - 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. - シーケンス式または計算式で '->' を使用する場合、'for pat in expr -> expr' という形式にするよう制限されています。より複雑なシーケンス式でエレメントを生成するには、'for ... in ... do ... yield...' 構文を使用します。 + + This expression returns a value of type '{0}' 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!'. + This expression returns a value of type '{0}' 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!'. - - Successive arguments should be separated by spaces or tupled, and arguments involving function or method applications should be parenthesized - 複数の引数が連続する場合、スペースで区切るかタプル化します。関数またはメソッド アプリケーションに関する引数の場合、かっこで囲む必要があります。 + + Invalid provided literal value '{0}' + Invalid provided literal value '{0}' - - Unmatched '[' - '[' が対応しません + + invalid full name for provided type + invalid full name for provided type - - Missing qualification after '.' - '.' の後に修飾子がありません + + invalid namespace for provided type + invalid namespace for provided type - - In F# code you may use 'expr.[expr]'. A type annotation may be required to indicate the first expression is an array - F# コードでは、'expr.[expr]' を使用できます。最初の式が配列であることを示すには、型の注釈が必要です。 + + The 'anycpu32bitpreferred' platform can only be used with EXE targets. You must use 'anycpu' instead. + The 'anycpu32bitpreferred' platform can only be used with EXE targets. You must use 'anycpu' instead. - - Mismatched quotation, beginning with '{0}' - '{0}' で始まる引用符が対応しません + + {0} '{1}' not found in assembly '{2}'. 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. + {0} '{1}' not found in assembly '{2}'. 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. - - Unmatched '{0}' - '{0}' が対応しません + + {0} '{1}' not found in type '{2}' from assembly '{3}'. 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. + {0} '{1}' not found in type '{2}' from assembly '{3}'. 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. - - Unmatched '[|' - '[|' が対応しません + + 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. + 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. - - Unmatched '{{' - '{{' が対応しません + + Used to give the current class object an object name. Also used to give a name to a whole pattern within a pattern match. + Used to give the current class object an object name. Also used to give a name to a whole pattern within a pattern match. - - Field bindings must have the form 'id = expr;' - フィールドの束縛は 'id = expr;' という形式にする必要があります + + Used to verify code during debugging. + Used to verify code during debugging. - - This member is not permitted in an object implementation - オブジェクトの実装では、このメンバーは使用できません + + Used as the name of the base class object. + Used as the name of the base class object. - - Missing function body - 関数の本体がありません + + In verbose syntax, indicates the start of a code block. + In verbose syntax, indicates the start of a code block. - - Syntax error in labelled type argument - ラベル付き型引数に構文エラーが見つかりました + + Converts a type to type that is higher in the hierarchy. + Converts a type to type that is higher in the hierarchy. - - Unexpected infix operator in type expression - 型式に予期しない挿入演算子が見つかりました: + + In verbose syntax, indicates the start of a class definition. + In verbose syntax, indicates the start of a class definition. - - The syntax '(typ,...,typ) ident' is not used in F# code. Consider using 'ident<typ,...,typ>' instead - 構文 '(typ,...,typ) ident' は F# コードでは使用されません。代わりに、'ident<typ,...,typ>' を使用してください + + Indicates an implementation of an abstract method; used together with an abstract method declaration to create a virtual method. + Indicates an implementation of an abstract method; used together with an abstract method declaration to create a virtual method. - - Invalid literal in type - 型のリテラルが無効です + + Used to declare a delegate. + Used to declare a delegate. - - Unexpected infix operator in unit-of-measure expression. Legal operators are '*', '/' and '^'. - 単位式に予期しない挿入演算子が見つかりました。正しい演算子は '*'、'/'、および '^' です。 + + Used in looping constructs or to execute imperative code. + Used in looping constructs or to execute imperative code. - - Unexpected integer literal in unit-of-measure expression - 単位式に予期しない整数リテラルが見つかりました: + + In verbose syntax, indicates the end of a block of code in a looping expression. + In verbose syntax, indicates the end of a block of code in a looping expression. - - Syntax error: unexpected type parameter specification - 構文エラー: 予期しない型パラメーターが指定されました + + Used to convert to a type that is lower in the inheritance chain. + Used to convert to a type that is lower in the inheritance chain. - - Mismatched quotation operator name, beginning with '{0}' - '{0}' で始まる演算子名の引用符が対応しません + + In a for expression, used when counting in reverse. + In a for expression, used when counting in reverse. - - Active pattern case identifiers must begin with an uppercase letter - アクティブ パターンのケース識別子は先頭を大文字にする必要があります + + Converts a type to a type that is lower in the hierarchy. + Converts a type to a type that is lower in the hierarchy. - - The '|' character is not permitted in active pattern case identifiers - 文字 ' |' は、アクティブなパターンのケース識別子では許可されていません + + Used in conditional branching. A short form of else if. + Used in conditional branching. A short form of else if. - - Denominator must not be 0 in unit-of-measure exponent - 分母は単位指数で、0 以外でなければなりません + + Used in conditional branching. + Used in conditional branching. - - No '=' symbol should follow a 'namespace' declaration - 'namespace' 宣言の後に '=' 記号は指定できません + + 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. + 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. - - The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end' - F# コードでは ... 'module ... = struct .. end' という構文は使用されません。'module ... = begin .. end' を使用してください。 + + Used to declare an exception type. + Used to declare an exception type. - - The syntax 'module ... : sig .. end' is not used in F# code. Consider using 'module ... = begin .. end' - F# コードでは 'module ... : sig .. end' という構文は使用されません。'module ... = begin .. end' を使用してください。 + + Indicates that a declared program element is defined in another binary or assembly. + Indicates that a declared program element is defined in another binary or assembly. - - A static field was used where an instance field is expected - インスタンス フィールドが必要な場所に静的フィールドが使用されました + + Used together with try to introduce a block of code that executes regardless of whether an exception occurs. + Used together with try to introduce a block of code that executes regardless of whether an exception occurs. - - Method '{0}' is not accessible from this code location - メソッド '{0}' はこのコードの場所からアクセスできません + + Used in looping constructs. + Used in looping constructs. - - Implicit product of measures following / - / に続く暗黙的な単位の積 + + Used in lambda expressions, also known as anonymous functions. + Used in lambda expressions, also known as anonymous functions. - - Unexpected SynMeasure.Anon - 予期しない SynMeasure.Anon です: + + 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. + 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. - - Non-zero constants cannot have generic units. For generic zero, write 0.0<_>. - ゼロではない定数に汎用ユニットを含めることはできません。汎用ゼロの場合、0.0<_> とします。 + + Used to reference the top-level .NET namespace. + Used to reference the top-level .NET namespace. - - In sequence expressions, results are generated using 'yield' - シーケンス式の結果は、'yield' を使用して生成されます + + Used in conditional branching constructs. + Used in conditional branching constructs. - - Unexpected big rational constant - 有理定数が大きすぎます: + + Used for sequence expressions and, in verbose syntax, to separate expressions from bindings. + Used for sequence expressions and, in verbose syntax, to separate expressions from bindings. - - Units-of-measure supported only on float, float32, decimal and signed integer types - float 型、float32 型、decimal 型、および符号付き整数型でのみサポートされる単位です + + Used to specify a base class or base interface. + Used to specify a base class or base interface. - - Unexpected Const_uint16array - 予期しない Const_uint16array です: + + Used to indicate a function that should be integrated directly into the caller's code. + Used to indicate a function that should be integrated directly into the caller's code. - - Unexpected Const_bytearray - 予期しない Const_bytearray です: + + Used to declare and implement interfaces. + Used to declare and implement interfaces. - - A parameter with attributes must also be given a name, e.g. '[<Attribute>] Name : Type' - 属性のパラメーターにも名前を指定する必要があります。例: '[<Attribute>] Name : Type' + + Used to specify that a member is visible inside an assembly but not outside it. + Used to specify that a member is visible inside an assembly but not outside it. - - Return values cannot have names - 戻り値には名前を指定できません + + Used to specify a computation that is to be performed only when a result is needed. + Used to specify a computation that is to be performed only when a result is needed. - - MemberKind.PropertyGetSet only expected in parse trees - 解析ツリーに使用できるのは MemberKind.PropertyGetSet のみです + + Assigns a value to a variable. + Assigns a value to a variable. - - Namespaces cannot contain values. Consider using a module to hold your value declarations. - 名前空間に値を含めることはできません。値の宣言を保持するモジュールを使用してください。 + + Used to associate, or bind, a name to a value or function. + Used to associate, or bind, a name to a value or function. - - 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. - 型を定義したファイルおよび名前空間宣言グループの場合を除き、名前空間に拡張メンバーを含めることはできません。拡張メンバーの宣言を保持するモジュールを使用してください。 + + Used in computation expressions to bind a name to the result of another computation expression. + Used in computation expressions to bind a name to the result of another computation expression. - - Multiple visibility attributes have been specified for this identifier - この識別子に複数の表示範囲属性が指定されました + + Used to branch by comparing a value to a pattern. + Used to branch by comparing a value to a pattern. - - Multiple visibility attributes have been specified for this identifier. 'let' bindings in classes are always private, as are any 'let' bindings inside expressions. - この識別子に複数の表示範囲属性が指定されました。式内のすべての 'let' 束縛と同様に、クラス内の 'let' 束縛は常にプライベートです。 + + Used in computation expressions to pattern match directly over the result of another computation expression. + Used in computation expressions to pattern match directly over the result of another computation expression. - - The name '({0})' 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 '{1}' instead. - 名前 '({0})' はメンバー名として使用しないでください。型の比較セマンティクスを定義するには、'System.IComparable' インターフェイスを実装してください。他の CLI 言語から使用するために静的メンバーを定義する場合、代わりに '{1}' という名前を使用してください。 + + Used to declare a property or method in an object type. + Used to declare a property or method in an object type. - - The name '({0})' 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 '{1}' instead. - 名前 '({0})' はメンバー名として使用しないでください。型の等値セマンティクスを定義するには、'Object.Equals' メンバーをオーバーライドしてください。他の CLI 言語から使用するために静的メンバーを定義する場合、代わりに '{1}' という名前を使用してください。 + + Used to associate a name with a group of related types, values, and functions, to logically separate it from other code. + Used to associate a name with a group of related types, values, and functions, to logically separate it from other code. - - The name '({0})' should not be used as a member name. If defining a static member for use from other CLI languages then use the name '{1}' instead. - 名前 '({0})' はメンバー名として使用しないでください。他の CLI 言語から使用するために静的メンバーを定義する場合、代わりに '{1}' という名前を使用してください。 + + Used to declare a variable, that is, a value that can be changed. + Used to declare a variable, that is, a value that can be changed. - - The name '({0})' should not be used as a member name because it is given a standard definition in the F# library over fixed types - 名前 '({0})' はメンバー名として使用しないでください。固定の型に関して、F# ライブラリではこの名前は標準的な定義が指定されています。 + + Used to associate a name with a group of related types and modules, to logically separate it from other code. + Used to associate a name with a group of related types and modules, to logically separate it from other code. - - The '{0}' 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. - 通常、'{0}' 演算子は再定義できません。特定の型について、オーバーロードされた比較セマンティクスを定義するには、その型の定義で 'System.IComparable' インターフェイスを実装してください。 + + 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. + 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. - - The '{0}' operator should not normally be redefined. To define equality semantics for a type, override the 'Object.Equals' member in the definition of that type. - 通常、'{0}' 演算子は再定義できません。型の等値セマンティクスを定義するには、その型の定義で 'Object.Equals' メンバーをオーバーライドしてください。 + + Not actually a keyword. However, not struct in combination is used as a generic parameter constraint. + Not actually a keyword. However, not struct in combination is used as a generic parameter constraint. - - The '{0}' operator should not normally be redefined. Consider using a different operator name - 通常、'{0}' 演算子は再定義できません。別の演算子名を使用してください。 + + Indicates the absence of an object. Also used in generic parameter constraints. + Indicates the absence of an object. Also used in generic parameter constraints. - - The '{0}' operator cannot be redefined. Consider using a different operator name - '{0}' 演算子は再定義できません。別の演算子名を使用してください。 + + Used in discriminated unions to indicate the type of categories of values, and in delegate and exception declarations. + Used in discriminated unions to indicate the type of categories of values, and in delegate and exception declarations. - - Expected module or namespace parent {0} - モジュールまたは名前空間の親 {0} を指定してください + + Used to make the contents of a namespace or module available without qualification. + Used to make the contents of a namespace or module available without qualification. - - The struct, record or union type '{0}' implements the interface 'System.IComparable' explicitly. You must apply the 'CustomComparison' attribute to the type. - 構造体型、レコード型、または共用体型の '{0}' はインターフェイス 'System.IComparable' を明示的に実装しています。この型には 'CustomComparison' 属性を適用する必要があります。 + + Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. + Used with Boolean conditions as a Boolean or operator. Equivalent to ||. Also used in member constraints. - - The struct, record or union type '{0}' 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. - 構造体型、レコード型、または共用体型の '{0}' はインターフェース 'System.IComparable<_>' を明示的に実装しています。この型には 'CustomComparison' 属性を適用し、さらに整合性のある非ジェネリック インターフェース System.IComparable の実装を用意する必要があります。 + + Used to implement a version of an abstract or virtual method that differs from the base version. + Used to implement a version of an abstract or virtual method that differs from the base version. - - The struct, record or union type '{0}' implements the interface 'System.IStructuralComparable' explicitly. Apply the 'CustomComparison' attribute to the type. - 構造体型、レコード型、または共用体型の '{0}' はインターフェイス 'System.IStructuralComparable' を明示的に実装しています。この型には 'CustomComparison' 属性を適用してください。 + + Restricts access to a member to code in the same type or module. + Restricts access to a member to code in the same type or module. - - This record contains fields from inconsistent types - このレコードには、相反する型からのフィールドが含まれます + + Allows access to a member from outside the type. + Allows access to a member from outside the type. - - DLLImport stubs cannot be inlined - DLLImport スタブはインライン展開できません + + Used to indicate that a function is recursive. + Used to indicate that a function is recursive. - - Structs may only bind a 'this' parameter at member declarations - 構造体は、メンバーの宣言の 'this' パラメーターのみをバインドできます + + Used to provide a value for the result of the containing computation expression. + Used to provide a value for the result of the containing computation expression. - - Unexpected expression at recursive inference point - 再帰的推論ポイントに予期しない式があります: + + Used to provide a value for the result of the containing computation expression, where that value itself comes from the result another computation expression. + Used to provide a value for the result of the containing computation expression, where that value itself comes from the result another computation expression. - - This code is less generic than required by its annotations because the explicit type variable '{0}' could not be generalized. It was constrained to be '{1}'. - 明示的な型変数 '{0}' をジェネリック化できないため、このコードは、注釈に必要な総称性よりも低くなります。このコードは '{1}' に制限されました。 + + In function types, delimits arguments and return values. Yields an expression (in sequence expressions); equivalent to the yield keyword. Used in match expressions + In function types, delimits arguments and return values. Yields an expression (in sequence expressions); equivalent to the yield keyword. Used in match expressions - - 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 - この束縛に関する 1 つまたは複数の明示的クラスまたは関数型の変数は、他の型に制限されているため、ジェネリック化できませんでした。 + + 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. + 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. - - A generic type parameter has been used in a way that constrains it to always be '{0}' - 常に '{0}' であるという制約があるジェネリック型パラメーターが使用されました + + 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. + 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. - - This type parameter has been used in a way that constrains it to always be '{0}' - 常に '{0}' であるという制約がある型パラメーターが使用されました + + Used to declare a structure type. Also used in generic parameter constraints. Used for OCaml compatibility in module definitions. + Used to declare a structure type. Also used in generic parameter constraints. Used for OCaml compatibility in module definitions. - - 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). - この値に推論される型パラメーターは、型の省略形を無効にすると安定しません。型パラメーターをドロップまたは並び替える型の省略形を使用していることが原因です (例: \n\ttype taggedInt<'a> = int または\n\ttype swap<'a,'b> = 'b * 'a)。\nこの値の型パラメーターを明示的に宣言してください (例: \n\tlet f<'a,'b> ((x,y) : swap<'b,'a>) : swap<'a,'b> = (y,x))。 + + Used in conditional expressions. Also used to perform side effects after object construction. + Used in conditional expressions. Also used to perform side effects after object construction. - - Explicit type parameters may only be used on module or member bindings - 明示的な型パラメーターを使用できるのは、モジュールまたはメンバーの束縛のみです + + Used in for loops to indicate a range. + Used in for loops to indicate a range. - - You must explicitly declare either all or no type parameters when overriding a generic abstract method - ジェネリック抽象メソッドをオーバーライドする場合、明示的にすべての型パラメーターを宣言するか、まったく宣言しないでください + + Used as a Boolean literal. + Used as a Boolean literal. - - The field labels and expected type of this record expression or pattern do not uniquely determine a corresponding record type - フィールド ラベルとこのレコード式またはパターンの型だけでは、対応するレコード型を一意に決定できません + + Used to introduce a block of code that might generate an exception. Used together with with or finally. + Used to introduce a block of code that might generate an exception. Used together with with or finally. - - The field '{0}' appears twice in this record expression or pattern - のレコード式またはパターンに、フィールド '{0}' が 2 回出現します + + Used to declare a class, record, structure, discriminated union, enumeration type, unit of measure, or type abbreviation. + Used to declare a class, record, structure, discriminated union, enumeration type, unit of measure, or type abbreviation. - - Unknown union case - 不明な共用体ケースです + + Delimits a typed code quotation. + Delimits a typed code quotation. - - This code is not sufficiently generic. The type variable {0} could not be generalized because it would escape its scope. - このコードの総称性が十分ではありません。スコープが回避されるため、型変数 {0} をジェネリック化することはできません。 + + Delimits a untyped code quotation. + Delimits a untyped code quotation. - - A property cannot have explicit type parameters. Consider using a method instead. - プロパティには明示的な型パラメーターを使用できません。代わりにメソッドを使用してください。 + + Used to convert to a type that is higher in the inheritance chain. + Used to convert to a type that is higher in the inheritance chain. - - A constructor cannot have explicit type parameters. Consider using a static construction method instead. - コンストラクターには明示的な型パラメーターを使用できません。代わりに静的構築のメソッドを使用してください。 + + Used instead of let for values that implement IDisposable + Used instead of let for values that implement IDisposable - - This instance member needs a parameter to represent the object being invoked. Make the member static or use the notation 'member x.Member(args) = ...'. - このインスタンス メンバーには、呼び出されるオブジェクトを表すパラメーターが必要です。メンバーを静的にするか、'member x.Member(args) = ...' という表記を使用してください。 + + Used instead of let! in computation expressions for computation expression results that implement IDisposable. + Used instead of let! in computation expressions for computation expression results that implement IDisposable. - - Unexpected source-level property specification in syntax tree - 構文ツリーに予期しないソースレベルのプロパティの指定があります: + + Used in a signature to indicate a value, or in a type to declare a member, in limited situations. + Used in a signature to indicate a value, or in a type to declare a member, in limited situations. - - A static initializer requires an argument - 静的初期化子には引数が必要です + + Indicates the .NET void type. Used when interoperating with other .NET languages. + Indicates the .NET void type. Used when interoperating with other .NET languages. - - An object constructor requires an argument - オブジェクト コンストラクターには引数が必要です + + Used for Boolean conditions (when guards) on pattern matches and to introduce a constraint clause for a generic type parameter. + Used for Boolean conditions (when guards) on pattern matches and to introduce a constraint clause for a generic type parameter. - - This static member should not have a 'this' parameter. Consider using the notation 'member Member(args) = ...'. - この静的メンバーに 'this' パラメーターを指定することはできません。'member Member(args) = ...' という表記を使用してください。 + + Introduces a looping construct. + Introduces a looping construct. - - An explicit static initializer should use the syntax 'static new(args) = expr' - 明示的な静的初期化子には 'static new(args) = expr' という構文を使用してください + + 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. + 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. - - An explicit object constructor should use the syntax 'new(args) = expr' - 明示的なオブジェクト コンストラクターには 'new(args) = expr' という構文を使用してください + + Used in a sequence expression to produce a value for a sequence. + Used in a sequence expression to produce a value for a sequence. - - Unexpected source-level property specification - 予期しないソースレベルのプロパティの指定があります: + + Used in a computation expression to append the result of a given computation expression to a collection of results for the containing computation expression. + Used in a computation expression to append the result of a given computation expression to a collection of results for the containing computation expression. - - This form of object expression is not used in F#. Use 'member this.MemberName ... = ...' to define member implementations in object expressions. - この形式のオブジェクト式は F# では使用されません。オブジェクト式でメンバーの実装を定義するには、'member this.MemberName ... = ...' を使用してください。 + + Used in mutually recursive bindings, in property declarations, and with multiple constraints on generic parameters. + Used in mutually recursive bindings, in property declarations, and with multiple constraints on generic parameters. - - Invalid declaration - 宣言が無効です + + This byte array literal contains characters that do not encode as a single byte + This byte array literal contains characters that do not encode as a single byte - - Attributes are not allowed within patterns - パターン内では属性を使用できません + + a byte string may not be interpolated + a byte string may not be interpolated - - The generic function '{0}' must be given explicit type argument(s) - ジェネリック関数 '{0}' に明示的な型引数を指定する必要があります + + '{0}' is not permitted as a character in operator names and is reserved for future use + '{0}' is not permitted as a character in operator names and is reserved for future use - - The method or function '{0}' should not be given explicit type argument(s) because it does not declare its type parameters explicitly - メソッドまたは関数 '{0}' は、型パラメーターを明示的に宣言していないため、明示的な型引数を指定しないでください + + #! may only appear as the first line at the start of a file. + #! may only appear as the first line at the start of a file. - - This value, type or method expects {0} type parameter(s) but was given {1} - この値、型、またはメソッドには {0} 型パラメーターを使用しますが、{1} が指定されました + + #else directive must appear as the first non-whitespace character on a line + #else directive must appear as the first non-whitespace character on a line - - The default, zero-initializing constructor of a struct type may only be used if all the fields of the struct type admit default initialization - 構造体型のすべてのフィールドが既定の初期化を許可している場合のみ、既定である、ゼロで初期化した構造型のコンストラクターを使用できます。 + + #else has no matching #if + #else has no matching #if - - Couldn't find Dispose on IDisposable, or it was overloaded - IDisposable に Dispose が見つからないか、Dispose がオーバーロードされました + + #endif directive must appear as the first non-whitespace character on a line + #endif directive must appear as the first non-whitespace character on a line - - This value is not a literal and cannot be used in a pattern - この値はリテラルではないため、パターンに使用できません + + #endif required for #else + #endif required for #else - - This field is readonly - このフィールドは読み取り専用です + + #endif has no matching #if + #endif has no matching #if - - Named arguments must appear after all other arguments - 名前付き引数は、その他の引数の後ろに指定してください + + #if directive must appear as the first non-whitespace character on a line + #if directive must appear as the first non-whitespace character on a line - - 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 {0} arguments. - この関数値は、byref 引数を含むシグネチャのデリゲート型を構築するために使用されます。{0} 個の引数を使用する明示的なラムダ式を使用する必要があります。 + + #if directive should be immediately followed by an identifier + #if directive should be immediately followed by an identifier - - The type '{0}' 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 - 型 '{0}' は、この構文で列挙できる値の型ではありません。つまり、seq<_>, IEnumerable<_> とも IEnumerable とも互換性がなく、GetEnumerator メソッドがありません + + Identifiers followed by '{0}' are reserved for future use + Identifiers followed by '{0}' are reserved for future use - - This recursive binding uses an invalid mixture of recursive forms - この再帰的束縛に使用されている再帰形式の混合は無効です + + Consider using a file with extension '.ml' or '.mli' instead + Consider using a file with extension '.ml' or '.mli' instead - - 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. - これは有効なオブジェクト構築式ではありません。明示的なオブジェクト コンストラクターでは、代わりのコンストラクターを呼び出すかまたはオブジェクトのすべてのフィールドを初期化し、スーパークラス コンストラクターの呼び出しを指定する必要があります。 + + This is not a valid byte literal + This is not a valid byte literal - - Invalid constraint - 制約が無効です + + This is not a valid character literal + This is not a valid character literal - - Invalid constraint: the type used for the constraint is sealed, which means the constraint could only be satisfied by at most one solution - 無効な制約: 制約に使用された型がシールドです。つまり、制約を満たすことができるのは、最高でも 1 つの解です。 + + Invalid floating point number + Invalid floating point number - - An 'enum' constraint must be of the form 'enum<type>' - 'enum' 制約の形式は 'enum<type>' にする必要があります + + Invalid line number: '{0}' + Invalid line number: '{0}' - - 'new' constraints must take one argument of type 'unit' and return the constructed type - 'new' 制約は型 'unit' の引数を 1 つ指定し、構築された型を返す必要があります + + This is not a valid numeric literal. Valid numeric literals include 1, 0x1, 0o1, 0b1, 1l (int), 1u (uint32), 1L (int64), 1UL (uint64), 1s (int16), 1y (sbyte), 1uy (byte), 1.0 (float), 1.0f (float32), 1.0m (decimal), 1I (BigInteger). + This is not a valid numeric literal. Valid numeric literals include 1, 0x1, 0o1, 0b1, 1l (int), 1u (uint32), 1L (int64), 1UL (uint64), 1s (int16), 1y (sbyte), 1uy (byte), 1.0 (float), 1.0f (float32), 1.0m (decimal), 1I (BigInteger). - - 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)'. - このプロパティに無効な型があります。複数のインデクサー引数を取るプロパティの型の形式は 'ty1 * ty2 -> ty3' でなければなりません。関数を返すプロパティの型の形式は '(ty1 -> ty2)' にする必要があります。 + + \U{0} is not a valid Unicode character escape sequence + \U{0} is not a valid Unicode character escape sequence - - Expected unit-of-measure parameter, not type parameter. Explicit unit-of-measure parameters must be marked with the [<Measure>] attribute. - 必要なのは型パラメーターではなく測定単位パラメーターです。明示的な測定単位パラメーターは、[<Measure>] 属性でマークされている必要があります。 + + This number is outside the allowable range for decimal literals + This number is outside the allowable range for decimal literals - - Expected type parameter, not unit-of-measure parameter - 単位パラメーターではなく型パラメーターを指定してください + + This number is outside the allowable range for 32-bit floats + This number is outside the allowable range for 32-bit floats - - Expected type, not unit-of-measure - 単位ではなく型を指定してください + + This number is outside the allowable range for 8-bit signed integers + This number is outside the allowable range for 8-bit signed integers - - Expected unit-of-measure, not type - 型ではなく単位を指定してください + + This number is outside the allowable range for hexadecimal 8-bit signed integers + This number is outside the allowable range for hexadecimal 8-bit signed integers - - Units-of-measure cannot be used as prefix arguments to a type. Rewrite as postfix arguments in angle brackets. - 型に対するプレフィックス引数として単位を使用することはできません。山かっこで囲んだ後置引数として書き換えてください。 + + This number is outside the allowable range for 8-bit unsigned integers + This number is outside the allowable range for 8-bit unsigned integers - - Unit-of-measure cannot be used in type constructor application - 型コンストラクター応用には単位を使用できません + + This number is outside the allowable range for this integer type + This number is outside the allowable range for this integer type - - This control construct may only be used if the computation expression builder defines a '{0}' method - この制御コンストラクトを使用できるのは、コンピュテーション式ビルダーが '{0}' メソッドを定義する場合のみです + + This number is outside the allowable range for signed native integers + This number is outside the allowable range for signed native integers - - This type has no nested types - この型に入れ子の型はありません + + This number is outside the allowable range for unsigned native integers + This number is outside the allowable range for unsigned native integers - - Unexpected {0} in type expression - 型式に予期しない {0} があります: + + This number is outside the allowable range for 16-bit signed integers + This number is outside the allowable range for 16-bit signed integers - - Type parameter cannot be used as type constructor - 型パラメーターは型コンストラクターとして使用できません + + This number is outside the allowable range for 16-bit unsigned integers + This number is outside the allowable range for 16-bit unsigned integers - - Illegal syntax in type expression - 型式の構文が正しくありません + + This number is outside the allowable range for 64-bit signed integers + This number is outside the allowable range for 64-bit signed integers - - Anonymous unit-of-measure cannot be nested inside another unit-of-measure expression - 匿名の単位は、別の単位式の中に入れ子にすることはできません + + This number is outside the allowable range for 64-bit unsigned integers + This number is outside the allowable range for 64-bit unsigned integers - - Anonymous type variables are not permitted in this declaration - この宣言で匿名型の変数は使用できません + + This number is outside the allowable range for 32-bit signed integers + This number is outside the allowable range for 32-bit signed integers - - Unexpected / in type - 型に予期しない / があります: + + This number is outside the allowable range for 32-bit unsigned integers + This number is outside the allowable range for 32-bit unsigned integers - - Unexpected type arguments - 予期しない型引数です: + + A '}}' character must be escaped (by doubling) in an interpolated string. + A '}}' character must be escaped (by doubling) in an interpolated string. - - Optional arguments are only permitted on type members - 型メンバーにはオプションの引数のみを使用できます + + 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. + 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. - - Name '{0}' not bound in pattern context - 名前 '{0}' がパターン コンテキストにバインドされていません + + TABs are not allowed in F# code unless the #indent \"off\" option is used + TABs are not allowed in F# code unless the #indent \"off\" option is used - - 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. - プリミティブではない数値リテラル定数は、NumericLiteral モジュールを介して複数の型にマップされる可能性があるため、パターン マッチには使用できません。変数で置き換え、match 句の末尾に 'when <variable> = <constant>' を使用してください。 + + This Unicode encoding is only valid in string literals + This Unicode encoding is only valid in string literals - - Type arguments cannot be specified here - ここで型引数は指定できません + + This token is reserved for future use + This token is reserved for future use - - Only active patterns returning exactly one result may accept arguments - 結果を 1 つだけ返すアクティブ パターンのみが、引数を使用できます + + Invalid interpolated string. Triple quote string literals may not be used in interpolated expressions. Consider using an explicit 'let' binding for the interpolation expression. + Invalid interpolated string. Triple quote string literals may not be used in interpolated expressions. Consider using an explicit 'let' binding for the interpolation expression. - - Invalid argument to parameterized pattern label - パラメーター化されたパターン ラベルに無効な引数が指定されました + + Unexpected character '{0}' + Unexpected character '{0}' - - Internal error. Invalid index into active pattern array - 内部エラー。アクティブ パターン配列への無効なインデックスです。 + + Syntax error. Wrong nested #endif, unexpected tokens before it. + Syntax error. Wrong nested #endif, unexpected tokens before it. - - This union case does not take arguments - この共用体ケースに引数は指定できません + + The indentation of this 'in' token is incorrect with respect to the corresponding 'let' + The indentation of this 'in' token is incorrect with respect to the corresponding 'let' - - This union case takes one argument - この共用体ケースには 1 つの引数を指定します + + The '|' tokens separating rules of this pattern match are misaligned by one column. Consider realigning your code or using further indentation. + The '|' tokens separating rules of this pattern match are misaligned by one column. Consider realigning your code or using further indentation. - - This union case expects {0} arguments in tupled form - この共用体ケースにはタプル形式の引数を {0} 個指定してください + + Possible incorrect indentation: this token is offside of context started at position {0}. Try indenting this token further or using standard formatting conventions. + Possible incorrect indentation: this token is offside of context started at position {0}. Try indenting this token further or using standard formatting conventions. - - Field '{0}' is not static - フィールド '{0}' は静的ではありません + + The identifier '{0}' is reserved for future use by F# + The identifier '{0}' is reserved for future use by F# - - This field is not a literal and cannot be used in a pattern - このフィールドはリテラルではないため、パターンに使用できません + + Identifiers containing '@' are reserved for use in F# code generation + Identifiers containing '@' are reserved for use in F# code generation - - This is not a variable, constant, active recognizer or literal - これは変数、定数、アクティブ レコグナイザー、またはリテラルではありません + + All elements of a list must be of the same type as the first element, which here is '{0}'. This element has type '{1}'. + All elements of a list must be of the same type as the first element, which here is '{0}'. This element has type '{1}'. - - This is not a valid pattern - これは有効なパターンではありません + + (loading description...) + (loading description...) - - Character range matches have been removed in F#. Consider using a 'when' pattern guard instead. - F# では文字範囲の一致が削除されました。代わりに 'when' パターン ガードを使用してください。 + + Infix operator member '{0}' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + Infix operator member '{0}' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - - Illegal pattern - パターンが正しくありません + + Infix operator member '{0}' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + Infix operator member '{0}' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - - Syntax error - unexpected '?' symbol - 構文エラー - 予期しない '?' 記号です + + Infix operator member '{0}' has {1} initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + Infix operator member '{0}' has {1} initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... - - Expected {0} expressions, got {1} - {0} 式を指定する必要がありますが、{1} が指定されました + + Infix operator member '{0}' has {1} initial argument(s). Expected a tuple of 3 arguments + Infix operator member '{0}' has {1} initial argument(s). Expected a tuple of 3 arguments - - TcExprUndelayed: delayed - TcExprUndelayed: 遅延しました + + Method or object constructor '{0}' is not static + Method or object constructor '{0}' is not static - - This expression form may only be used in sequence and computation expressions - この式の形式を使用できるのは、シーケンス式またはコンピュテーション式のみです + + 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 '{0}'. + 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 '{0}'. - - Invalid object expression. Objects without overrides or interfaces should use the expression form 'new Type(args)' without braces. - オブジェクト式が無効です。オーバーライドまたはインターフェイスがないオブジェクトには、かっこなしで 'new Type(args)' という形式の式を使用してください。 + + This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. + This construct is for ML compatibility. {0}. You can disable this warning by using '--mlcompatibility' or '--nowarn:62'. - - Invalid object, sequence or record expression - オブジェクト式、シーケンス式、またはレコード式が無効です + + More than one Invoke method found for delegate type + More than one Invoke method found for delegate type - - Invalid record, sequence or computation expression. Sequence expressions should be of the form 'seq {{ ... }}' - 無効なレコード、シーケンス式、またはコンピュテーション式です。シーケンス式は 'seq {{ ... }}' という形式にしてください。 + + Stream does not begin with a null resource and is not in '.RES' format. + Stream does not begin with a null resource and is not in '.RES' format. - - 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 - このリスト式または配列式には、'if ... then ... else' という形式の要素が含まれます。この式をかっこで囲んでリストまたは配列の個別の要素であることを示し、シーケンス式を使用して生成されたリストとこのリストを区別してください。 + + Resource header beginning at offset {0} is malformed. + Resource header beginning at offset {0} is malformed. - - Unable to parse format string '{0}' - 書式指定文字列 '{0}' を解析できません + + + 1 overload + + 1 overload - - This list expression exceeds the maximum size for list literals. Use an array for larger literals and call Array.ToList. - このリスト式は、リスト リテラルの最大サイズを超えています。より大きなリテラルの配列を使用し、Array.ToList を呼び出してください。 + + + {0} overloads + + {0} overloads - - The expression form 'expr then expr' may only be used as part of an explicit object constructor - 明示的なオブジェクト コンストラクターの一部としてのみ、'expr then expr' という形式の式を使用できます + + 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. + 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. - - Named arguments cannot be given to member trait calls - 名前付き引数をメンバーの特徴 (trait) の呼び出しに指定することはできません + + No Invoke methods found for delegate type + No Invoke methods found for delegate type - - This is not a valid name for an enumeration case - 列挙型のケースの有効な名前ではありません + + This value is not a function and cannot be applied. + This value is not a function and cannot be applied. - - This field is not mutable - このフィールドは変更可能ではありません + + This value is not a function and cannot be applied. Did you forget to terminate a declaration? + This value is not a function and cannot be applied. Did you forget to terminate a declaration? - - 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 - このコンストラクトは、リスト式、配列式、およびシーケンス式内でのみ使用できます (たとえば、'seq {{ ... }}'、'[ ... ]'、'[| ... |]' などの形式の式)。この場合、要素を生成するには 'for ... in ... do ... yield...' という構文を使用します。 + + This expression is not a function and cannot be applied. Did you intend to access the indexer via expr.[index] instead? + This expression is not a function and cannot be applied. Did you intend to access the indexer via expr.[index] instead? - - This construct may only be used within computation expressions. To return a value from an ordinary function simply write the expression without 'return'. - このコンストラクトはコンピュテーション式内でのみ使用できます。通常の関数から値を返すには、'return' を使用せずに式を記述してください。 + + This value is not a function and cannot be applied. Did you intend to access the indexer via {0}.[index] instead? + This value is not a function and cannot be applied. Did you intend to access the indexer via {0}.[index] instead? - - This construct may only be used within sequence or computation expressions - このコンストラクトはシーケンス式およびコンピュテーション式内でのみ使用できます + + 'global' may only be used as the first name in a qualified path + 'global' may only be used as the first name in a qualified path - - This construct may only be used within computation expressions - このコンストラクトはコンピュテーション式内でのみ使用できます + + Invalid expression '{0}' + Invalid expression '{0}' - - Invalid indexer expression - インデクサー式が無効です + + Invalid field label + Invalid field label - - 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 - このプログラムのポイントよりも前の情報に基づいた不確定の型のオブジェクトに、演算子 'expr.[idx]' が使用されました。型の制約を増やしてください。 + + Invalid module/expression/type + Invalid module/expression/type - - Cannot inherit from a variable type - 変数型から継承できません + + This is not a constructor or literal, or a constructor is being used incorrectly + This is not a constructor or literal, or a constructor is being used incorrectly - - Calls to object constructors on type parameters cannot be given arguments - 型パラメーター上のオブジェクト コンストラクターの呼び出しに引数を指定することはできません + + No constructors are available for the type '{0}' + No constructors are available for the type '{0}' - - The 'CompiledName' attribute cannot be used with this language element - この言語要素では、'CompiledName' 属性を使用できません + + The record type '{0}' does not contain a label '{1}'. + The record type '{0}' does not contain a label '{1}'. - - '{0}' may only be used with named types - '{0}' を使用できるのは、名前付き型のみです + + The record type for the record field '{0}' was defined with the RequireQualifiedAccessAttribute. Include the name of the record type ('{1}') in the name you are using. + The record type for the record field '{0}' was defined with the RequireQualifiedAccessAttribute. Include the name of the record type ('{1}') in the name you are using. - - 'inherit' cannot be used on interface types. Consider implementing the interface by using 'interface ... with ... end' instead. - インターフェイス型に 'inherit' は使用できません。代わりに 'interface ... with ... end' を使用してインターフェイスを実装してください。 + + The instantiation of the generic type '{0}' 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. '{1}'. + The instantiation of the generic type '{0}' 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. '{1}'. - - 'new' cannot be used on interface types. Consider using an object expression '{{ new ... with ... }}' instead. - インターフェイス型では 'new' を使用できません。代わりにオブジェクト式 '{{ new ... with ... }}' を使用してください。 + + Multiple types exist called '{0}', taking different numbers of generic parameters. Provide a type instantiation to disambiguate the type resolution, e.g. '{1}'. + Multiple types exist called '{0}', taking different numbers of generic parameters. Provide a type instantiation to disambiguate the type resolution, e.g. '{1}'. - - 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. - abstract とマークされているか、一部のメソッドが実装されていないため、この型のインスタンスを作成できません。代わりにオブジェクト式 '{{ new ... with ... }}' を使用してください。 + + Unexpected empty long identifier + Unexpected empty long identifier - - 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 - IDisposable インターフェイスをサポートするオブジェクトは、コンストラクターを表す関数値として 'Type(args)' や 'Type' ではなく 'new Type(args)' の構文を使用して作成することをお勧めします。これは、リソースが生成された値に所有される可能性があることを示すためです + + The union type for union case '{0}' was defined with the RequireQualifiedAccessAttribute. Include the name of the union type ('{1}') in the name you are using. + The union type for union case '{0}' was defined with the RequireQualifiedAccessAttribute. Include the name of the union type ('{1}') in the name you are using. - - '{0}' may only be used to construct object types - '{0}' は、オブジェクト型を構築するときにのみ使用できます + + Failed to inline the value '{0}' marked 'inline', perhaps because a recursive value was marked 'inline' + Failed to inline the value '{0}' marked 'inline', perhaps because a recursive value was marked 'inline' - - Constructors for the type '{0}' must directly or indirectly call its implicit object constructor. Use a call to the implicit object constructor instead of a record expression. - 型 '{0}' のコンストラクターはその暗黙的なオブジェクト コンストラクターを直接、または間接的に呼び出す必要があります。レコード式ではなく、暗黙的なオブジェクト コンストラクターの呼び出しを使用してください。 + + Local value {0} not found during optimization + Local value {0} not found during optimization - - The field '{0}' has been given a value, but is not present in the type '{1}' - フィールド '{0}' に値が指定されましたが、このフィールドは型 '{1}' に存在しません + + Recursive ValValue {0} + Recursive ValValue {0} - - No assignment given for field '{0}' of type '{1}' - 型 '{1}' のフィールド '{0}' に割り当てが指定されていません + + The value '{0}' was marked inline but its implementation makes use of an internal or private function which is not sufficiently accessible + The value '{0}' was marked inline but its implementation makes use of an internal or private function which is not sufficiently accessible - - Extraneous fields have been given values - 不適切なフィールドに値を指定しました + + The value '{0}' was marked inline but was not bound in the optimization environment + The value '{0}' was marked inline but was not bound in the optimization environment - - Only overrides of abstract and virtual members may be specified in object expressions - オブジェクト式に指定できるのは、抽象メンバーおよび仮想メンバーのオーバーライドのみです。 + + A value marked as 'inline' could not be inlined + A value marked as 'inline' could not be inlined - - The member '{0}' does not correspond to any abstract or virtual method available to override or implement. - メンバー '{0}' は、無視または実装に使用できるどの抽象メソッドまたは仮想メソッドにも対応していません。 + + A value marked as 'inline' has an unexpected value + A value marked as 'inline' has an unexpected value - - The type {0} contains the member '{1}' but it is not a virtual or abstract method that is available to override or implement. - 型 {0} にメンバー '{1}' が含まれていますが、このメンバーはオーバーライドまたは実装に使用できる仮想メソッドでも抽象メソッドでもありません。 + + Base address for the library to be built + Base address for the library to be built - - The member '{0}' does not accept the correct number of arguments. {1} argument(s) are expected, but {2} were given. The required signature is '{3}'.{4} - メンバー '{0}' の引数の数が正しくありません。{1} 個の引数が必要ですが、指定されたのは {2} 個です。必要な署名は '{3}' です。{4} + + Build a console executable + Build a console executable - - The member '{0}' does not accept the correct number of arguments. One overload accepts {1} arguments, but {2} were given. The required signature is '{3}'.{4} - メンバー '{0}' の引数の数が正しくありません。1 つのオーバーロードには {1} 個の引数を指定できますが、{2} 個が指定されました。必要な署名は '{3}' です。{4} + + Build a library (Short form: -a) + Build a library (Short form: -a) - - A simple method name is required here - ここでは単純なメソッド名が必要です + + Build a module that can be added to another assembly + Build a module that can be added to another assembly - - 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 - 型 System.ValueType、System.Enum、System.Delegate、System.MulticastDelegate、および System.Array は、オブジェクト式またはクラスのスーパー型として使用できません + + Build a Windows executable + Build a Windows executable - - 'new' must be used with a named type - 名前付き型には 'new' を使用してください + + Generate overflow checks + Generate overflow checks - - Cannot create an extension of a sealed type - シールド型の拡張は作成できません + + Specify algorithm for calculating source file checksum stored in PDB. Supported values are: SHA1 or SHA256 (default) + Specify algorithm for calculating source file checksum stored in PDB. Supported values are: SHA1 or SHA256 (default) - - No arguments may be given when constructing a record value - レコード値を構築するときに指定できる引数はありません + + The command-line option '--cliroot' has been deprecated. Use an explicit reference to a specific copy of mscorlib.dll instead. + The command-line option '--cliroot' has been deprecated. Use an explicit reference to a specific copy of mscorlib.dll instead. - - Interface implementations cannot be given on construction expressions - 構築式ではインターフェイスの実装を指定できません + + Use to override where the compiler looks for mscorlib.dll and framework components + Use to override where the compiler looks for mscorlib.dll and framework components - - Object construction expressions may only be used to implement constructors in class types - オブジェクト構築式は、クラス型のコンストラクターを実装する場合にのみ使用できます + + Specify the codepage used to read source files + Specify the codepage used to read source files - - Only simple bindings of the form 'id = expr' can be used in construction expressions - 構築式に使用できるのは、'id = expr' という形式の単純な束縛のみです + + Reference an assembly or directory containing a design time tool (Short form: -t) + Reference an assembly or directory containing a design time tool (Short form: -t) - - Objects must be initialized by an object construction expression that calls an inherited object constructor and assigns a value to each field - オブジェクトを初期化するには、継承したオブジェクト コンストラクターを呼び出し、値を各フィールドに割り当てるオブジェクト構築式を使用してください。 + + Output warning and error messages in color + Output warning and error messages in color - - Expected an interface type - インターフェイスの型を指定してください + + Copyright (c) Microsoft Corporation. All Rights Reserved. + Copyright (c) Microsoft Corporation. All Rights Reserved. - - Constructor expressions for interfaces do not take arguments - インターフェイスのコンストラクター式には引数を使用できません + + Freely distributed under the MIT Open Source License. https://github.com/Microsoft/visualfsharp/blob/master/License.txt + Freely distributed under the MIT Open Source License. https://github.com/Microsoft/visualfsharp/blob/master/License.txt - - This object constructor requires arguments - このオブジェクト コンストラクターには引数が必要です + + Enable or disable cross-module optimizations + Enable or disable cross-module optimizations - - 'new' may only be used with object constructors - 'new' を使用できるのは、オブジェクト コンストラクターのみです + + The command-line option '{0}' has been deprecated. Use '{1}' instead. + The command-line option '{0}' has been deprecated. Use '{1}' instead. - - At least one override did not correctly implement its corresponding abstract member - 少なくとも 1 つのオーバーライドが対応する抽象メンバーを正しく実装していません + + The command-line option '{0}' has been deprecated. HTML document generation is now part of the F# Power Pack, via the tool FsHtmlDoc.exe. + The command-line option '{0}' has been deprecated. HTML document generation is now part of the F# Power Pack, via the tool FsHtmlDoc.exe. - - This numeric literal requires that a module '{0}' defining functions FromZero, FromOne, FromInt32, FromInt64 and FromString be in scope - 数値リテラルの場合、関数 FromZero、FromOne、FromInt32、FromInt64、および FromString を定義するモジュール '{0}' がスコープに含まれている必要があります + + The command-line option '{0}' has been deprecated + The command-line option '{0}' has been deprecated - - Invalid record construction - レコードの構造が無効です + + Specify debugging type: full, portable, embedded, pdbonly. ('{0}' is the default if no debuggging 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). + Specify debugging type: full, portable, embedded, pdbonly. ('{0}' is the default if no debuggging 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). - - The expression form {{ expr with ... }} may only be used with record types. To build object types use {{ new Type(...) with ... }} - {{ expr with ... }} という形式の式を使用できるのはレコード型のみです。オブジェクトの型を構築するには、{{ new Type(...) with ... }} を使用してください。 + + Emit debug information (Short form: -g) + Emit debug information (Short form: -g) - - The inherited type is not an object model type - 継承された型はオブジェクト モデル型ではありません + + Define conditional compilation symbols (Short form: -d) + Define conditional compilation symbols (Short form: -d) - - 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 - オブジェクト構築式 (つまり、継承の指定があるレコード式) は、オブジェクト モデル型のコンストラクターを実装する場合にのみ使用できます。コンストラクターの外側でオブジェクト モデル型のインスタンスを構築するには、'new ObjectType(args)' を使用してください。 + + Delay-sign the assembly using only the public portion of the strong name key + Delay-sign the assembly using only the public portion of the strong name key - - '{{ }}' is not a valid expression. Records must include at least one field. Empty sequences are specified by using Seq.empty or an empty list '[]'. - '{{ }}' は有効な式ではありません。レコードには 1 つ以上のフィールドを含める必要があります。空のシーケンスを指定するには、Seq.empty または空のリスト '[]' をご使用ください。 + + Produce a deterministic assembly (including module version GUID and timestamp) + Produce a deterministic assembly (including module version GUID and timestamp) - - This type is not a record type. Values of class and struct types must be created using calls to object constructors. - この型はレコード型ではありません。クラス型および構造体型の値は、オブジェクト コンストラクターの呼び出しを使用して作成してください。 + + Embed all source files in the portable PDB file + Embed all source files in the portable PDB file - - This type is not a record type - この型はレコード型ではありません + + Embed specific source files in the portable PDB file + Embed specific source files in the portable PDB file - - This construct is ambiguous as part of a computation expression. Nested expressions may be written using 'let _ = (...)' and nested computations using 'let! res = builder {{ ... }}'. - このコンストラクトはコンピュテーション式の一部としてあいまいです。入れ子の式を記述するには 'let _ = (...)' を使用し、入れ子の計算には 'let! res = builder {{ ... }}' を使用します。 + + --embed switch only supported when emitting a Portable PDB (--debug:portable or --debug:embedded) + --embed switch only supported when emitting a Portable PDB (--debug:portable or --debug:embedded) - - This construct is ambiguous as part of a sequence expression. Nested expressions may be written using 'let _ = (...)' and nested sequences using 'yield! seq {{... }}'. - このコンストラクトはシーケンス式の一部としてあいまいです。入れ子の式を記述するには 'let _ = (...)' を使用し、入れ子のシーケンスには 'yield! seq {{... }}' を使用します。 + + Emit debug information in quotations + Emit debug information in quotations - - 'do!' cannot be used within sequence expressions - シーケンス式内には 'do!' を使用できません + + Output messages with fully qualified paths + Output messages with fully qualified paths - - The use of 'let! x = coll' in sequence expressions is not permitted. Use 'for x in coll' instead. - シーケンス式では 'let! x = coll' を使用できません。代わりに 'for x in coll' を使用してください。 + + Display this usage message (Short form: -?) + Display this usage message (Short form: -?) - - 'try'/'with' cannot be used within sequence expressions - シーケンス式内には 'try'/'with' を使用できません + + - ADVANCED - + - ADVANCED - - - In sequence expressions, multiple results are generated using 'yield!' - シーケンス式で、複数の結果は 'yield!' を使用して生成されます + + - CODE GENERATION - + - CODE GENERATION - - - Invalid assignment - 割り当てが無効です + + - ERRORS AND WARNINGS - + - ERRORS AND WARNINGS - - - Invalid use of a type name - 型名の使用方法に誤りがあります + + - INPUT FILES - + - INPUT FILES - - - This type has no accessible object constructors - この型にアクセスできるオブジェクト コンストラクターはありません + + - LANGUAGE - + - LANGUAGE - - - Invalid use of an interface type - インターフェイス型の使用方法に誤りがあります + + - MISCELLANEOUS - + - MISCELLANEOUS - - - Invalid use of a delegate constructor. Use the syntax 'new Type(args)' or just 'Type(args)'. - デリゲート コンストラクターの使用方法に誤りがあります。'new Type(args)' か、単に 'Type(args)' という構文を使用してください + + - OUTPUT FILES - + - OUTPUT FILES - - - Property '{0}' is not static - プロパティ '{0}' は静的ではありません + + - RESOURCES - + - RESOURCES - - - Property '{0}' is not readable - プロパティ '{0}' は読み取り可能ではありません + + The command-line option '{0}' is for test purposes only + The command-line option '{0}' is for test purposes only - - This lookup cannot be used here - ここでこの参照は使用できません + + Invalid path map. Mappings must be comma separated and of the format 'path=sourcePath' + Invalid path map. Mappings must be comma separated and of the format 'path=sourcePath' - - Property '{0}' is static - プロパティ '{0}' は静的です + + Invalid response file '{0}' ( '{1}' ) + Invalid response file '{0}' ( '{1}' ) - - Property '{0}' cannot be set - プロパティ '{0}' は設定できません + + Invalid version '{0}' for '--subsystemversion'. The version must be 4.00 or greater. + Invalid version '{0}' for '--subsystemversion'. The version must be 4.00 or greater. - - 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))'. - コンストラクターは引数に適用する必要があり、ファースト クラス値として使用することはできません。必要な場合には、匿名関数 '(fun arg1 ... argN -> new Type(arg1,...,argN))' を使用します。 + + Invalid value '{0}' for '--targetprofile', valid values are 'mscorlib', 'netcore' or 'netstandard'. + Invalid value '{0}' for '--targetprofile', valid values are 'mscorlib', 'netcore' or 'netstandard'. - - The syntax 'expr.id' may only be used with record labels, properties and fields - 構文 'expr.id' を使用できるのは、レコードのラベル、プロパティ、およびフィールドのみです + + Invalid warning level '{0}' + Invalid warning level '{0}' - - Event '{0}' is static - イベント '{0}' は静的です + + Display the allowed values for language version, specify language version such as 'latest' or 'preview' + Display the allowed values for language version, specify language version such as 'latest' or 'preview' - - Event '{0}' is not static - イベント '{0}' は静的ではありません + + Specify a directory for the include path which is used to resolve source files and assemblies (Short form: -I) + Specify a directory for the include path which is used to resolve source files and assemblies (Short form: -I) - - The named argument '{0}' did not match any argument or mutable property - 名前付き引数 '{0}' と一致する引数または変更可能なプロパティがありませんでした + + Link the specified resource to this assembly where the resinfo format is <file>[,<string name>[,public|private]] + Link the specified resource to this assembly where the resinfo format is <file>[,<string name>[,public|private]] - - One or more of the overloads of this method has curried arguments. Consider redesigning these members to take arguments in tupled form. - このメソッドのオーバーロードの 1 つまたは複数にカリー化された引数があります。タプル化された形式で引数を使用するようにこれらのメンバーを再設計してください。 + + Ignore ML compatibility warnings + Ignore ML compatibility warnings - - The unnamed arguments do not form a prefix of the arguments of the method called - 名前なしの引数は、呼び出されるメソッドの引数のプレフィックスを形成できません + + Name of the output file (Short form: -o) + Name of the output file (Short form: -o) - - Static optimization conditionals are only for use within the F# library - 静的最適化の条件は、F# ライブラリ内でのみ使用できます + + Don't copy FSharp.Core.dll along the produced binaries + Don't copy FSharp.Core.dll along the produced binaries - - The corresponding formal argument is not optional - 対応する正式な引数はオプションではありません + + Don't add a resource to the generated assembly containing F#-specific metadata + Don't add a resource to the generated assembly containing F#-specific metadata - - Invalid optional assignment to a property or field - プロパティまたはフィールドに対するオプションの割り当てが無効です + + Only include optimization information essential for implementing inlined constructs. Inhibits cross-module inlining but improves binary compatibility. + Only include optimization information essential for implementing inlined constructs. Inhibits cross-module inlining but improves binary compatibility. - - A delegate constructor must be passed a single function value - デリゲート コンストラクターには単一の関数値を渡す必要があります + + Do not reference the default CLI assemblies by default + Do not reference the default CLI assemblies by default - - A binding cannot be marked both 'use' and 'rec' - 束縛に 'use' と 'rec' の両方をマークすることはできません + - - The 'VolatileField' attribute may only be used on 'let' bindings in classes - 'VolatileField' 属性を使用できるのは、クラス内の 'let' 束縛上のみです + + Disable specific warning messages + Disable specific warning messages - - Attributes are not permitted on 'let' bindings in expressions - 式内の 'let' 束縛では、属性を使用できません + + Do not include the default Win32 manifest + Do not include the default Win32 manifest - - The 'DefaultValue' attribute may only be used on 'val' declarations - 'DefaultValue' 属性は 'val' 宣言でのみ使用できます + + Enable optimizations (Short form: -O) + Enable optimizations (Short form: -O) - - The 'ConditionalAttribute' attribute may only be used on members - 'ConditionalAttribute' 属性はメンバーでのみ使用できます + + Maps physical paths to source path names output by the compiler + Maps physical paths to source path names output by the compiler - - This is not a valid name for an active pattern - アクティブ パターンの有効な名前ではありません + + Name the output debug file + Name the output debug file - - The 'EntryPointAttribute' attribute may only be used on function definitions in modules - 'EntryPointAttribute' 属性を使用できるのは、モジュールの関数定義のみです + + Limit which platforms this code can run on: x86, Itanium, x64, anycpu32bitpreferred, or anycpu. The default is anycpu. + Limit which platforms this code can run on: x86, Itanium, x64, anycpu32bitpreferred, or anycpu. The default is anycpu. - - Mutable values cannot be marked 'inline' - 変更可能な値を 'inline' とマークすることはできません + + Specify the preferred output language culture name (e.g. es-ES, ja-JP) + Specify the preferred output language culture name (e.g. es-ES, ja-JP) - - Mutable values cannot have generic parameters - 変更可能な値にジェネリック パラメーターを指定することはできません + + Problem with codepage '{0}': {1} + Problem with codepage '{0}': {1} - - Mutable function values should be written 'let mutable f = (fun args -> ...)' - 関数値を変更可能にするには 'let mutable f = (fun args -> ...)' が必要です + + Public-sign the assembly using only the public portion of the strong name key, and mark the assembly as signed + Public-sign the assembly using only the public portion of the strong name key, and mark the assembly as signed - - Only functions may be marked 'inline' - 'inline' とマークできるのは関数のみです + + Reference an assembly (Short form: -r) + Reference an assembly (Short form: -r) - - A literal value cannot be given the [<ThreadStatic>] or [<ContextStatic>] attributes - リテラル値を [<ThreadStatic>] 属性または [<ContextStatic>] 属性に指定することはできません + + Use a resident background compilation service to improve compiler startup times. + Use a resident background compilation service to improve compiler startup times. - - A literal value cannot be marked 'mutable' - リテラル値に 'mutable' とマークすることはできません + + Embed the specified managed resource + Embed the specified managed resource - - A literal value cannot be marked 'inline' - リテラル値に 'inline' とマークすることはできません + + Read response file for more options + Read response file for more options - - Literal values cannot have generic parameters - リテラル値にジェネリック パラメーターを指定することはできません + + Response file name '{0}' is empty, contains invalid characters, has a drive specification without an absolute path, or is too long + Response file name '{0}' is empty, contains invalid characters, has a drive specification without an absolute path, or is too long - - This is not a valid constant expression - これは有効な定数式ではありません + + Response file '{0}' not found in '{1}' + Response file '{0}' not found in '{1}' - - This type is not accessible from this code location - このコードの場所からこの型にアクセスすることはできません + + Short form of '{0}' + Short form of '{0}' - - Unexpected condition in imported assembly: failed to decode AttributeUsage attribute - インポートされたアセンブリに予期しない条件があります。AttributeUsage 属性のデコードに失敗しました: + + Print the inferred interface of the assembly to a file + Print the inferred interface of the assembly to a file - - Unrecognized attribute target. Valid attribute targets are 'assembly', 'module', 'type', 'method', 'property', 'return', 'param', 'field', 'event', 'constructor'. - 認識されない属性のターゲットです。有効な属性のターゲットは、'assembly'、'module'、'type'、'method'、'property'、'return'、'param'、'field'、'event'、および 'constructor' です。 + + Resolve assembly references using directory-based rules rather than MSBuild resolution + Resolve assembly references using directory-based rules rather than MSBuild resolution - - 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. - この言語要素では、この属性を使用できません。アセンブリの属性は (必要に応じて F# モジュール内で) 'do ()' 宣言にアタッチする必要があります。 + + Source link information file to embed in the portable PDB file + Source link information file to embed in the portable PDB file - - This attribute is not valid for use on this language element - この言語要素では、この属性を使用できません + + --sourcelink switch only supported when emitting a Portable PDB (--debug:portable or --debug:embedded) + --sourcelink switch only supported when emitting a Portable PDB (--debug:portable or --debug:embedded) - - Optional arguments cannot be used in custom attributes - カスタム属性にはオプションの引数を使用できません + + Statically link the F# library and all referenced DLLs that depend on it into the assembly being generated + Statically link the F# library and all referenced DLLs that depend on it into the assembly being generated - - This property cannot be set - このプロパティは設定できません + + 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. + 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. - - This property or field was not found on this custom attribute type - このカスタム属性型に、このプロパティまたはフィールドが見つかりませんでした + + Specify a strong name key container + Specify a strong name key container - - A custom attribute must be a reference type - カスタム属性は参照型にする必要があります + + Specify a strong name key file + Specify a strong name key file - - The number of args for a custom attribute does not match the expected number of args for the attribute constructor - カスタム属性の引数の数は、属性コンストラクターの引数に必要な数と一致しません + + Specify subsystem version of this assembly + Specify subsystem version of this assembly - - A custom attribute must invoke an object constructor - カスタム属性はオブジェクト コンストラクターを呼び出す必要があります + + Supported language versions: + Supported language versions: - - - Attribute expressions must be calls to object constructors - 属性式は、オブジェクト コンストラクターに対する呼び出しにしてください + + + Enable or disable tailcalls + Enable or disable tailcalls - - This attribute cannot be used in this version of F# - このバージョンの F# では、この属性を使用できません + + Specify target framework profile of this assembly. Valid values are mscorlib, netcore or netstandard. Default - mscorlib + Specify target framework profile of this assembly. Valid values are mscorlib, netcore or netstandard. Default - mscorlib - - Invalid inline specification - インラインの指定が無効です + + Unknown --test argument: '{0}' + Unknown --test argument: '{0}' - - 'use' bindings must be of the form 'use <var> = <expr>' - 'use' バインディングの形式は 'use <var> = <expr>' でなければなりません + + Algorithm '{0}' is not supported + Algorithm '{0}' is not supported - - Abstract members are not permitted in an augmentation - they must be defined as part of the type itself - 拡張に抽象メンバーは使用できません。型の一部として定義する必要があります。 + + Unrecognized platform '{0}', valid values are 'x86', 'x64', 'Itanium', 'anycpu32bitpreferred', and 'anycpu' + Unrecognized platform '{0}', valid values are 'x86', 'x64', 'Itanium', 'anycpu32bitpreferred', and 'anycpu' - - Method overrides and interface implementations are not permitted here - ここでメソッドのオーバーライドおよびインターフェイスの実装は許可されていません + + Unrecognized debug type '{0}', expected 'pdbonly' or 'full' + Unrecognized debug type '{0}', expected 'pdbonly' or 'full' - - No abstract or interface member was found that corresponds to this override - このオーバーライドに対応する抽象メンバーまたはインターフェイス メンバーが見つかりませんでした + + Unrecognized value '{0}' for --langversion use --langversion:? for complete list + Unrecognized value '{0}' for --langversion use --langversion:? for complete list - - This override takes a different number of arguments to the corresponding abstract member. The following abstract members were found:{0} - このオーバーライドでは、対応する抽象メンバーに対して異なる数の引数を使用しています。次の抽象メンバーが見つかりました: {0} + + Unrecognized target '{0}', expected 'exe', 'winexe', 'library' or 'module' + Unrecognized target '{0}', expected 'exe', 'winexe', 'library' or 'module' - - This method already has a default implementation - このメソッドには既に既定の実装があります + + Enable high-entropy ASLR + Enable high-entropy ASLR - - The method implemented by this default is ambiguous - この既定で実装されたメソッドはあいまいです + + Output messages in UTF-8 encoding + Output messages in UTF-8 encoding - - No abstract property was found that corresponds to this override - このオーバーライドに対応する抽象プロパティが見つかりませんでした + + Set a warning level (0-5) + Set a warning level (0-5) - - This property overrides or implements an abstract property but the abstract property doesn't have a corresponding {0} - このプロパティは、抽象プロパティをオーバーライドまたは実装しますが、抽象プロパティには対応する {0} がありません + + Enable specific warnings that may be off by default + Enable specific warnings that may be off by default - - Invalid signature for set member - set メンバーのシグネチャが無効です + + Report specific warnings as errors + Report specific warnings as errors - - This new member hides the abstract member '{0}'. Rename the member or use 'override' instead. - この新しいメンバーは抽象メンバー '{0}' を隠ぺいします。メンバーの名前を変更するか、代わりに 'override' を使用してください。 + + Report all warnings as errors + Report all warnings as errors - - This new member hides the abstract member '{0}' once tuples, functions, units of measure and/or provided types are erased. Rename the member or use 'override' instead. - タプル、関数、測定単位、または指定された型が消去されると、この新しいメンバーは抽象メンバー '{0}' を隠ぺいします。メンバーの名前を変更するか、代わりに 'override' を使用してください。 + + Specify a Win32 manifest file + Specify a Win32 manifest file - - Interfaces cannot contain definitions of static initializers - インターフェイスに静的初期化子の定義を含めることはできません + + Specify a Win32 resource file (.res) + Specify a Win32 resource file (.res) - - Interfaces cannot contain definitions of object constructors - インターフェイスにオブジェクト コンストラクターの定義を含めることはできません + + Write the xmldoc of the assembly to the given file + Write the xmldoc of the assembly to the given file - - Interfaces cannot contain definitions of member overrides - インターフェイスにメンバーのオーバーライドの定義を含めることはできません + + The package management feature requires language version 5.0 use /langversion:preview + The package management feature requires language version 5.0 use /langversion:preview - - Interfaces cannot contain definitions of concrete members. You may need to define a constructor on your type to indicate that the type is a class. - インターフェイスに具象メンバーの定義を含めることはできません。必要に応じて、型にコンストラクターを定義して、型がクラスであることを示してください。 + + {0} + {0} - - Constructors cannot be specified in exception augmentations - 例外の拡張にコンストラクターは指定できません + + Package manager key '{0}' was not registered in {1}. Currently registered: {2} + Package manager key '{0}' was not registered in {1}. Currently registered: {2} - - 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. - 構造体には、引数なしのオブジェクト コンストラクターを使用できません。構造体は既定のコンストラクターを自動的にサポートするため、これはすべての CLI 言語に課せられた制限です。 + + Accessibility modifiers are not allowed on this member. Abstract slots always have the same visibility as the enclosing type. + Accessibility modifiers are not allowed on this member. Abstract slots always have the same visibility as the enclosing type. - - Constructors cannot be defined for this type - この型にコンストラクターは定義できません + + The '|' character is not permitted in active pattern case identifiers + The '|' character is not permitted in active pattern case identifiers - - Recursive bindings that include member specifications can only occur as a direct augmentation of a type - メンバーの指定を含む再帰的束縛は、型の直接的な拡張としてのみ実行できます + + Active pattern case identifiers must begin with an uppercase letter + Active pattern case identifiers must begin with an uppercase letter - - Only simple variable patterns can be bound in 'let rec' constructs - 'let rec' コンストラクトでバインドできるのは、単純な変数パターンのみです + + All enum fields must be given values + All enum fields must be given values - - Mutable 'let' bindings can't be recursive or defined in recursive modules or namespaces - Mutable 'let' bindings can't be recursive or defined in recursive modules or namespaces + + 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. + 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. - - This member is not sufficiently generic - このメンバーの総称性が十分ではありません + + 'assert' may not be used as a first class value. Use 'assert <expr>' instead. + 'assert' may not be used as a first class value. Use 'assert <expr>' instead. - - A declaration may only be the [<Literal>] attribute if a constant value is also given, e.g. 'val x : int = 1' - 定数値も指定する場合には宣言を [<Literal>] 属性のみにできます。例: 'val x : int = 1' + + Cannot find code target for this attribute, possibly because the code after the attribute is incomplete. + Cannot find code target for this attribute, possibly because the code after the attribute is incomplete. - - A declaration may only be given a value in a signature if the declaration has the [<Literal>] attribute - 宣言に [<Literal>] 属性が設定されている場合には宣言によって値を指定できるのはシグネチャ内のみです + + Attributes are not permitted on interface implementations + Attributes are not permitted on interface implementations - - 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 - Thread-static 変数および context-static 変数は静的にし、[<DefaultValue>] 属性を指定し、新しいスレッドごとに値が既定値に初期化されることを示す必要があります + + Attributes have been ignored in this construct + Attributes have been ignored in this construct - - Volatile fields must be marked 'mutable' and cannot be thread-static - volatile フィールドは 'mutable' とマークしてください。また、thread-static にすることはできません。 + + Attributes are not allowed here + Attributes are not allowed here - - Uninitialized 'val' fields must be mutable and marked with the '[<DefaultValue>]' attribute. Consider using a 'let' binding instead of a 'val' field. - 初期化されていない 'val' フィールドは変更可能で、'[<DefaultValue>]' 属性によってマークされている必要があります。'val' フィールドの代わりに 'let' バインディングの使用を検討してください。 + + Attributes are not permitted on 'inherit' declarations + Attributes are not permitted on 'inherit' declarations - - 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. - 型の静的な 'val' フィールドは変更可能で、プライベートで、さらには'[<DefaultValue>]' 属性でマークされている必要があります。これらの型では、'null' 値または 'zero' 値に初期化されます。クラス型で 'static let mutable' バインディングを使用することも検討してください。 + + Attributes should be placed before 'val' + Attributes should be placed before 'val' - - This field requires a name - このフィールドには名前が必要です + + Augmentations are not permitted on delegate type moduleDefns + Augmentations are not permitted on delegate type moduleDefns - - Invalid namespace, module, type or union case name - 名前空間、モジュール、型、または共用体ケースの名前が無効です + + Consider using a separate record type instead + Consider using a separate record type instead - - Explicit type declarations for constructors must be of the form 'ty1 * ... * tyN -> resTy'. Parentheses may be required around 'resTy' - コンストラクターの明示的な型宣言の形式は 'ty1 * ... * tyN -> resTy' でなければなりません。'resTy' をかっこで囲まなければならない場合があります + + Accessibility modifiers are not permitted on 'do' bindings, but '{0}' was given. + Accessibility modifiers are not permitted on 'do' bindings, but '{0}' was given. - - Return types of union cases must be identical to the type being defined, up to abbreviations - 共用体ケースの戻り値の型は、省略形に従い、定義されている型と同じにする必要があります + + Invalid interpolated string. This interpolated string expression fill is empty, an expression was expected. + Invalid interpolated string. This interpolated string expression fill is empty, an expression was expected. - - This is not a valid value for an enumeration literal - 列挙型リテラルの有効な値ではありません + + 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'. + 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'. - - The type '{0}' is not an interface type - 型 '{0}' はインターフェイス型ではありません + + Accessibility modifiers are not permitted on enumeration fields + Accessibility modifiers are not permitted on enumeration fields - - Duplicate specification of an interface - インターフェイスの指定に重複があります + + Accessibility modifiers are not permitted in this position for enum types + Accessibility modifiers are not permitted in this position for enum types - - A field/val declaration is not permitted here - ここでは field/val の宣言を使用できません + + End of file in comment begun at or before here + End of file in comment begun at or before here - - A inheritance declaration is not permitted here - ここでは継承の宣言を使用できません + + End of file in directive begun at or before here + End of file in directive begun at or before here - - This declaration opens the module '{0}', 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. - この宣言は 'RequireQualifiedAccess' とマークされているモジュール '{0}' を開きます。代わりにモジュールの要素に対する限定参照を使用するようにコードを変更してください (たとえば、'map' の代わりに 'List.map')。この変更によってコードが堅牢になり、新しいコンストラクターがライブラリに追加された場合にも対応できます。 + + End of file in #if section begun at or after here + End of file in #if section begun at or after here - - This declaration opens the namespace or module '{0}' 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. - この宣言は部分的な修飾パスを介して名前空間またはモジュール '{0}' を開きます。名前空間の完全パスを使用するようにコードを変更してください。この変更によってコードが堅牢になり、新しいコンストラクターが F# ライブラリや CLI ライブラリに追加された場合にも対応できます。 + + End of file in IF-OCAML section begun at or before here + End of file in IF-OCAML section begun at or before here - - Local class bindings cannot be marked inline. Consider lifting the definition out of the class or else do not mark it as inline. - ローカル クラスの束縛に 'inline' とマークすることはできません。クラスから定義を取り除くか、'inline' とマークしないでください。 + + Incomplete interpolated string begun at or before here + Incomplete interpolated string begun at or before here - - Type abbreviations cannot have members - 型略称にメンバーを含めることはできません + + Incomplete interpolated string expression fill begun at or before here + Incomplete interpolated string expression fill begun at or before here - - 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. - F# 4.1 まででは、型略称のアクセシビリティはコンパイル時に確認されます。型略称のアクセシビリティを変更することを検討してください。この警告を無視すると、ランタイム エラーが発生する可能性があります。 + + Incomplete interpolated triple-quote string begun at or before here + Incomplete interpolated triple-quote string begun at or before here - - Enumerations cannot have members - 列挙型にメンバーを含めることはできません + + Incomplete interpolated verbatim string begun at or before here + Incomplete interpolated verbatim string begun at or before here - - Measure declarations may have only static members - 単位の宣言に使用できるのは静的なメンバーのみです + + End of file in string begun at or before here + End of file in string begun at or before here - - Structs cannot contain 'do' bindings because the default constructor for structs would not execute these bindings - 構造体の既定のコンストラクターは束縛を実行しないため、構造体には 'do' 束縛を含むことができません + + End of file in string embedded in comment begun at or before here + End of file in string embedded in comment begun at or before here - - 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. - 構造体の既定のコンストラクターは束縛を実行しないため、構造体には値の定義を含むことができません。型のプライマリ コンストラクターに引数を追加してください。 + + End of file in triple-quote string begun at or before here + End of file in triple-quote string begun at or before here - - Static value definitions may only be used in types with a primary constructor. Consider adding arguments to the type definition, e.g. 'type X(args) = ...'. - 静的な値の定義は、プライマリ コンストラクターを含む型でのみ使用できます。型定義に引数を追加してください ( たとえば、'type X(args) = ...')。 + + End of file in triple-quote string embedded in comment begun at or before here + End of file in triple-quote string embedded in comment begun at or before here - - Measure declarations may have only static members: constructors are not available - 単位の宣言に使用できるのは静的なメンバーのみです。コンストラクターは使用できません。 + + End of file in verbatim string begun at or before here + End of file in verbatim string begun at or before here - - A member and a local class binding both have the name '{0}' - メンバーとローカル クラスの束縛はどちらも '{0}' という名前を使用しています + + End of file in verbatim string embedded in comment begun at or before here + End of file in verbatim string embedded in comment begun at or before here - - Type abbreviations cannot have interface declarations - 型略称にインターフェイスの宣言を含めることはできません + + Error in the return expression for this 'let'. Possible incorrect indentation. + Error in the return expression for this 'let'. Possible incorrect indentation. - - Enumerations cannot have interface declarations - 列挙型にインターフェイスの宣言を含めることはできません + + Attempted to parse this as an operator name, but failed + Attempted to parse this as an operator name, but failed - - This type is not an interface type - この型はインターフェイス型ではありません + + The block following this '{0}' is unfinished. Every code block is an expression and must have a result. '{1}' cannot be the final code element in a block. Consider giving this block an explicit result. + The block following this '{0}' is unfinished. Every code block is an expression and must have a result. '{1}' cannot be the final code element in a block. Consider giving this block an explicit result. - - All implemented interfaces should be declared on the initial declaration of the type - 実装したすべてのインターフェイスは、型の最初の宣言で宣言する必要があります + + Expected an expression after this point + Expected an expression after this point - - 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 - インターフェイスの明示的な実装が型の定義時に指定されなかったため、このインターフェイスの既定の実装が追加されました。 + + Unexpected end of type. Expected a name after this point. + Unexpected end of type. Expected a name after this point. - - This member is not permitted in an interface implementation - インターフェイスの実装では、このメンバーは使用できません + + Expected a type after this point + Expected a type after this point - - This declaration element is not permitted in an augmentation - 拡張にこの宣言の要素は使用できません + + Field bindings must have the form 'id = expr;' + Field bindings must have the form 'id = expr;' - - Types cannot contain nested type definitions - 型に入れ子の型定義を含めることはできません + + Missing 'do' in 'for' expression. Expected 'for <pat> in <expr> do <expr>'. + Missing 'do' in 'for' expression. Expected 'for <pat> in <expr> do <expr>'. - - type, exception or module - 型、例外、またはモジュール + + 'get' and/or 'set' required + 'get' and/or 'set' required - - type or module - 型またはモジュール + + 'get', 'set' or 'get,set' required + 'get', 'set' or 'get,set' required - - The struct, record or union type '{0}' implements the interface 'System.IStructuralEquatable' explicitly. Apply the 'CustomEquality' attribute to the type. - 構造体型、レコード型、または共用体型の '{0}' はインターフェイス 'System.IStructuralEquatable' を明示的に実装しています。この型には 'CustomEquality' 属性を適用してください。 + + A getter property may have at most one argument group + A getter property may have at most one argument group - - The struct, record or union type '{0}' 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)'. - 構造体型、レコード型、共用体型の '{0}' がインターフェース 'System.IEquatable<_>' を明示的に実装しています。この型に 'CustomEquality' 属性を適用し、非ジェネリック オーバーライド 'System.Object.Equals(obj)' の整合性のある実装を用意します。 + + A getter property is expected to be a function, e.g. 'get() = ...' or 'get(index) = ...' + A getter property is expected to be a function, e.g. 'get() = ...' or 'get(index) = ...' - - Explicit type specifications cannot be used for exception constructors - 明示的な型の指定は、例外のコンストラクターには使用できません + + Identifier expected + Identifier expected - - Exception abbreviations should not have argument lists - 例外の省略形に引数リストを含めることはできません + + Ignoring attributes on module abbreviation + Ignoring attributes on module abbreviation - - Abbreviations for Common IL exceptions cannot take arguments - Common IL の例外型の場合、省略形には引数を使用できません + + The '{0}' accessibility attribute is not allowed on module abbreviation. Module abbreviations are always private. + The '{0}' accessibility attribute is not allowed on module abbreviation. Module abbreviations are always private. - - Exception abbreviations must refer to existing exceptions or F# types deriving from System.Exception - 例外の省略形は、既存の例外、または System.Exception から派生した F# 型を参照する必要があります + + The '{0}' visibility attribute is not allowed on module abbreviation. Module abbreviations are always private. + The '{0}' visibility attribute is not allowed on module abbreviation. Module abbreviations are always private. - - Abbreviations for Common IL exception types must have a matching object constructor - Common IL の例外型の場合、省略形には対応するオブジェクト コンストラクターが必要です + + Denominator must not be 0 in unit-of-measure exponent + Denominator must not be 0 in unit-of-measure exponent - - Not an exception - 例外ではありません + + Neither 'member val' nor 'override val' definitions are permitted in object expressions. + Neither 'member val' nor 'override val' definitions are permitted in object expressions. - - Invalid module name - モジュール名が無効です + + 'in' or '=' expected + 'in' or '=' expected - - Invalid type extension - 型の拡張が無効です + + Incomplete conditional. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'. + Incomplete conditional. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'. - - The attributes of this type specify multiple kinds for the type - この型の属性は、その型に対して複数の種類を指定しています + + An indexer property must be given at least one argument + An indexer property must be given at least one argument - - The kind of the type specified by its attributes does not match the kind implied by its definition - この属性によって指定された型の種類は、定義が示す種類と一致しません + + '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. + '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. - - Measure definitions cannot have type parameters - 単位の定義に型パラメーターは使用できません + + Accessibility modifiers are not permitted on inline assembly code types + Accessibility modifiers are not permitted on inline assembly code types - - This type requires a definition - この型には定義が必要です + + An integer for loop must use a simple identifier + An integer for loop must use a simple identifier - - 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 ...'. - この型の省略形では、省略される型に出現しない型パラメーターが 1 つまたは複数宣言されました。型の省略形には、省略される型のすべての宣言済み型パラメーターを使用する必要があります。1 つまたは複数のパラメーターを削除するか、基底となる型をラップする具象型定義を使用してください (たとえば、'type C<'a> = C of ...')。 + + Interfaces always have the same visibility as the enclosing type + Interfaces always have the same visibility as the enclosing type - - Structs, interfaces, enums and delegates cannot inherit from other types - 構造体、インターフェイス、列挙型、およびデリゲートは、他の型から継承できません + + Invalid anonymous record expression + Invalid anonymous record expression - - Types cannot inherit from multiple concrete types - 型は複数の具象型から継承できません + + Invalid anonymous record type + Invalid anonymous record type - - Records, union, abbreviations and struct types cannot have the 'AllowNullLiteral' attribute - レコード型、共用体型、省略形型、および構造体型に 'AllowNullLiteral' 属性を指定することはできません + + Invalid declaration syntax + Invalid declaration syntax - - Types with the 'AllowNullLiteral' attribute may only inherit from or implement types which also allow the use of the null literal - 'AllowNullLiteral' 属性を持つ型が継承または実装できるのは、null のリテラルも使用できる型のみです + + Invalid literal in type + Invalid literal in type - - Generic types cannot be given the 'StructLayout' attribute - ジェネリック型に 'StructLayout' 属性を指定することはできません + + Invalid prefix operator + Invalid prefix operator - - Only structs and classes without primary constructors may be given the 'StructLayout' attribute - 'StructLayout' 属性を指定できるのは、プライマリ コンストラクターなしの構造体およびクラスのみです + + Invalid operator definition. Prefix operator definitions must use a valid prefix operator name. + Invalid operator definition. Prefix operator definitions must use a valid prefix operator name. - - 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. - この種の表現は、シグネチャによって非表示になります。この種の特性を示すには、[<Sealed>]、[<Class>]、または [<Interface>] などの属性を指定する必要があります。 + + Invalid property getter or setter + Invalid property getter or setter - - Only classes may be given the 'AbstractClass' attribute - 'AbstractClass' 属性を指定できるのはクラスのみです + + Invalid use of 'rec' keyword + Invalid use of 'rec' keyword - - Only types representing units-of-measure may be given the 'Measure' attribute - 'Measure' 属性を指定できるのは、単位を表す型のみです + + The declaration form 'let ... and ...' for non-recursive bindings is not used in F# code. Consider using a sequence of 'let' bindings + The declaration form 'let ... and ...' for non-recursive bindings is not used in F# code. Consider using a sequence of 'let' bindings - - Accessibility modifiers are not permitted on overrides or interface implementations - オーバーライドまたはインターフェイスの実装にはアクセシビリティ修飾子を使用できません + + This member is not permitted in an object implementation + This member is not permitted in an object implementation - - Discriminated union types are always sealed - 判別された共用体型は常にシールドです + + Mismatched quotation operator name, beginning with '{0}' + Mismatched quotation operator name, beginning with '{0}' - - Record types are always sealed - レコード型は常にシールドです + + Mismatched quotation, beginning with '{0}' + Mismatched quotation, beginning with '{0}' - - Assembly code types are always sealed - アセンブリ コード型は常にシールドです + + Missing function body + Missing function body - - Struct types are always sealed - 構造体型は常にシールドです + + Unmatched '<'. Expected closing '>' + Unmatched '<'. Expected closing '>' - - Delegate types are always sealed - デリゲート型は常にシールドです + + Missing qualification after '.' + Missing qualification after '.' - - Enum types are always sealed - 列挙型は常にシールドです + + Expected type argument or static argument + Expected type argument or static argument - - Interface types and delegate types cannot contain fields - インターフェイス型またはデリゲート型にフィールドを含めることはできません + + A module abbreviation must be a simple name, not a path + A module abbreviation must be a simple name, not a path - - Abbreviated types cannot be given the 'Sealed' attribute - 省略された型に 'Sealed' 属性を指定することはできません + + A module name must be a simple name, not a path + A module name must be a simple name, not a path - - Cannot inherit a sealed type - シールド型を継承できません + + The syntax '(typ,...,typ) ident' is not used in F# code. Consider using 'ident<typ,...,typ>' instead + The syntax '(typ,...,typ) ident' is not used in F# code. Consider using 'ident<typ,...,typ>' instead - - Cannot inherit from interface type. Use interface ... with instead. - インターフェイスの型から継承できません。代わりに interface ... with を使用してください。 + + Multiple accessibilities given for property getter or setter + Multiple accessibilities given for property getter or setter - - Struct types cannot contain abstract members - 構造体型に抽象メンバーを含むことはできません + + Property definitions may not be declared mutable. To indicate that this property can be set, use 'member val PropertyName = expr with get,set'. + Property definitions may not be declared mutable. To indicate that this property can be set, use 'member val PropertyName = expr with get,set'. - - Interface types cannot be sealed - インターフェイス型をシールドにすることはできません + + To indicate that this property can be set, use 'member val PropertyName = expr with get,set'. + To indicate that this property can be set, use 'member val PropertyName = expr with get,set'. - - Delegate specifications must be of the form 'typ -> typ' - デリゲート仕様の形式は、'typ -> typ' でなければなりません + + 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 = ...' + 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 = ...' - - Delegate specifications must not be curried types. Use 'typ * ... * typ -> typ' for multi-argument delegates, and 'typ -> (typ -> typ)' for delegates returning function values. - デリゲートにはカリー化された型を指定しないでください。複数引数のデリゲートには 'typ * ... * typ -> typ' を使用し、関数値を返すデリゲートには 'typ -> (typ -> typ)' を使用します。 + + No '=' symbol should follow a 'namespace' declaration + No '=' symbol should follow a 'namespace' declaration - - Literal enumerations must have type int, uint, int16, uint16, int64, uint64, byte, sbyte or char - リテラル列挙値の型は、int、uint、int16、uint16、int64、uint64、byte、sbyte、または char にする必要があります + + No #endif found for #if or #else + No #endif found for #if or #else - - This type definition involves an immediate cyclic reference through an abbreviation - この型定義では、省略形による直接的な循環参照が発生します + + No matching 'in' found for this 'let' + No matching 'in' found for this 'let' - - This type definition involves an immediate cyclic reference through a struct field or inheritance relation - この型定義では、構造体フィールドまたは継承の関係による直接的な循環参照が発生します + + 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. + 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. - - 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 - 構文 'type X with ...' は拡張用に予約されています。これらは非表示になっていますが、'type X = ...' を使用してシグネチャでメンバーが宣言されています。シグネチャの型定義に '[<Sealed>] 属性を追加しなければならない場合があります + + 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. + 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. - - 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. - インターフェイス型、デリゲート型、または列挙型を拡張するメンバーは、型の定義とは別のモジュールに配置する必要があります。このモジュールに AutoOpen 属性を指定するか、クライアント コードで明示的にモジュールを開いて、拡張メンバーをスコープに含める必要があります。 + + 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>' + 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>' - - 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 '{0}' - この型の拡張の 1 つ以上の宣言された型パラメーターについて、型の制約が見つからないか、型の制約が '{0}' の元の型の制約に一致しないため正しくありません。 + + Only class types may take value arguments + Only class types may take value arguments - - Type definitions may only have one 'inherit' specification and it must be the first declaration - 型定義に含めることができる 'inherit' 指定は 1 つのみであり、これを最初の宣言にする必要があります。 + + Only '#' compiler directives may occur prior to the first 'namespace' declaration + Only '#' compiler directives may occur prior to the first 'namespace' declaration - - 'let' and 'do' bindings must come before member and interface definitions in type definitions - 型定義内のメンバーとインターフェイスの定義の前に、'let' および 'do' 束縛を含める必要があります + + At most one 'with' augmentation is permitted + At most one 'with' augmentation is permitted - - This 'inherit' declaration specifies the inherited type but no arguments. Consider supplying arguments, e.g. 'inherit BaseType(args)'. - この 'inherit' 宣言は継承された型を指定していますが、引数がありません。引数を指定してください (たとえば、'inherit BaseType(args)')。 + + In F# code you may use 'expr.[expr]'. A type annotation may be required to indicate the first expression is an array + In F# code you may use 'expr.[expr]'. A type annotation may be required to indicate the first expression is an array - - 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) = ...'. - この 'inherit' 宣言には引数が含まれていますが、これはプライマリ コンストラクターを含む型ではありません。型定義に引数を追加してください (たとえば、'type X(args) = ...')。 + + Accessibility modifiers are not permitted on record fields. Use 'type R = internal ...' or 'type R = private ...' to give an accessibility to the whole representation. + Accessibility modifiers are not permitted on record fields. Use 'type R = internal ...' or 'type R = private ...' to give an accessibility to the whole representation. - - 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) = ...'. - この定義は、プライマリ コンストラクターを含む型でのみ使用できます。型定義に引数を追加してください (たとえば、'type X(args) = ...')。 + + Property setters must be defined using 'set value = ', 'set idx value = ' or 'set (idx1,...,idxN) value = ... ' + Property setters must be defined using 'set value = ', 'set idx value = ' or 'set (idx1,...,idxN) value = ... ' - - Type abbreviations cannot have augmentations - 型略称に拡張を含めることはできません + + A setter property may have at most two argument groups + A setter property may have at most two argument groups - - The path '{0}' is a namespace. A module abbreviation may not abbreviate a namespace. - パス '{0}' は名前空間です。モジュールの省略形は名前空間の省略形にはできません。 + + Successive arguments should be separated by spaces or tupled, and arguments involving function or method applications should be parenthesized + Successive arguments should be separated by spaces or tupled, and arguments involving function or method applications should be parenthesized - - The type '{0}' is used in an invalid way. A value prior to '{1}' has an inferred type involving '{2}', which is an invalid forward reference. - 型 '{0}' の使用方法に誤りがあります。'{1}' の前の値に、'{2}' と推論されるような型があります。これは無効な前方参照です。 + + Successive patterns should be separated by spaces or tupled + Successive patterns should be separated by spaces or tupled - - The member '{0}' is used in an invalid way. A use of '{1}' has been inferred prior to the definition of '{2}', which is an invalid forward reference. - メンバー '{0}' の使用方法に誤りがあります。'{2}' の定義の前に '{1}' の使用が推論されました。これは無効な前方参照です。 + + Syntax error + Syntax error - - The attribute 'AutoOpen(\"{0}\")' in the assembly '{1}' did not refer to a valid module or namespace in that assembly and has been ignored - アセンブリ '{1}' の属性 'AutoOpen(\"{0}\")' は、このアセンブリ内の有効なモジュールまたは名前空間を参照していないため、無視されました + + Syntax error in labelled type argument + Syntax error in labelled type argument - - Undefined value '{0}' - 未定義の値 '{0}' + + The syntax 'module ... : sig .. end' is not used in F# code. Consider using 'module ... = begin .. end' + The syntax 'module ... : sig .. end' is not used in F# code. Consider using 'module ... = begin .. end' - - Label {0} not found - ラベル {0} が見つかりません + + The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end' + The syntax 'module ... = struct .. end' is not used in F# code. Consider using 'module ... = begin .. end' - - Incorrect number of type arguments to local call - ローカルの呼び出しに対する型引数の数が正しくありません + + Accessibility modifiers are not permitted in this position for type abbreviations + Accessibility modifiers are not permitted in this position for type abbreviations - - Dynamic invocation of {0} is not supported - {0} の動的呼び出しはサポートされません + + Type annotations on property getters and setters must be given after the 'get()' or 'set(v)', e.g. 'with get() : string = ...' + Type annotations on property getters and setters must be given after the 'get()' or 'set(v)', e.g. 'with get() : string = ...' - - Taking the address of a literal field is invalid - リテラル フィールドのアドレスは使用できません + + Type name cannot be empty. + Type name cannot be empty. - - This operation involves taking the address of a value '{0}' represented using a local variable or other special representation. This is invalid. - この操作には、ローカル変数または他の特殊な表現を使用して表された値 '{0}' のアドレスが使用されています。これは無効です。 + + Unclosed block + Unclosed block - - Custom marshallers cannot be specified in F# code. Consider using a C# helper function. - F# コードではカスタム マーシャラーを指定できません。C# ヘルパー関数を使用してください。 + + '_' cannot be used as field name + '_' cannot be used as field name - - The MarshalAs attribute could not be decoded - MarshalAs 属性をデコードできませんでした + + Unexpected empty type moduleDefn list + Unexpected empty type moduleDefn list - - - The signature for this external function contains type parameters. Constrain the argument and return types to indicate the types of the corresponding C function. - この外部関数のシグネチャには型パラメーターが含まれます。引数を制限し、対応する C 関数の型を示す型を戻してください。 + + + Unexpected end of input + Unexpected end of input - - The DllImport attribute could not be decoded - DllImport 属性をデコードできませんでした + + Unexpected end of input in value, function or member definition + Unexpected end of input in value, function or member definition - - Literal fields cannot be set - リテラル フィールドを設定できません + + Unexpected end of input in 'else' branch of conditional expression. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'. + Unexpected end of input in 'else' branch of conditional expression. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'. - - GenSetStorage: {0} was represented as a static method but was not an appropriate lambda expression - GenSetStorage: {0} は静的メソッドとして表現されましたが、適切なラムダ式ではありません + + Unexpected end of input in expression + Unexpected end of input in expression - - Mutable variables cannot escape their method - 変更可能な変数ではメソッドをエスケープできません + + Unexpected end of input in 'for' expression. Expected 'for <pat> in <expr> do <expr>'. + Unexpected end of input in 'for' expression. Expected 'for <pat> in <expr> do <expr>'. - - Compiler error: unexpected unrealized value - コンパイラ エラー: 予期しない認識されない値 + + Unexpected end of input in body of lambda expression. Expected 'fun <pat> ... <pat> -> <expr>'. + Unexpected end of input in body of lambda expression. Expected 'fun <pat> ... <pat> -> <expr>'. - - Main module of program is empty: nothing will happen when it is run - プログラムのメイン モジュールが空です。実行しても何も処理されません + + Unexpected end of input in 'match' expression. Expected 'match <expr> with | <pat> -> <expr> | <pat> -> <expr> ...'. + Unexpected end of input in 'match' expression. Expected 'match <expr> with | <pat> -> <expr> | <pat> -> <expr> ...'. - - This type cannot be used for a literal field - リテラル フィールドにこの型は使用できません + + Unexpected end of input in object members + Unexpected end of input in object members - - Unexpected GetSet annotation on a property - プロパティに予期しない GetSet 注釈がありました: + + Unexpected end of input in 'then' branch of conditional expression. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'. + Unexpected end of input in 'then' branch of conditional expression. Expected 'if <expr> then <expr>' or 'if <expr> then <expr> else <expr>'. - - The FieldOffset attribute could not be decoded - FieldOffset 属性をデコードできませんでした + + Unexpected end of input in 'try' expression. Expected 'try <expr> with <rules>' or 'try <expr> finally <expr>'. + Unexpected end of input in 'try' expression. Expected 'try <expr> with <rules>' or 'try <expr> finally <expr>'. - - The StructLayout attribute could not be decoded - StructLayout 属性をデコードできませんでした + + Unexpected end of input in type arguments + Unexpected end of input in type arguments - - The DefaultAugmentation attribute could not be decoded - DefaultAugmentation 属性をデコードできませんでした + + Unexpected end of input in type definition + Unexpected end of input in type definition - - Reflected definitions cannot contain uses of the prefix splice operator '%' - リフレクションされた定義には、プレフィックスのスプライス演算子 '%' を使用できません + + Unexpected end of input in type signature + Unexpected end of input in type signature - - Problem with codepage '{0}': {1} - コードページ '{0}' に問題があります: {1} + + Unexpected end of input in 'while' expression. Expected 'while <expr> do <expr>'. + Unexpected end of input in 'while' expression. Expected 'while <expr> do <expr>'. - - Copyright (c) Microsoft Corporation. All Rights Reserved. - Copyright (C) Microsoft Corporation. All rights reserved. + + Unexpected end of input in 'match' or 'try' expression + Unexpected end of input in 'match' or 'try' expression - - Freely distributed under the MIT Open Source License. https://github.com/Microsoft/visualfsharp/blob/master/License.txt - MIT のオープン ソース ライセンスで無料配布されています。https://github.com/Microsoft/visualfsharp/blob/master/License.txt + + Unexpected identifier: '{0}' + Unexpected identifier: '{0}' - - Name of the output file (Short form: -o) - 出力ファイルの名前 (短い形式: -o) + + Unexpected infix operator in type expression + Unexpected infix operator in type expression - - Build a console executable - コンソール実行可能ファイルをビルドします + + Unexpected integer literal in unit-of-measure expression + Unexpected integer literal in unit-of-measure expression - - Build a Windows executable - Windows 実行可能ファイルをビルドします + + Unexpected infix operator in unit-of-measure expression. Legal operators are '*', '/' and '^'. + Unexpected infix operator in unit-of-measure expression. Legal operators are '*', '/' and '^'. - - Build a library (Short form: -a) - ライブラリをビルドします (短い形式: -a) + + 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. + 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. - - Build a module that can be added to another assembly - 別のアセンブリに追加できるモジュールをビルドします + + A semicolon is not expected at this point + A semicolon is not expected at this point - - Delay-sign the assembly using only the public portion of the strong name key - 厳密名キーのパブリックな部分のみを使ってアセンブリを遅延署名します + + Unexpected symbol '.' in member definition. Expected 'with', '=' or other token. + Unexpected symbol '.' in member definition. Expected 'with', '=' or other token. - - Public-sign the assembly using only the public portion of the strong name key, and mark the assembly as signed - 厳密な名前のキーの公開部分のみを使ってアセンブリを公開署名し、アセンブリを署名済みとしてマークします + + Unexpected symbol '=' in expression. Did you intend to use 'for x in y .. z do' instead? + Unexpected symbol '=' in expression. Did you intend to use 'for x in y .. z do' instead? - - Write the xmldoc of the assembly to the given file - 指定したファイルにアセンブリの xmldoc を書き込みます + + Syntax error: unexpected type parameter specification + Syntax error: unexpected type parameter specification - - Specify a strong name key file - 厳密名キー ファイルを指定します + + Accessibility modifiers are not permitted here, but '{0}' was given. + Accessibility modifiers are not permitted here, but '{0}' was given. - - Specify a strong name key container - 厳密名キー コンテナーを指定します + + Unexpected token '{0}' or incomplete expression + Unexpected token '{0}' or incomplete expression - - Limit which platforms this code can run on: x86, Itanium, x64, anycpu32bitpreferred, or anycpu. The default is anycpu. - このコードが実行されるプラットフォームの制限: x86、Itanium、x64、anycpu32bitpreferred、または anycpu。既定は anycpu です。 + + Accessibility modifiers are not permitted on union cases. Use 'type U = internal ...' or 'type U = private ...' to give an accessibility to the whole representation. + Accessibility modifiers are not permitted on union cases. Use 'type U = internal ...' or 'type U = private ...' to give an accessibility to the whole representation. - - Only include optimization information essential for implementing inlined constructs. Inhibits cross-module inlining but improves binary compatibility. - インライン コンストラクトの実装に必要な最適化情報のみを含めてください。モジュール間のインライン処理を禁止し、バイナリの互換性を改善してください。 + + Unmatched '{0}' + Unmatched '{0}' - - Don't add a resource to the generated assembly containing F#-specific metadata - F# 固有のメタデータを含む生成済みアセンブリにリソースを追加しないでください + + Unmatched 'begin' + Unmatched 'begin' - - Print the inferred interface of the assembly to a file - アセンブリの推論されたインターフェイスをファイルに出力します + + Unmatched 'begin' or 'struct' + Unmatched 'begin' or 'struct' - - Reference an assembly (Short form: -r) - アセンブリを参照します (短い形式: -r) + + Unmatched '{{' + Unmatched '{{' - - Specify a Win32 resource file (.res) - Win32 リソース ファイル (.res) を指定します + + Unmatched '{{|' + Unmatched '{{|' - - Specify a Win32 manifest file - Win32 マニフェスト ファイルを指定します + + Unmatched '[' + Unmatched '[' - - Do not include the default Win32 manifest - 既定の Win32 マニフェストを含めないでください + + Unmatched '[|' + Unmatched '[|' - - Embed all source files in the portable PDB file - 移植可能な PDB ファイル内にすべてのソース ファイルを埋め込む + + Unmatched 'class', 'interface' or 'struct' + Unmatched 'class', 'interface' or 'struct' - - Embed specific source files in the portable PDB file - 移植可能な PDB ファイル内に特定のソース ファイルを埋め込む + + Unmatched '[<'. Expected closing '>]' + Unmatched '[<'. Expected closing '>]' - - Source link information file to embed in the portable PDB file - 移植可能な PDB ファイルに埋め込むソース リンク情報ファイル + + 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. + 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. - - --embed switch only supported when emitting a Portable PDB (--debug:portable or --debug:embedded) - --embed スイッチは、移植可能な PDB の生成時にのみサポートされます (--debug:portable または --debug:embedded) + + 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. + 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. - - --sourcelink switch only supported when emitting a Portable PDB (--debug:portable or --debug:embedded) - --sourcelink スイッチは、移植可能な PDB の生成時にのみサポートされます (--debug:portable または --debug:embedded) + + Unmatched '(' + Unmatched '(' - - Source file is too large to embed in a portable PDB - ソース ファイルが大きすぎるので、移植可能な PDB 内に埋め込めません + + 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. + 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. - - Embed the specified managed resource - 指定したマネージド リソースを埋め込みます + + 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. + 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. - - Link the specified resource to this assembly where the resinfo format is <file>[,<string name>[,public|private]] - 指定されたリソースを、resinfo 形式が <file>[,<string name>[,public|private]] のこのアセンブリにリンクします + + Unmatched 'with' or badly formatted 'with' block + Unmatched 'with' or badly formatted 'with' block - - Emit debug information (Short form: -g) - デバッグ情報を生成します (短い形式: -g) + + 'use' bindings are not permitted in primary constructors + 'use' bindings are not permitted in primary constructors - - Specify debugging type: full, portable, embedded, pdbonly. ('{0}' is the default if no debuggging 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). - デバッグの種類 full、portable、pdbonly を指定します (デバッグの種類が指定されない場合には '{0}' が既定で、実行中のプログラムにデバッガーを付加することができます。'portable' はクロスプラットフォーム形式、'embedded' は出力ファイルに埋め込まれたクロスプラットフォーム形式です)。 + + 'use' bindings are not permitted in modules and are treated as 'let' bindings + 'use' bindings are not permitted in modules and are treated as 'let' bindings - - Enable optimizations (Short form: -O) - 最適化を有効にします (短い形式: -O) + + Accessibility modifiers should come immediately prior to the identifier naming a construct + Accessibility modifiers should come immediately prior to the identifier naming a construct - - Enable or disable tailcalls - tail の呼び出しを有効または無効にします + + Accessibility modifiers are not permitted on an 'inherits' declaration + Accessibility modifiers are not permitted on an 'inherits' declaration - - Produce a deterministic assembly (including module version GUID and timestamp) - 決定論的アセンブリを作成します (モジュール バージョン GUID やタイムスタンプなど) + + Missing 'do' in 'while' expression. Expected 'while <expr> do <expr>'. + Missing 'do' in 'while' expression. Expected 'while <expr> do <expr>'. - - Enable or disable cross-module optimizations - モジュール間の最適化を有効または無効にします + + Missing variable '{0}' + Missing variable '{0}' - - Report all warnings as errors - すべての警告をエラーとして報告する + + Partial active patterns may only generate one result + Partial active patterns may only generate one result - - Report specific warnings as errors - 指定した警告をエラーとして報告する + + Problem with filename '{0}': Illegal characters in path. + Problem with filename '{0}': Illegal characters in path. - - Set a warning level (0-5) - 警告レベル (0 ~ 5) を設定します + + A pattern match guard must be of type 'bool', but this 'when' expression is of type '{0}'. + A pattern match guard must be of type 'bool', but this 'when' expression is of type '{0}'. - - Disable specific warning messages - 指定の警告メッセージを無効にする + + Error reading/writing metadata for the F# compiled DLL '{0}'. Was the DLL compiled with an earlier version of the F# compiler? (error: '{1}'). + Error reading/writing metadata for the F# compiled DLL '{0}'. Was the DLL compiled with an earlier version of the F# compiler? (error: '{1}'). - - Enable specific warnings that may be off by default - 既定でオフにすることができる特定の警告を有効にします + + An error occurred while reading the F# metadata node at position {0} in table '{1}' of assembly '{2}'. The node had no matching declaration. Please report this warning. You may need to recompile the F# assembly you are using. + An error occurred while reading the F# metadata node at position {0} in table '{1}' of assembly '{2}'. The node had no matching declaration. Please report this warning. You may need to recompile the F# assembly you are using. - - Generate overflow checks - オーバーフロー チェックの生成 + + An error occurred while reading the F# metadata of assembly '{0}'. 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. + An error occurred while reading the F# metadata of assembly '{0}'. 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. - - Define conditional compilation symbols (Short form: -d) - 条件付きコンパイル シンボルを定義します (短い形式: -d) + + #i is not supported by the registered PackageManagers + #i is not supported by the registered PackageManagers - - Ignore ML compatibility warnings - ML 互換性に関する警告を無視します + + Expected single line comment or end of line + Expected single line comment or end of line -