diff --git a/src/fsharp/CompileOps.fs b/src/fsharp/CompileOps.fs
index 91dc8bb83bd..791fa35b9da 100644
--- a/src/fsharp/CompileOps.fs
+++ b/src/fsharp/CompileOps.fs
@@ -532,11 +532,11 @@ let UseOfAddressOfOperatorE() = DeclareResourceString("UseOfAddressOfOperator",
let DefensiveCopyWarningE() = DeclareResourceString("DefensiveCopyWarning", "%s")
let DeprecatedThreadStaticBindingWarningE() = DeclareResourceString("DeprecatedThreadStaticBindingWarning", "")
let FunctionValueUnexpectedE() = DeclareResourceString("FunctionValueUnexpected", "%s")
-let UnitTypeExpectedE() = DeclareResourceString("UnitTypeExpected", "")
-let UnitTypeExpectedWithEqualityE() = DeclareResourceString("UnitTypeExpectedWithEquality", "")
-let UnitTypeExpectedWithPossiblePropertySetterE() = DeclareResourceString("UnitTypeExpectedWithPossiblePropertySetter", "%s%s")
-let UnitTypeExpectedWithPossibleAssignmentE() = DeclareResourceString("UnitTypeExpectedWithPossibleAssignment", "%s")
-let UnitTypeExpectedWithPossibleAssignmentToMutableE() = DeclareResourceString("UnitTypeExpectedWithPossibleAssignmentToMutable", "%s")
+let UnitTypeExpectedE() = DeclareResourceString("UnitTypeExpected", "%s")
+let UnitTypeExpectedWithEqualityE() = DeclareResourceString("UnitTypeExpectedWithEquality", "%s")
+let UnitTypeExpectedWithPossiblePropertySetterE() = DeclareResourceString("UnitTypeExpectedWithPossiblePropertySetter", "%s%s%s")
+let UnitTypeExpectedWithPossibleAssignmentE() = DeclareResourceString("UnitTypeExpectedWithPossibleAssignment", "%s%s")
+let UnitTypeExpectedWithPossibleAssignmentToMutableE() = DeclareResourceString("UnitTypeExpectedWithPossibleAssignmentToMutable", "%s%s")
let RecursiveUseCheckedAtRuntimeE() = DeclareResourceString("RecursiveUseCheckedAtRuntime", "")
let LetRecUnsound1E() = DeclareResourceString("LetRecUnsound1", "%s")
let LetRecUnsound2E() = DeclareResourceString("LetRecUnsound2", "%s%s")
@@ -1292,28 +1292,32 @@ let OutputPhasedErrorR (os:StringBuilder) (err:PhasedDiagnostic) =
os.Append(DeprecatedThreadStaticBindingWarningE().Format) |> ignore
| FunctionValueUnexpected (denv, ty, _) ->
- // REVIEW: consider if we need to show _cxs (the type parameter constraints)
let ty, _cxs = PrettyTypes.PrettifyType denv.g ty
- os.Append(FunctionValueUnexpectedE().Format (NicePrint.stringOfTy denv ty)) |> ignore
+ let errorText = FunctionValueUnexpectedE().Format (NicePrint.stringOfTy denv ty)
+ os.Append errorText |> ignore
- | UnitTypeExpected (_, _, _) ->
- let warningText = UnitTypeExpectedE().Format
+ | UnitTypeExpected (denv, ty, _) ->
+ let ty, _cxs = PrettyTypes.PrettifyType denv.g ty
+ let warningText = UnitTypeExpectedE().Format (NicePrint.stringOfTy denv ty)
os.Append warningText |> ignore
- | UnitTypeExpectedWithEquality (_) ->
- let warningText = UnitTypeExpectedWithEqualityE().Format
+ | UnitTypeExpectedWithEquality (denv, ty, _) ->
+ let ty, _cxs = PrettyTypes.PrettifyType denv.g ty
+ let warningText = UnitTypeExpectedWithEqualityE().Format (NicePrint.stringOfTy denv ty)
os.Append warningText |> ignore
- | UnitTypeExpectedWithPossiblePropertySetter (_, _, bindingName, propertyName, _) ->
- let warningText = UnitTypeExpectedWithPossiblePropertySetterE().Format bindingName propertyName
+ | UnitTypeExpectedWithPossiblePropertySetter (denv, ty, bindingName, propertyName, _) ->
+ let ty, _cxs = PrettyTypes.PrettifyType denv.g ty
+ let warningText = UnitTypeExpectedWithPossiblePropertySetterE().Format (NicePrint.stringOfTy denv ty) bindingName propertyName
os.Append warningText |> ignore
- | UnitTypeExpectedWithPossibleAssignment (_, _, isAlreadyMutable, bindingName, _) ->
+ | UnitTypeExpectedWithPossibleAssignment (denv, ty, isAlreadyMutable, bindingName, _) ->
+ let ty, _cxs = PrettyTypes.PrettifyType denv.g ty
let warningText =
if isAlreadyMutable then
- UnitTypeExpectedWithPossibleAssignmentToMutableE().Format bindingName
+ UnitTypeExpectedWithPossibleAssignmentToMutableE().Format (NicePrint.stringOfTy denv ty) bindingName
else
- UnitTypeExpectedWithPossibleAssignmentE().Format bindingName
+ UnitTypeExpectedWithPossibleAssignmentE().Format (NicePrint.stringOfTy denv ty) bindingName
os.Append warningText |> ignore
| RecursiveUseCheckedAtRuntime _ ->
diff --git a/src/fsharp/FSStrings.resx b/src/fsharp/FSStrings.resx
index 29df23d2296..eb8a8f975cf 100644
--- a/src/fsharp/FSStrings.resx
+++ b/src/fsharp/FSStrings.resx
@@ -886,19 +886,19 @@
This expression is a function value, i.e. is missing arguments. Its type is {0}.
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.This recursive use will be checked for initialization-soundness at runtime. This warning is usually harmless, and may be suppressed by using '#nowarn "21"' or '--nowarn:21'.
diff --git a/src/fsharp/service/service.fs b/src/fsharp/service/service.fs
index 80b55834f02..2083dfd0178 100644
--- a/src/fsharp/service/service.fs
+++ b/src/fsharp/service/service.fs
@@ -1520,6 +1520,10 @@ module internal Parser =
if source.Length = 0 || not (source.[source.Length - 1] = '\n') then source + "\n" else source
let matchBraces(source, fileName, options: FSharpParsingOptions, userOpName: string) =
+ let delayedLogger = CapturingErrorLogger("matchBraces")
+ use _unwindEL = PushErrorLoggerPhaseUntilUnwind (fun _ -> delayedLogger)
+ use _unwindBP = PushThreadBuildPhaseUntilUnwind BuildPhase.Parse
+
Trace.TraceInformation("FCS: {0}.{1} ({2})", userOpName, "matchBraces", fileName)
let matchingBraces = new ResizeArray<_>()
Lexhelp.usingLexbufForParsing(UnicodeLexing.StringAsLexbuf(addNewLine source), fileName) (fun lexbuf ->
diff --git a/src/fsharp/xlf/FSStrings.cs.xlf b/src/fsharp/xlf/FSStrings.cs.xlf
index 595a0422f5a..e84aa9c78bf 100644
--- a/src/fsharp/xlf/FSStrings.cs.xlf
+++ b/src/fsharp/xlf/FSStrings.cs.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- Výsledek tohoto výrazu se implicitně ignoruje. Zvažte možnost použít ignore, aby se tato hodnota explicitně zahodila, třeba expr |> ignore, nebo let, aby se výsledek svázal s názvem, třeba let result = expr.
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ Výsledek tohoto výrazu se implicitně ignoruje. Zvažte možnost použít ignore, aby se tato hodnota explicitně zahodila, třeba expr |> ignore, nebo let, aby se výsledek svázal s názvem, třeba let result = expr.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- Výsledek tohoto výrazu rovnosti se implicitně zruší. Zvažte vytvoření vazby mezi výsledkem a názvem pomocí klíčového slova let, např. let výsledek = výraz.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ Výsledek tohoto výrazu rovnosti se implicitně zruší. Zvažte vytvoření vazby mezi výsledkem a názvem pomocí klíčového slova let, např. let výsledek = výraz.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- Výsledek tohoto výrazu rovnosti se implicitně zruší. Zvažte vytvoření vazby mezi výsledkem a názvem pomocí klíčového slova let, např. let výsledek = výraz. Pokud jste chtěli nastavit hodnotu na vlastnost, použijte operátor <-, např. {0}.{1} <- výraz.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ Výsledek tohoto výrazu rovnosti se implicitně zruší. Zvažte vytvoření vazby mezi výsledkem a názvem pomocí klíčového slova let, např. let výsledek = výraz. Pokud jste chtěli nastavit hodnotu na vlastnost, použijte operátor <-, např. {1}.{2} <- výraz.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- Výsledek tohoto výrazu rovnosti se implicitně zruší. Zvažte vytvoření vazby mezi výsledkem a názvem pomocí klíčového slova let, např. let výsledek = výraz. Pokud jste chtěli mutovat hodnotu, označte hodnotu jako mutable a použijte operátor <-, např. {0} <- výraz.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ Výsledek tohoto výrazu rovnosti se implicitně zruší. Zvažte vytvoření vazby mezi výsledkem a názvem pomocí klíčového slova let, např. let výsledek = výraz. Pokud jste chtěli mutovat hodnotu, označte hodnotu jako mutable a použijte operátor <-, např. {1} <- výraz.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- Výsledek tohoto výrazu rovnosti se implicitně zruší. Zvažte vytvoření vazby mezi výsledkem a názvem pomocí klíčového slova let, např. let výsledek = výraz. Pokud jste chtěli mutovat hodnotu, použijte operátor <-, např. {0} <- výraz.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ Výsledek tohoto výrazu rovnosti se implicitně zruší. Zvažte vytvoření vazby mezi výsledkem a názvem pomocí klíčového slova let, např. let výsledek = výraz. Pokud jste chtěli mutovat hodnotu, použijte operátor <-, např. {1} <- výraz.
diff --git a/src/fsharp/xlf/FSStrings.de.xlf b/src/fsharp/xlf/FSStrings.de.xlf
index 7a94ebe9e1d..fc72b3d604f 100644
--- a/src/fsharp/xlf/FSStrings.de.xlf
+++ b/src/fsharp/xlf/FSStrings.de.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- Das Ergebnis dieses Ausdrucks wird implizit ignoriert. Verwenden Sie ggf. "ignore", um diesen Wert explizit zu verwerfen, z. B. "expr |> ignore" oder "let" zum Binden des Ergebnisses an einen Namen, z. B. "let result = expr".
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ Das Ergebnis dieses Ausdrucks wird implizit ignoriert. Verwenden Sie ggf. "ignore", um diesen Wert explizit zu verwerfen, z. B. "expr |> ignore" oder "let" zum Binden des Ergebnisses an einen Namen, z. B. "let result = expr".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- Das Ergebnis dieses Gleichheitsausdrucks wird implizit verworfen. Verwenden Sie ggf. "let", um das Ergebnis an einen Namen zu binden. Beispiel: "let Ergebnis = Ausdruck".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ Das Ergebnis dieses Gleichheitsausdrucks wird implizit verworfen. Verwenden Sie ggf. "let", um das Ergebnis an einen Namen zu binden. Beispiel: "let Ergebnis = Ausdruck".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- Das Ergebnis dieses Gleichheitsausdrucks wird implizit verworfen. Verwenden Sie ggf. "let", um das Ergebnis an einen Namen zu binden. Beispiel: "let Ergebnis = Ausdruck". Falls Sie einen Wert auf eine Eigenschaft festlegen möchten, verwenden Sie den Operator "<-". Beispiel: "{0}.{1} <- Ausdruck".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ Das Ergebnis dieses Gleichheitsausdrucks wird implizit verworfen. Verwenden Sie ggf. "let", um das Ergebnis an einen Namen zu binden. Beispiel: "let Ergebnis = Ausdruck". Falls Sie einen Wert auf eine Eigenschaft festlegen möchten, verwenden Sie den Operator "<-". Beispiel: "{1}.{2} <- Ausdruck".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- Das Ergebnis dieses Gleichheitsausdrucks wird implizit verworfen. Verwenden Sie ggf. "let", um das Ergebnis an einen Namen zu binden. Beispiel: "let Ergebnis = Ausdruck". Falls Sie einen Wert mutieren möchten, markieren Sie ihn als "mutable", und verwenden Sie den Operator "<-". Beispiel: "{0} <- Ausdruck".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ Das Ergebnis dieses Gleichheitsausdrucks wird implizit verworfen. Verwenden Sie ggf. "let", um das Ergebnis an einen Namen zu binden. Beispiel: "let Ergebnis = Ausdruck". Falls Sie einen Wert mutieren möchten, markieren Sie ihn als "mutable", und verwenden Sie den Operator "<-". Beispiel: "{1} <- Ausdruck".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- Das Ergebnis dieses Gleichheitsausdrucks wird implizit verworfen. Verwenden Sie ggf. "let", um das Ergebnis an einen Namen zu binden. Beispiel: "let Ergebnis = Ausdruck". Falls Sie einen Wert mutieren möchten, verwenden Sie den Operator "<-". Beispiel: "{0} <- Ausdruck".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ Das Ergebnis dieses Gleichheitsausdrucks wird implizit verworfen. Verwenden Sie ggf. "let", um das Ergebnis an einen Namen zu binden. Beispiel: "let Ergebnis = Ausdruck". Falls Sie einen Wert mutieren möchten, verwenden Sie den Operator "<-". Beispiel: "{1} <- Ausdruck".
diff --git a/src/fsharp/xlf/FSStrings.en.xlf b/src/fsharp/xlf/FSStrings.en.xlf
index 45e76d2e303..03bc0887740 100644
--- a/src/fsharp/xlf/FSStrings.en.xlf
+++ b/src/fsharp/xlf/FSStrings.en.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
diff --git a/src/fsharp/xlf/FSStrings.es.xlf b/src/fsharp/xlf/FSStrings.es.xlf
index 9bb6ba04bf8..f5c15a1ae4e 100644
--- a/src/fsharp/xlf/FSStrings.es.xlf
+++ b/src/fsharp/xlf/FSStrings.es.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- Implícitamente se omite el resultado de esta expresión. Considere el uso de 'ignore' para descartar este valor explícitamente, por ejemplo, 'expr |> ignore' o 'let' para vincular el resultado a un nombre, por ejemplo, 'let result = expr'.
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ Implícitamente se omite el resultado de esta expresión. Considere el uso de 'ignore' para descartar este valor explícitamente, por ejemplo, 'expr |> ignore' o 'let' para vincular el resultado a un nombre, por ejemplo, 'let result = expr'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- El resultado de esta expresión de igualdad se descarta de forma implícita. Considere la posibilidad de usar "let" para enlazar el resultado a un nombre, por ejemplo "let resultado = expresión".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ El resultado de esta expresión de igualdad se descarta de forma implícita. Considere la posibilidad de usar "let" para enlazar el resultado a un nombre, por ejemplo "let resultado = expresión".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- El resultado de esta expresión de igualdad se descarta de forma implícita. Considere la posibilidad de usar "let" para enlazar el resultado a un nombre, por ejemplo "let resultado = expresión". Si desea establecer un valor en una propiedad, use el operador "<-". Por ejemplo: "{0}.{1} <- expresión".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ El resultado de esta expresión de igualdad se descarta de forma implícita. Considere la posibilidad de usar "let" para enlazar el resultado a un nombre, por ejemplo "let resultado = expresión". Si desea establecer un valor en una propiedad, use el operador "<-". Por ejemplo: "{1}.{2} <- expresión".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- El resultado de esta expresión de igualdad se descarta de forma implícita. Considere la posibilidad de usar "let" para enlazar el resultado a un nombre, por ejemplo "let resultado = expresión". Si desea mutar un valor, marque el valor como "mutable" y use el operador "<-". Por ejemplo: "{0} <- expresión".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ El resultado de esta expresión de igualdad se descarta de forma implícita. Considere la posibilidad de usar "let" para enlazar el resultado a un nombre, por ejemplo "let resultado = expresión". Si desea mutar un valor, marque el valor como "mutable" y use el operador "<-". Por ejemplo: "{1} <- expresión".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- El resultado de esta expresión de igualdad se descarta de forma implícita. Considere la posibilidad de usar "let" para enlazar el resultado a un nombre, por ejemplo "let resultado = expresión". Si desea mutar un valor, use el operador "<-". Por ejemplo: "{0} <- expresión".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ El resultado de esta expresión de igualdad se descarta de forma implícita. Considere la posibilidad de usar "let" para enlazar el resultado a un nombre, por ejemplo "let resultado = expresión". Si desea mutar un valor, use el operador "<-". Por ejemplo: "{1} <- expresión".
diff --git a/src/fsharp/xlf/FSStrings.fr.xlf b/src/fsharp/xlf/FSStrings.fr.xlf
index b3046795b11..76eaa6a443e 100644
--- a/src/fsharp/xlf/FSStrings.fr.xlf
+++ b/src/fsharp/xlf/FSStrings.fr.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- Le résultat de cette expression est ignoré implicitement. Songez à utiliser 'ignore' pour abandonner explicitement cette valeur (par exemple, 'expr |> ignore') ou 'let' pour lier le résultat à un nom (par exemple, 'let result = expr').
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ Le résultat de cette expression est ignoré implicitement. Songez à utiliser 'ignore' pour abandonner explicitement cette valeur (par exemple, 'expr |> ignore') ou 'let' pour lier le résultat à un nom (par exemple, 'let result = expr').
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- Le résultat de cette expression d'égalité est implicitement ignoré. Utilisez 'let' pour lier le résultat à un nom, par ex., 'let result = expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ Le résultat de cette expression d'égalité est implicitement ignoré. Utilisez 'let' pour lier le résultat à un nom, par ex., 'let result = expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- Le résultat de cette expression d'égalité est implicitement ignoré. Utilisez 'let' pour lier le résultat à un nom, par ex., 'let result = expression'. Si vous voulez définir une valeur sur une propriété, utilisez l'opérateur '<-', par ex., '{0}.{1} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ Le résultat de cette expression d'égalité est implicitement ignoré. Utilisez 'let' pour lier le résultat à un nom, par ex., 'let result = expression'. Si vous voulez définir une valeur sur une propriété, utilisez l'opérateur '<-', par ex., '{1}.{2} <- expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- Le résultat de cette expression d'égalité est implicitement ignoré. Utilisez 'let' pour lier le résultat à un nom, par ex., 'let result = expression'. Si vous voulez muter une valeur, marquez la valeur avec 'mutable' et utilisez l'opérateur '<-', par ex., '{0} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ Le résultat de cette expression d'égalité est implicitement ignoré. Utilisez 'let' pour lier le résultat à un nom, par ex., 'let result = expression'. Si vous voulez muter une valeur, marquez la valeur avec 'mutable' et utilisez l'opérateur '<-', par ex., '{1} <- expression'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- Le résultat de cette expression d'égalité est implicitement ignoré. Utilisez 'let' pour lier le résultat à un nom, par ex., 'let result = expression'. Si vous voulez muter une valeur, utilisez l'opérateur '<-', par ex., '{0} <- expression'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ Le résultat de cette expression d'égalité est implicitement ignoré. Utilisez 'let' pour lier le résultat à un nom, par ex., 'let result = expression'. Si vous voulez muter une valeur, utilisez l'opérateur '<-', par ex., '{1} <- expression'.
diff --git a/src/fsharp/xlf/FSStrings.it.xlf b/src/fsharp/xlf/FSStrings.it.xlf
index 2918a10093f..b4e40e20a06 100644
--- a/src/fsharp/xlf/FSStrings.it.xlf
+++ b/src/fsharp/xlf/FSStrings.it.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- Il risultato di questa espressione viene ignorato in modo implicito. Provare a usare 'ignore' per rimuovere esplicitamente questo valore, ad esempio 'expr |> ignore', oppure 'let' per eseguire il binding del risultato a un nome, ad esempio 'let result = expr'.
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ Il risultato di questa espressione viene ignorato in modo implicito. Provare a usare 'ignore' per rimuovere esplicitamente questo valore, ad esempio 'expr |> ignore', oppure 'let' per eseguire il binding del risultato a un nome, ad esempio 'let result = expr'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- Il risultato di questa espressione di uguaglianza viene rimosso in modo implicito. Provare a usare 'let' per eseguire il binding del risultato a un nome, ad esempio 'let result = espressione'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ Il risultato di questa espressione di uguaglianza viene rimosso in modo implicito. Provare a usare 'let' per eseguire il binding del risultato a un nome, ad esempio 'let result = espressione'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- Il risultato di questa espressione di uguaglianza viene rimosso in modo implicito. Provare a usare 'let' per eseguire il binding del risultato a un nome, ad esempio 'let result = espressione'. Se si intende impostare un valore su una proprietà, usare l'operatore '<-', ad esempio '{0}.{1} <- espressione'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ Il risultato di questa espressione di uguaglianza viene rimosso in modo implicito. Provare a usare 'let' per eseguire il binding del risultato a un nome, ad esempio 'let result = espressione'. Se si intende impostare un valore su una proprietà, usare l'operatore '<-', ad esempio '{0}.{1} <- espressione'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- Il risultato di questa espressione di uguaglianza viene rimosso in modo implicito. Provare a usare 'let' per eseguire il binding del risultato a un nome, ad esempio 'let result = espressione'. Se si intende modificare un valore, contrassegnare il valore 'mutable' e usare l'operatore '<-', ad esempio '{0} <- espressione'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ Il risultato di questa espressione di uguaglianza viene rimosso in modo implicito. Provare a usare 'let' per eseguire il binding del risultato a un nome, ad esempio 'let result = espressione'. Se si intende modificare un valore, contrassegnare il valore 'mutable' e usare l'operatore '<-', ad esempio '{0} <- espressione'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- Il risultato di questa espressione di uguaglianza viene rimosso in modo implicito. Provare a usare 'let' per eseguire il binding del risultato a un nome, ad esempio 'let result = espressione'. Se si intende modificare un valore, usare l'operatore '<-', ad esempio '{0} <- espressione'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ Il risultato di questa espressione di uguaglianza viene rimosso in modo implicito. Provare a usare 'let' per eseguire il binding del risultato a un nome, ad esempio 'let result = espressione'. Se si intende modificare un valore, usare l'operatore '<-', ad esempio '{0} <- espressione'.
diff --git a/src/fsharp/xlf/FSStrings.ja.xlf b/src/fsharp/xlf/FSStrings.ja.xlf
index ed6e8e4662f..8a78c60328e 100644
--- a/src/fsharp/xlf/FSStrings.ja.xlf
+++ b/src/fsharp/xlf/FSStrings.ja.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- この式の結果は暗黙に無視されます。'expr |> ignore' のように 'ignore' を使用してこの値を明示的に破棄するか、'let result = expr' のように 'let' を使用して結果を名前にバインドすることをご考慮ください。
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ この式の結果は暗黙に無視されます。'expr |> ignore' のように 'ignore' を使用してこの値を明示的に破棄するか、'let result = expr' のように 'let' を使用して結果を名前にバインドすることをご考慮ください。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- この等式の結果は暗黙的に破棄されます。'let' を使用して結果を名前にバインドすることを検討してください。例: 'let result = expression'。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ この等式の結果は暗黙的に破棄されます。'let' を使用して結果を名前にバインドすることを検討してください。例: 'let result = expression'。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- この等式の結果は暗黙的に破棄されます。'let' を使用して結果を名前にバインドすることを検討してください。例: 'let result = expression'。値をプロパティに設定する場合は、'<-' 演算子を使用します。例: '{0}.{1} <- expression'。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ この等式の結果は暗黙的に破棄されます。'let' を使用して結果を名前にバインドすることを検討してください。例: 'let result = expression'。値をプロパティに設定する場合は、'<-' 演算子を使用します。例: '{1}.{2} <- expression'。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- この等式の結果は暗黙的に破棄されます。'let' を使用して結果を名前にバインドすることを検討してください。例: 'let result = expression'。値を変換する場合は、値 'mutable' をマークして、'<-' 演算子を使用します。例: '{0} <- expression'。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ この等式の結果は暗黙的に破棄されます。'let' を使用して結果を名前にバインドすることを検討してください。例: 'let result = expression'。値を変換する場合は、値 'mutable' をマークして、'<-' 演算子を使用します。例: '{1} <- expression'。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- この等式の結果は暗黙的に破棄されます。'let' を使用して結果を名前にバインドすることを検討してください。例: 'let result = expression'。値を変換する場合は、'<-' 演算子を使用します。例: '{0} <- expression'。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ この等式の結果は暗黙的に破棄されます。'let' を使用して結果を名前にバインドすることを検討してください。例: 'let result = expression'。値を変換する場合は、'<-' 演算子を使用します。例: '{1} <- expression'。
diff --git a/src/fsharp/xlf/FSStrings.ko.xlf b/src/fsharp/xlf/FSStrings.ko.xlf
index b7114046056..484a96b186a 100644
--- a/src/fsharp/xlf/FSStrings.ko.xlf
+++ b/src/fsharp/xlf/FSStrings.ko.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- 이 식의 결과는 암시적으로 무시됩니다. 'ignore'를 사용하여 이 값을 명시적으로 버리거나(예: 'expr |> ignore'), 'let'을 사용하여 결과를 이름에 바인딩하세요(예: 'let result = expr').
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ 이 식의 결과는 암시적으로 무시됩니다. 'ignore'를 사용하여 이 값을 명시적으로 버리거나(예: 'expr |> ignore'), 'let'을 사용하여 결과를 이름에 바인딩하세요(예: 'let result = expr').
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- 이 같음 식의 결과가 암시적으로 삭제됩니다. 결과를 이름에 바인딩하려면 'let'을 사용하세요(예: 'let result = expression').
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ 이 같음 식의 결과가 암시적으로 삭제됩니다. 결과를 이름에 바인딩하려면 'let'을 사용하세요(예: 'let result = expression').
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- 이 같음 식의 결과가 암시적으로 삭제됩니다. 결과를 이름에 바인딩하려면 'let'을 사용하세요(예: 'let result = expression'). 값을 속성으로 설정하려면 '<-' 연산자를 사용하세요(예: '{0}.{1} <- expression').
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ 이 같음 식의 결과가 암시적으로 삭제됩니다. 결과를 이름에 바인딩하려면 'let'을 사용하세요(예: 'let result = expression'). 값을 속성으로 설정하려면 '<-' 연산자를 사용하세요(예: '{1}.{2} <- expression').
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- 이 같음 식의 결과가 암시적으로 삭제됩니다. 결과를 이름에 바인딩하려면 'let'을 사용하세요(예: 'let result = expression'). 값을 변경하려면 값을 'mutable'로 표시하고 '<-' 연산자를 사용하세요(예: '{0} <- expression').
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ 이 같음 식의 결과가 암시적으로 삭제됩니다. 결과를 이름에 바인딩하려면 'let'을 사용하세요(예: 'let result = expression'). 값을 변경하려면 값을 'mutable'로 표시하고 '<-' 연산자를 사용하세요(예: '{1} <- expression').
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- 이 같음 식의 결과가 암시적으로 삭제됩니다. 결과를 이름에 바인딩하려면 'let'을 사용하세요(예: 'let result = expression'). 값을 변경하려면 '<-' 연산자를 사용하세요(예: '{0} <- expression').
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ 이 같음 식의 결과가 암시적으로 삭제됩니다. 결과를 이름에 바인딩하려면 'let'을 사용하세요(예: 'let result = expression'). 값을 변경하려면 '<-' 연산자를 사용하세요(예: '{1} <- expression').
diff --git a/src/fsharp/xlf/FSStrings.pl.xlf b/src/fsharp/xlf/FSStrings.pl.xlf
index 567512b1a97..d040e268873 100644
--- a/src/fsharp/xlf/FSStrings.pl.xlf
+++ b/src/fsharp/xlf/FSStrings.pl.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- Wynik tego wyrażenia jest niejawnie ignorowany. Rozważ użycie elementu „ignore”, aby niejawnie odrzucić tę wartość (np. „expr |> ignore”), lub elementu „let”, aby powiązać wynik z nazwą (np. „let result = expr”).
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ Wynik tego wyrażenia jest niejawnie ignorowany. Rozważ użycie elementu „ignore”, aby niejawnie odrzucić tę wartość (np. „expr |> ignore”), lub elementu „let”, aby powiązać wynik z nazwą (np. „let result = expr”).
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- Wynik tego wyrażenia równości jest niejawnie odrzucany. Rozważ użycie słowa kluczowego „let” do powiązania wyniku z nazwą, np. „let wynik = wyrażenie”.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ Wynik tego wyrażenia równości jest niejawnie odrzucany. Rozważ użycie słowa kluczowego „let” do powiązania wyniku z nazwą, np. „let wynik = wyrażenie”.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- Wynik tego wyrażenia równości jest niejawnie odrzucany. Rozważ użycie słowa kluczowego „let” do powiązania wyniku z nazwą, np. „let wynik = wyrażenie”. Jeśli chcesz ustawić wartość właściwości, użyj operatora „<-”, np. „{0}.{1} <- wyrażenie”.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ Wynik tego wyrażenia równości jest niejawnie odrzucany. Rozważ użycie słowa kluczowego „let” do powiązania wyniku z nazwą, np. „let wynik = wyrażenie”. Jeśli chcesz ustawić wartość właściwości, użyj operatora „<-”, np. „{1}.{2} <- wyrażenie”.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- Wynik tego wyrażenia równości jest niejawnie odrzucany. Rozważ użycie słowa kluczowego „let” do powiązania wyniku z nazwą, np. „let wynik = wyrażenie”. Jeśli chcesz zmutować wartość, oznacz ją za pomocą deklaratora „mutable” i użyj operatora „<-”, np. „{0} <- wyrażenie”.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ Wynik tego wyrażenia równości jest niejawnie odrzucany. Rozważ użycie słowa kluczowego „let” do powiązania wyniku z nazwą, np. „let wynik = wyrażenie”. Jeśli chcesz zmutować wartość, oznacz ją za pomocą deklaratora „mutable” i użyj operatora „<-”, np. „{1} <- wyrażenie”.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- Wynik tego wyrażenia równości jest niejawnie odrzucany. Rozważ użycie słowa kluczowego „let” do powiązania wyniku z nazwą, np. „let wynik = wyrażenie”. Jeśli chcesz zmutować wartość, użyj operatora „<-”, np. „{0} <- wyrażenie”.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ Wynik tego wyrażenia równości jest niejawnie odrzucany. Rozważ użycie słowa kluczowego „let” do powiązania wyniku z nazwą, np. „let wynik = wyrażenie”. Jeśli chcesz zmutować wartość, użyj operatora „<-”, np. „{1} <- wyrażenie”.
diff --git a/src/fsharp/xlf/FSStrings.pt-BR.xlf b/src/fsharp/xlf/FSStrings.pt-BR.xlf
index 1e53365bf7b..6890e260170 100644
--- a/src/fsharp/xlf/FSStrings.pt-BR.xlf
+++ b/src/fsharp/xlf/FSStrings.pt-BR.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- O resultado dessa expressão é ignorado implicitamente. Considere usar 'ignore' para descartar esse valor explicitamente, por exemplo, 'expr |> ignore' ou 'let' para associar o resultado a um nome, por exemplo, 'let result = expr'.
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ O resultado dessa expressão é ignorado implicitamente. Considere usar 'ignore' para descartar esse valor explicitamente, por exemplo, 'expr |> ignore' ou 'let' para associar o resultado a um nome, por exemplo, 'let result = expr'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- O resultado dessa expressão de igualdade é implicitamente descartado. Considere o uso de 'let' para associar o resultado a um nome, por exemplo, 'let resultado = expressão'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ O resultado dessa expressão de igualdade é implicitamente descartado. Considere o uso de 'let' para associar o resultado a um nome, por exemplo, 'let resultado = expressão'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- O resultado dessa expressão de igualdade é implicitamente descartado. Considere o uso de 'let' para associar o resultado a um nome, por exemplo, 'let resultado = expressão'. Se você pretende definir um valor de uma propriedade, use o operador '<-', por exemplo, '{0}.{1} <- expressão'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ O resultado dessa expressão de igualdade é implicitamente descartado. Considere o uso de 'let' para associar o resultado a um nome, por exemplo, 'let resultado = expressão'. Se você pretende definir um valor de uma propriedade, use o operador '<-', por exemplo, '{1}.{2} <- expressão'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- O resultado dessa expressão de igualdade é implicitamente descartado. Considere o uso de 'let' para associar o resultado a um nome, por exemplo, 'let resultado = expressão'. Se você pretende alterar um valor, marque-o como 'mutable' e use o operador '<-', por exemplo, '{0} <-expressão'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ O resultado dessa expressão de igualdade é implicitamente descartado. Considere o uso de 'let' para associar o resultado a um nome, por exemplo, 'let resultado = expressão'. Se você pretende alterar um valor, marque-o como 'mutable' e use o operador '<-', por exemplo, '{1} <-expressão'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- O resultado dessa expressão de igualdade é implicitamente descartado. Considere o uso de 'let' para associar o resultado a um nome, por exemplo, 'let resultado = expressão'. Se você pretende alterar um valor, use o operador '<-', por exemplo, '{0} <- expressão'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ O resultado dessa expressão de igualdade é implicitamente descartado. Considere o uso de 'let' para associar o resultado a um nome, por exemplo, 'let resultado = expressão'. Se você pretende alterar um valor, use o operador '<-', por exemplo, '{1} <- expressão'.
diff --git a/src/fsharp/xlf/FSStrings.ru.xlf b/src/fsharp/xlf/FSStrings.ru.xlf
index d9d8539a80c..65d6e203291 100644
--- a/src/fsharp/xlf/FSStrings.ru.xlf
+++ b/src/fsharp/xlf/FSStrings.ru.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- Результат этого выражения неявно игнорируется. Рассмотрите использование здесь "ignore", чтобы отбросить это значение явным образом, например "expr |> ignore", или же "let", чтобы привязать результат к имени, например "let result = expr".
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ Результат этого выражения неявно игнорируется. Рассмотрите использование здесь "ignore", чтобы отбросить это значение явным образом, например "expr |> ignore", или же "let", чтобы привязать результат к имени, например "let result = expr".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- Результат этого выражения равенства неявно удаляется. Рекомендуем использовать let, чтобы привязать результат к имени, например "let result = expression".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ Результат этого выражения равенства неявно удаляется. Рекомендуем использовать let, чтобы привязать результат к имени, например "let result = expression".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- Результат этого выражения равенства неявно удаляется. Рекомендуем использовать let, чтобы привязать результат к имени, например "let result = expression". Если вы собирались присваивать значение свойству, используйте оператор "<-", например "{0}.{1} <- expression".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ Результат этого выражения равенства неявно удаляется. Рекомендуем использовать let, чтобы привязать результат к имени, например "let result = expression". Если вы собирались присваивать значение свойству, используйте оператор "<-", например "{1}.{2} <- expression".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- Результат этого выражения равенства неявно удаляется. Рекомендуем использовать let, чтобы привязать результат к имени, например "let result = expression". Если вы собирались изменять значение, пометьте его как mutable и используйте оператор "<-", например "{0} <- expression".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ Результат этого выражения равенства неявно удаляется. Рекомендуем использовать let, чтобы привязать результат к имени, например "let result = expression". Если вы собирались изменять значение, пометьте его как mutable и используйте оператор "<-", например "{1} <- expression".
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- Результат этого выражения равенства неявно удаляется. Рекомендуем использовать let, чтобы привязать результат к имени, например "let result = expression". Если вы собирались изменять значение, используйте оператор "<-", например "{0} <- expression".
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ Результат этого выражения равенства неявно удаляется. Рекомендуем использовать let, чтобы привязать результат к имени, например "let result = expression". Если вы собирались изменять значение, используйте оператор "<-", например "{1} <- expression".
diff --git a/src/fsharp/xlf/FSStrings.tr.xlf b/src/fsharp/xlf/FSStrings.tr.xlf
index a91af98c42a..a676945d76e 100644
--- a/src/fsharp/xlf/FSStrings.tr.xlf
+++ b/src/fsharp/xlf/FSStrings.tr.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- Bu ifadenin sonucu örtük olarak yoksayılır. Bu değeri açıkça atmak için 'ignore' kullanmayı (örn. 'expr |> ignore') veya sonucu bir ada bağlamak için 'let' kullanmayı (örn. 'let result = expr') deneyin.
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ Bu ifadenin sonucu örtük olarak yoksayılır. Bu değeri açıkça atmak için 'ignore' kullanmayı (örn. 'expr |> ignore') veya sonucu bir ada bağlamak için 'let' kullanmayı (örn. 'let result = expr') deneyin.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- Bu eşitlik ifadesinin sonucu örtük olarak atılmıştır. Sonucu bir ada bağlamak için 'let' kullanmayı düşünün; örneğin, 'let sonuç = deyim'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ Bu eşitlik ifadesinin sonucu örtük olarak atılmıştır. Sonucu bir ada bağlamak için 'let' kullanmayı düşünün; örneğin, 'let sonuç = deyim'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- Bu eşitlik ifadesinin sonucu örtük olarak atılmıştır. Sonucu bir ada bağlamak için 'let' kullanmayı düşünün; örneğin, 'let sonuç = deyim'. Bir özelliğin değerini ayarlamak istiyorsanız, '<-' işlecini kullanın; örneğin, '{0}.{1} <- deyim'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ Bu eşitlik ifadesinin sonucu örtük olarak atılmıştır. Sonucu bir ada bağlamak için 'let' kullanmayı düşünün; örneğin, 'let sonuç = deyim'. Bir özelliğin değerini ayarlamak istiyorsanız, '<-' işlecini kullanın; örneğin, '{1}.{2} <- deyim'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- Bu eşitlik ifadesinin sonucu örtük olarak atılmıştır. Sonucu bir ada bağlamak için 'let' kullanmayı düşünün; örneğin, 'let sonuç = deyim'. Bir değeri değiştirmek istiyorsanız, değeri 'mutable' olarak işaretleyin ve '<-' işlecini kullanın; örneğin, '{0} <- deyim'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ Bu eşitlik ifadesinin sonucu örtük olarak atılmıştır. Sonucu bir ada bağlamak için 'let' kullanmayı düşünün; örneğin, 'let sonuç = deyim'. Bir değeri değiştirmek istiyorsanız, değeri 'mutable' olarak işaretleyin ve '<-' işlecini kullanın; örneğin, '{1} <- deyim'.
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- Bu eşitlik ifadesinin sonucu örtük olarak atılmıştır. Sonucu bir ada bağlamak için 'let' kullanmayı düşünün, örneğin 'let sonuç = deyim'. Bir değeri değiştirmek istiyorsanız, '<-' işlecini kullanın; örneğin, '{0} <- deyim'.
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ Bu eşitlik ifadesinin sonucu örtük olarak atılmıştır. Sonucu bir ada bağlamak için 'let' kullanmayı düşünün, örneğin 'let sonuç = deyim'. Bir değeri değiştirmek istiyorsanız, '<-' işlecini kullanın; örneğin, '{1} <- deyim'.
diff --git a/src/fsharp/xlf/FSStrings.zh-Hans.xlf b/src/fsharp/xlf/FSStrings.zh-Hans.xlf
index 9e3ea8eb1ce..daa876bb856 100644
--- a/src/fsharp/xlf/FSStrings.zh-Hans.xlf
+++ b/src/fsharp/xlf/FSStrings.zh-Hans.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- 此表达式的结果被隐式忽略。请考虑使用 "ignore" 以显式放弃该值,例如 "expr |> ignore" 或 "let" 以将结果绑定到一个名称,例如 "let result = expr"。
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ 此表达式的结果被隐式忽略。请考虑使用 "ignore" 以显式放弃该值,例如 "expr |> ignore" 或 "let" 以将结果绑定到一个名称,例如 "let result = expr"。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- 此等式表达式的结果被隐式丢弃。请考虑使用 "let" 将结果绑定到一个名称,例如 "let result = expression"。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ 此等式表达式的结果被隐式丢弃。请考虑使用 "let" 将结果绑定到一个名称,例如 "let result = expression"。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- 此等式表达式的结果被隐式丢弃。请考虑使用 "let" 将结果绑定到一个名称,例如 "let result = expression"。如果要为某属性设置值,请使用 "<-" 运算符,例如 "{0}.{1} <- expression"。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ 此等式表达式的结果被隐式丢弃。请考虑使用 "let" 将结果绑定到一个名称,例如 "let result = expression"。如果要为某属性设置值,请使用 "<-" 运算符,例如 "{1}.{2} <- expression"。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- 此等式表达式的结果被隐式丢弃。请考虑使用 "let" 将结果绑定到一个名称,例如 "let result = expression"。如果想要转变某个值,则将此值标记为 "mutable" 并使用 "<-" 运算符,例如 "{0} <- expression"。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ 此等式表达式的结果被隐式丢弃。请考虑使用 "let" 将结果绑定到一个名称,例如 "let result = expression"。如果想要转变某个值,则将此值标记为 "mutable" 并使用 "<-" 运算符,例如 "{1} <- expression"。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- 此等式表达式的结果被隐式丢弃。请考虑使用 "let" 将结果绑定到一个名称,例如 "let result = expression"。如果想要转变某个值,请使用 "<-" 运算符,例如 "{0} <- expression"。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ 此等式表达式的结果被隐式丢弃。请考虑使用 "let" 将结果绑定到一个名称,例如 "let result = expression"。如果想要转变某个值,请使用 "<-" 运算符,例如 "{1} <- expression"。
diff --git a/src/fsharp/xlf/FSStrings.zh-Hant.xlf b/src/fsharp/xlf/FSStrings.zh-Hant.xlf
index 6cb55c0004e..9428588ea01 100644
--- a/src/fsharp/xlf/FSStrings.zh-Hant.xlf
+++ b/src/fsharp/xlf/FSStrings.zh-Hant.xlf
@@ -1283,28 +1283,28 @@
- The result of this expression is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
- 已隱含忽略運算式的結果。請考慮使用 'ignore' 以明確捨棄此值,例如 'expr |> ignore',或使用 'let' 將結果繫結至名稱,例如 'let result = expr'。
+ The result of this expression has type '{0}' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.
+ 已隱含忽略運算式的結果。請考慮使用 'ignore' 以明確捨棄此值,例如 'expr |> ignore',或使用 'let' 將結果繫結至名稱,例如 'let result = expr'。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
- 將隱含捨棄此等號比較運算式的結果。請考慮使用 'let' 將結果繫結至名稱,例如 'let result = expression'。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+ 將隱含捨棄此等號比較運算式的結果。請考慮使用 'let' 將結果繫結至名稱,例如 'let result = expression'。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{0}.{1} <- expression'.
- 將隱含捨棄此等號比較運算式的結果。請考慮使用 'let' 將結果繫結至名稱,例如 'let result = expression'。若您要設定屬性值,則使用 '<-' 運算子,例如 '{0}.{1} <- expression'。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to set a value to a property, then use the '<-' operator e.g. '{1}.{2} <- expression'.
+ 將隱含捨棄此等號比較運算式的結果。請考慮使用 'let' 將結果繫結至名稱,例如 'let result = expression'。若您要設定屬性值,則使用 '<-' 運算子,例如 '{1}.{2} <- expression'。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{0} <- expression'.
- 將隱含捨棄此等號比較運算式的結果。請考慮使用 'let' 將結果繫結至名稱,例如 'let result = expression'。若您要變動值,請將值標示為 [可變動]5D; 並使用 '<-' 運算子,例如 '{0} <- expression'。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then mark the value 'mutable' and use the '<-' operator e.g. '{1} <- expression'.
+ 將隱含捨棄此等號比較運算式的結果。請考慮使用 'let' 將結果繫結至名稱,例如 'let result = expression'。若您要變動值,請將值標示為 [可變動]5D; 並使用 '<-' 運算子,例如 '{1} <- expression'。
- The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{0} <- expression'.
- 將隱含捨棄此等號比較運算式的結果。請考慮使用 'let' 將結果繫結至名稱,例如 'let result = expression'。若您要變動值,則使用 '<-' 運算子,例如 '{0} <- expression'。
+ The result of this equality expression has type '{0}' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'. If you intended to mutate a value, then use the '<-' operator e.g. '{1} <- expression'.
+ 將隱含捨棄此等號比較運算式的結果。請考慮使用 'let' 將結果繫結至名稱,例如 'let result = expression'。若您要變動值,則使用 '<-' 運算子,例如 '{1} <- expression'。
diff --git a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/W_DoBindingsNotUnit01.fs b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/W_DoBindingsNotUnit01.fs
index e703b6ac2a4..f450d0ec592 100644
--- a/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/W_DoBindingsNotUnit01.fs
+++ b/tests/fsharpqa/Source/Conformance/DeclarationElements/LetBindings/Basic/W_DoBindingsNotUnit01.fs
@@ -2,7 +2,7 @@
#light
// Verify warning when 'do-bindings' do not return unit.
-//The result of this expression is implicitly ignored
+//The result of this expression has type 'int' and is implicitly ignored
let square x = x * x
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in01.fs b/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in01.fs
index 1d1442dc8e2..7ff3e6a7bb0 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in01.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in01.fs
@@ -5,7 +5,7 @@
// Eventually, we will deprecated them - and the specs will be updated.
//
//The value or constructor 'a' is not defined
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'bool' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
module A =
let a = 3 in a + 1 |> ignore;;
a > 4;;
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in02.fs b/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in02.fs
index 323ff21db25..088eba8f3f4 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in02.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in02.fs
@@ -4,7 +4,7 @@
// I'm adding these cases to make sure we do not accidentally change the behavior from version to version
// Eventually, we will deprecated them - and the specs will be updated.
//
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'bool' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
//
module B =
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in03.fs b/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in03.fs
index e0af19fb87c..e1bc60f8100 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in03.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in03.fs
@@ -4,7 +4,7 @@
// I'm adding these cases to make sure we do not accidentally change the behavior from version to version
// Eventually, we will deprecated them - and the specs will be updated.
//
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'bool' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
//
module C =
let a = 3
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in04.fs b/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in04.fs
index 46ffb9b98b5..1f4ddad6348 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in04.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in04.fs
@@ -4,7 +4,7 @@
// I'm adding these cases to make sure we do not accidentally change the behavior from version to version
// Eventually, we will deprecated them - and the specs will be updated.
//
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'bool' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
//
module D =
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in05.fs b/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in05.fs
index 87d95d8fd35..eaefd989c14 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in05.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/BindingExpressions/Binding/in05.fs
@@ -5,7 +5,7 @@
// Eventually, we will deprecated them - and the specs will be updated.
//The type 'int' does not match the type 'unit'$
//Type mismatch\. Expecting a. ''a -> 'b' .but given a. ''a -> unit' .The type 'int' does not match the type 'unit'$
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'bool' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
module E =
let a = 3 in
a + 1 |> ignore
diff --git a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryFinally/W-TryFinallyNotUnit.fs b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryFinally/W-TryFinallyNotUnit.fs
index bdb54bf3d7b..e78a19b0fae 100644
--- a/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryFinally/W-TryFinallyNotUnit.fs
+++ b/tests/fsharpqa/Source/Conformance/Expressions/ControlFlowExpressions/TryFinally/W-TryFinallyNotUnit.fs
@@ -2,7 +2,7 @@
#light
// Verify warning if a finally block does not return 'unit'
-//The result of this expression is implicitly ignored
+//The result of this expression has type 'bool' and is implicitly ignored
let x : int =
try
diff --git a/tests/fsharpqa/Source/Conformance/PatternMatching/Named/E_ActivePatternUnconstrained01.fs b/tests/fsharpqa/Source/Conformance/PatternMatching/Named/E_ActivePatternUnconstrained01.fs
index b930cbaba00..86e8689d061 100644
--- a/tests/fsharpqa/Source/Conformance/PatternMatching/Named/E_ActivePatternUnconstrained01.fs
+++ b/tests/fsharpqa/Source/Conformance/PatternMatching/Named/E_ActivePatternUnconstrained01.fs
@@ -2,7 +2,7 @@
// Regression test for FSHARP1.0:5590
// This code used to compile, but fail peverification
// Now, it just does not compile anymore telling the user to annotated it a bit.
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'int' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
//Active pattern '\|A1\|A2\|A3\|' has a result type containing type variables that are not determined by the input\. The common cause is a when a result case is not mentioned, e\.g\. 'let \(\|A\|B\|\) \(x:int\) = A x'\. This can be fixed with a type constraint, e\.g\. 'let \(\|A\|B\|\) \(x:int\) : Choice = A x'$
let (|A1|A2|A3|) (inp:int) : Choice =
printfn "hello"
diff --git a/tests/fsharpqa/Source/Diagnostics/General/W_Multiline02.fs b/tests/fsharpqa/Source/Diagnostics/General/W_Multiline02.fs
index b68027a1693..9905cd93d87 100644
--- a/tests/fsharpqa/Source/Diagnostics/General/W_Multiline02.fs
+++ b/tests/fsharpqa/Source/Diagnostics/General/W_Multiline02.fs
@@ -1,7 +1,7 @@
// #Regression #Diagnostics
// Regression test for FSHARP1.0:3596
// Make sure that error spans correctly across multiple lines
-//The result of this expression is implicitly ignored
+//The result of this expression has type 'int' and is implicitly ignored
#nowarn "988"
let f g x = g x
diff --git a/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01.fs b/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01.fs
index f6f6443df63..42e04f7fa44 100644
--- a/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01.fs
+++ b/tests/fsharpqa/Source/Diagnostics/NONTERM/quoteExpr01.fs
@@ -1,5 +1,5 @@
// #Regression #Diagnostics
// Regression test for FSHARP1.0:2391, FSHARP1.0:1479
-//The result of this expression is implicitly ignored
+//The result of this expression has type 'seq' and is implicitly ignored
#light "off"
<@@ 1 @@>.GetFreeVars()
diff --git a/tests/fsharpqa/Source/Diagnostics/async/MissingIgnore.fs b/tests/fsharpqa/Source/Diagnostics/async/MissingIgnore.fs
index 3fe0919320d..85381cea43e 100644
--- a/tests/fsharpqa/Source/Diagnostics/async/MissingIgnore.fs
+++ b/tests/fsharpqa/Source/Diagnostics/async/MissingIgnore.fs
@@ -1,5 +1,5 @@
// #Regression #Diagnostics #Async
// Regression tests for FSHARP1.0:4394
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'int' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
async { 1;
return 2 } |> ignore
diff --git a/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop01.fs b/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop01.fs
index 4dd57691e8d..22ebb43bd2a 100644
--- a/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop01.fs
+++ b/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop01.fs
@@ -1,5 +1,5 @@
// #Regression #Diagnostics #Async
// Regression tests for FSHARP1.0:4394
// common mistake: forgetting the return! For a loop
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'Async<'a>' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
let rec loop() = async { let x = 1 in loop() }
diff --git a/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop02.fs b/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop02.fs
index a9bb89c9dac..a7c5b2b1468 100644
--- a/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop02.fs
+++ b/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop02.fs
@@ -1,5 +1,5 @@
// #Regression #Diagnostics #Async
// Regression tests for FSHARP1.0:4394
// common mistake: forgetting the return! For a loop
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'Async<'a>' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
let rec loop() = async { loop() }
diff --git a/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop03.fs b/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop03.fs
index dfba108aac0..277028e9bbf 100644
--- a/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop03.fs
+++ b/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop03.fs
@@ -1,6 +1,6 @@
// #Regression #Diagnostics #Async
// Regression tests for FSHARP1.0:4394
// common mistake: forgetting the return! For a loop
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'Async<'a>' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
//This expression was expected to have type. 'Async<'a>' .but here has type. 'unit'
let rec loop2() = async.Delay(fun () -> loop2(); ());
diff --git a/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop04.fs b/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop04.fs
index b86efb67132..761020c2ec1 100644
--- a/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop04.fs
+++ b/tests/fsharpqa/Source/Diagnostics/async/MissingReturnBangForLoop04.fs
@@ -1,7 +1,7 @@
// #Regression #Diagnostics #Async
// Regression tests for FSHARP1.0:4394
// common mistake: forgetting the return! For a loop
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'Async<'a>' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
//This expression was expected to have type. 'Async<'a>' .but here has type. 'unit'
// Note: interestingly, this looks much better if a method call is not used
let delay x = async.Delay x
diff --git a/tests/fsharpqa/Source/Misc/Parsing02.fs b/tests/fsharpqa/Source/Misc/Parsing02.fs
index 9a17369e870..55b5997b467 100644
--- a/tests/fsharpqa/Source/Misc/Parsing02.fs
+++ b/tests/fsharpqa/Source/Misc/Parsing02.fs
@@ -1,8 +1,8 @@
// #Regression #Misc
// Verify warnings associated with top level expressions getting discarded
-//The result of this expression is implicitly ignored
-//The result of this expression is implicitly ignored
+//The result of this expression has type
+//The result of this expression has type
// Note the comma between printf "%A", this results in a tuple expr which probably wasn't intended.
let arr = [|"Foo"; "Bar"|]
diff --git a/tests/fsharpqa/Source/Warnings/DontWarnIfPropertyWithoutSetter.fs b/tests/fsharpqa/Source/Warnings/DontWarnIfPropertyWithoutSetter.fs
index f36f8919942..4492e6338c6 100644
--- a/tests/fsharpqa/Source/Warnings/DontWarnIfPropertyWithoutSetter.fs
+++ b/tests/fsharpqa/Source/Warnings/DontWarnIfPropertyWithoutSetter.fs
@@ -1,5 +1,5 @@
// #Warnings
-//The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+//The result of this equality expression has type 'bool' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
type MyClass(property1 : int) =
member val Property2 = "" with get
diff --git a/tests/fsharpqa/Source/Warnings/WarnIfExpressionResultUnused.fs b/tests/fsharpqa/Source/Warnings/WarnIfExpressionResultUnused.fs
index e43c60b38d9..9480f35b6b6 100644
--- a/tests/fsharpqa/Source/Warnings/WarnIfExpressionResultUnused.fs
+++ b/tests/fsharpqa/Source/Warnings/WarnIfExpressionResultUnused.fs
@@ -1,5 +1,5 @@
// #Warnings
-//The result of this expression is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
+//The result of this expression has type 'int' and is implicitly ignored\. Consider using 'ignore' to discard this value explicitly, e\.g\. 'expr \|> ignore', or 'let' to bind the result to a name, e\.g\. 'let result = expr'.$
1 + 2
printfn "%d" 3
diff --git a/tests/fsharpqa/Source/Warnings/WarnIfImplicitlyDiscarded.fs b/tests/fsharpqa/Source/Warnings/WarnIfImplicitlyDiscarded.fs
index d0acf39cbe0..ad7f9deacdd 100644
--- a/tests/fsharpqa/Source/Warnings/WarnIfImplicitlyDiscarded.fs
+++ b/tests/fsharpqa/Source/Warnings/WarnIfImplicitlyDiscarded.fs
@@ -1,5 +1,5 @@
// #Warnings
-//The result of this equality expression is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
+//The result of this equality expression has type 'bool' and is implicitly discarded. Consider using 'let' to bind the result to a name, e.g. 'let result = expression'.
let x = 10
let y = 20
diff --git a/tests/fsharpqa/Source/Warnings/WarnOnlyOnLastExpression.fs b/tests/fsharpqa/Source/Warnings/WarnOnlyOnLastExpression.fs
index ac96be2f92b..6f2ef4d9c45 100644
--- a/tests/fsharpqa/Source/Warnings/WarnOnlyOnLastExpression.fs
+++ b/tests/fsharpqa/Source/Warnings/WarnOnlyOnLastExpression.fs
@@ -1,5 +1,5 @@
// #Warnings
-//
+//
let mutable x = 0
while x < 1 do