diff --git a/src/Compiler/Checking/Expressions/CheckComputationExpressions.fs b/src/Compiler/Checking/Expressions/CheckComputationExpressions.fs
index 040b61f9a89..876ea99e394 100644
--- a/src/Compiler/Checking/Expressions/CheckComputationExpressions.fs
+++ b/src/Compiler/Checking/Expressions/CheckComputationExpressions.fs
@@ -2129,14 +2129,6 @@ let rec TryTranslateComputationExpression
translatedCtxt
)
| _ ->
- if not (cenv.g.langVersion.SupportsFeature LanguageFeature.AndBang) then
- let andBangRange =
- match andBangBindings with
- | [] -> comp.Range
- | h :: _ -> h.Trivia.LeadingKeyword.Range
-
- error (Error(FSComp.SR.tcAndBangNotSupported (), andBangRange))
-
if ceenv.isQuery then
error (Error(FSComp.SR.tcBindMayNotBeUsedInQueries (), mBind))
@@ -2684,11 +2676,7 @@ and TranslateComputationExpressionBind
let innerRange = innerComp.Range
- let innerCompReturn =
- if ceenv.cenv.g.langVersion.SupportsFeature LanguageFeature.AndBang then
- convertSimpleReturnToExpr ceenv comp varSpace innerComp
- else
- None
+ let innerCompReturn = convertSimpleReturnToExpr ceenv comp varSpace innerComp
match innerCompReturn with
| Some(innerExpr, customOpInfo) when hasBuilderMethod ceenv bindRange (bindName + "Return") ->
diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt
index 26699fa4d9b..046e7486fc8 100644
--- a/src/Compiler/FSComp.txt
+++ b/src/Compiler/FSComp.txt
@@ -1545,7 +1545,6 @@ csTypeHasNullAsExtraValue,"The type '%s' supports 'null' but a non-null type is
3303,fromEndSlicingRequiresVFive,"The 'from the end slicing' feature requires language version 'preview'."
3304,poundiNotSupportedByRegisteredDependencyManagers,"#i is not supported by the registered PackageManagers"
3343,tcRequireMergeSourcesOrBindN,"The 'let! ... and! ...' construct may only be used if the computation expression builder defines either a '%s' method or appropriate 'MergeSources' and 'Bind' methods"
-3344,tcAndBangNotSupported,"This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature."
3345,tcInvalidUseBangBindingNoAndBangs,"use! may not be combined with and!"
3349,chkFeatureNotSupportedInLibrary,"Feature '%s' requires the F# library for language version %s or greater."
3350,chkFeatureNotLanguageSupported,"Feature '%s' is not available in F# %s. Please use language version %s or greater."
@@ -1573,7 +1572,6 @@ featureDotlessFloat32Literal,"dotless float32 literal"
featurePackageManagement,"package management"
featureFromEndSlicing,"from-end slicing"
featureFixedIndexSlice3d4d,"fixed-index slice 3d/4d"
-featureAndBang,"applicative computation expressions"
featureNullnessChecking,"nullness checking"
featureResumableStateMachines,"resumable state machines"
featureNullableOptionalInterop,"nullable optional interop"
diff --git a/src/Compiler/Facilities/LanguageFeatures.fs b/src/Compiler/Facilities/LanguageFeatures.fs
index ad170712e4a..7c395c223e5 100644
--- a/src/Compiler/Facilities/LanguageFeatures.fs
+++ b/src/Compiler/Facilities/LanguageFeatures.fs
@@ -27,7 +27,6 @@ type LanguageFeature =
| PackageManagement
| FromEndSlicing
| FixedIndexSlice3d4d
- | AndBang
| ResumableStateMachines
| NullableOptionalInterop
| DefaultInterfaceMemberConsumption
@@ -160,7 +159,6 @@ type LanguageVersion(versionText, ?disabledFeaturesArray: LanguageFeature array)
// F# 5.0
LanguageFeature.FixedIndexSlice3d4d, languageVersion50
LanguageFeature.DotlessFloat32Literal, languageVersion50
- LanguageFeature.AndBang, languageVersion50
LanguageFeature.NullableOptionalInterop, languageVersion50
LanguageFeature.DefaultInterfaceMemberConsumption, languageVersion50
LanguageFeature.OpenTypeDeclaration, languageVersion50
@@ -375,7 +373,6 @@ type LanguageVersion(versionText, ?disabledFeaturesArray: LanguageFeature array)
| LanguageFeature.PackageManagement -> FSComp.SR.featurePackageManagement ()
| LanguageFeature.FromEndSlicing -> FSComp.SR.featureFromEndSlicing ()
| LanguageFeature.FixedIndexSlice3d4d -> FSComp.SR.featureFixedIndexSlice3d4d ()
- | LanguageFeature.AndBang -> FSComp.SR.featureAndBang ()
| LanguageFeature.NullnessChecking -> FSComp.SR.featureNullnessChecking ()
| LanguageFeature.ResumableStateMachines -> FSComp.SR.featureResumableStateMachines ()
| LanguageFeature.NullableOptionalInterop -> FSComp.SR.featureNullableOptionalInterop ()
diff --git a/src/Compiler/Facilities/LanguageFeatures.fsi b/src/Compiler/Facilities/LanguageFeatures.fsi
index 8c7ebd7e3c3..977623a59cb 100644
--- a/src/Compiler/Facilities/LanguageFeatures.fsi
+++ b/src/Compiler/Facilities/LanguageFeatures.fsi
@@ -17,7 +17,6 @@ type LanguageFeature =
| PackageManagement
| FromEndSlicing
| FixedIndexSlice3d4d
- | AndBang
| ResumableStateMachines
| NullableOptionalInterop
| DefaultInterfaceMemberConsumption
diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf
index 8cb70b4c49e..c7f27d01322 100644
--- a/src/Compiler/xlf/FSComp.txt.cs.xlf
+++ b/src/Compiler/xlf/FSComp.txt.cs.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- aplikativní výpočetní výrazy
-
- Arithmetic and logical operations in literals, enum definitions and attributesAritmetické a logické operace v literálech, definicích výčtu a atributech
@@ -1437,11 +1432,6 @@
Tento výraz má typ {0} a je kompatibilní pouze s typem {1} prostřednictvím nejednoznačného implicitního převodu. Zvažte použití explicitního volání op_Implicit. Použitelnými implicitními převody jsou: {2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- Tato funkce se v této verzi jazyka F# nepodporuje. Abyste mohli tuto funkci používat, možná bude nutné přidat /langversion:preview.
-
- The field '{0}' appears multiple times in this record expression.Pole {0} se v tomto výrazu záznamu vyskytuje vícekrát.
diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf
index 5686312be6b..7c58e294021 100644
--- a/src/Compiler/xlf/FSComp.txt.de.xlf
+++ b/src/Compiler/xlf/FSComp.txt.de.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- applikative Berechnungsausdrücke
-
- Arithmetic and logical operations in literals, enum definitions and attributesArithmetische und logische Vorgänge in Literalen, Enumerationsdefinitionen und Attributen
@@ -1437,11 +1432,6 @@
Dieser Ausdruck weist den Typ "{0}" auf und wird nur durch eine mehrdeutige implizite Konvertierung mit dem Typ "{1}" kompatibel gemacht. Erwägen Sie die Verwendung eines expliziten Aufrufs an "op_Implicit". Die anwendbaren impliziten Konvertierungen sind: {2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- Dieses Feature wird in dieser Version von F# nicht unterstützt. Möglicherweise müssen Sie "/langversion:preview" hinzufügen, um dieses Feature zu verwenden.
-
- The field '{0}' appears multiple times in this record expression.Das Feld "{0}" ist in diesem Datensatzausdruck mehrmals vorhanden.
diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf
index a3b4cfce50b..61c5886a00c 100644
--- a/src/Compiler/xlf/FSComp.txt.es.xlf
+++ b/src/Compiler/xlf/FSComp.txt.es.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- expresiones de cálculo aplicativas
-
- Arithmetic and logical operations in literals, enum definitions and attributesOperaciones aritméticas y lógicas en literales, definiciones de enumeración y atributos
@@ -1437,11 +1432,6 @@
Esta expresión tiene el tipo "{0}" y solo se hace compatible con el tipo "{1}" mediante una conversión implícita ambigua. Considere la posibilidad de usar una llamada explícita a 'op_Implicit'. Las conversiones implícitas aplicables son:{2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- Esta versión de F# no admite esta característica. Es posible que tenga que agregar /langversion:preview para usarla.
-
- The field '{0}' appears multiple times in this record expression.El campo "{0}" aparece varias veces en esta expresión de registro.
diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf
index bf46f5ee12b..7ca8e88853d 100644
--- a/src/Compiler/xlf/FSComp.txt.fr.xlf
+++ b/src/Compiler/xlf/FSComp.txt.fr.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- expressions de calcul applicatives
-
- Arithmetic and logical operations in literals, enum definitions and attributesOpérations arithmétiques et logiques dans les littéraux, les définitions d'énumération et les attributs
@@ -1437,11 +1432,6 @@
Cette expression a le type « {0} » et est uniquement compatible avec le type « {1} » via une conversion implicite ambiguë. Envisagez d’utiliser un appel explicite à’op_Implicit'. Les conversions implicites applicables sont : {2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- Cette fonctionnalité n'est pas prise en charge dans cette version de F#. Vous devrez peut-être ajouter /langversion:preview pour pouvoir utiliser cette fonctionnalité.
-
- The field '{0}' appears multiple times in this record expression.Le champ «{0}» apparaît plusieurs fois dans cette expression d’enregistrement.
diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf
index 6d705cdc2d1..4534ba31abf 100644
--- a/src/Compiler/xlf/FSComp.txt.it.xlf
+++ b/src/Compiler/xlf/FSComp.txt.it.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- espressioni di calcolo applicativo
-
- Arithmetic and logical operations in literals, enum definitions and attributesOperazioni aritmetiche e logiche in valori letterali, definizioni di enumerazione e attributi
@@ -1437,11 +1432,6 @@
Questa espressione di tipo '{0}' è resa compatibile con il tipo '{1}' solo tramite una conversione implicita ambigua. Provare a usare una chiamata esplicita a 'op_Implicit'. Le conversioni implicite applicabili sono: {2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- Questa funzionalità non è supportata in questa versione di F#. Per usare questa funzionalità, potrebbe essere necessario aggiungere /langversion:preview.
-
- The field '{0}' appears multiple times in this record expression.Il campo '{0}' viene visualizzato più volte in questa espressione di record.
diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf
index 0b35b8e6dac..24554a591ca 100644
--- a/src/Compiler/xlf/FSComp.txt.ja.xlf
+++ b/src/Compiler/xlf/FSComp.txt.ja.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- 適用できる計算式
-
- Arithmetic and logical operations in literals, enum definitions and attributesリテラル、列挙型の定義と属性の算術演算と論理演算
@@ -1437,11 +1432,6 @@
この式の型は '{0}' であり、あいまいで暗黙的な変換によってのみ、型 '{1}' と互換性を持たせることが可能です。' op_Implicit' の明示的な呼び出しを使用することを検討してください。該当する暗黙的な変換は次のとおりです: {2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- この機能は、このバージョンの F# ではサポートされていません。この機能を使用するには、/langversion:preview の追加が必要な場合があります。
-
- The field '{0}' appears multiple times in this record expression.このレコード式に、フィールド '{0}' が複数回出現します。
diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf
index b00f54bfa76..314884ccaf0 100644
--- a/src/Compiler/xlf/FSComp.txt.ko.xlf
+++ b/src/Compiler/xlf/FSComp.txt.ko.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- 적용 가능한 계산 식
-
- Arithmetic and logical operations in literals, enum definitions and attributes리터럴, 열거형 정의 및 특성의 산술 연산 및 논리 연산
@@ -1437,11 +1432,6 @@
이 식은 ‘{0}’ 형식이며 모호한 암시적 변환을 통해 ‘{1}’ 형식하고만 호환됩니다. ‘op_Implicit’에 대한 명시적 호출을 사용하십시오. 해당하는 암시적 변환은 ‘{2}’입니다.
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- 이 기능은 이 F# 버전에서 지원되지 않습니다. 이 기능을 사용하기 위해 /langversion:preview를 추가해야 할 수도 있습니다.
-
- The field '{0}' appears multiple times in this record expression.'{0}' 필드가 이 레코드 식에 여러 번 나타납니다.
diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf
index b6d4b78a2d8..adad8ce7661 100644
--- a/src/Compiler/xlf/FSComp.txt.pl.xlf
+++ b/src/Compiler/xlf/FSComp.txt.pl.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- praktyczne wyrażenia obliczeniowe
-
- Arithmetic and logical operations in literals, enum definitions and attributesOperacje arytmetyczne i logiczne w literałach, definicjach wyliczeń i atrybutach
@@ -1437,11 +1432,6 @@
To wyrażenie ma typ "{0}" i jest zgodne tylko z typem "{1}" za pośrednictwem niejednoznacznie bezwarunkowej konwersji. Rozważ użycie jednoznacznego wywołania elementu "op_Implicit". Odpowiednimi jednoznacznymi konwersjami są: {2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- Ta funkcja nie jest obsługiwana w tej wersji języka F#. Aby korzystać z tej funkcji, może być konieczne dodanie parametru /langversion:preview.
-
- The field '{0}' appears multiple times in this record expression.Pole „{0}” występuje wielokrotnie w tym wyrażeniu rekordu.
diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf
index ba46752a529..83e5f797d41 100644
--- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf
+++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- expressões de computação aplicáveis
-
- Arithmetic and logical operations in literals, enum definitions and attributesOperações aritméticas e lógicas em literais, definições de enumeração e atributos
@@ -1437,11 +1432,6 @@
Essa expressão possui o tipo '{0}' e só é compatível com o tipo '{1}' por uma conversão implícita ambígua. Considere usar uma chamada explícita para 'op_Implicit'. As conversões implícitas aplicáveis são:{2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- Este recurso não tem suporte nesta versão do F#. Talvez seja necessário adicionar /langversion:preview para usar este recurso.
-
- The field '{0}' appears multiple times in this record expression.O campo '{0}' aparece várias vezes nesta expressão de registro.
diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf
index 4a13225bc33..9ffb86e4566 100644
--- a/src/Compiler/xlf/FSComp.txt.ru.xlf
+++ b/src/Compiler/xlf/FSComp.txt.ru.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- применимые вычислительные выражения
-
- Arithmetic and logical operations in literals, enum definitions and attributesАрифметические и логические операции в литералах, определениях перечислений и атрибутах
@@ -1437,11 +1432,6 @@
Это выражение имеет тип "{0}" и совместимо только с типом "{1}" посредством неоднозначного неявного преобразования. Рассмотрите возможность использования явного вызова "op_Implicit". Применимые неявные преобразования: {2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- Эта функция не поддерживается в данной версии F#. Возможно, потребуется добавить/langversion:preview, чтобы использовать эту функцию.
-
- The field '{0}' appears multiple times in this record expression.Поле "{0}" появляется несколько раз в данном выражении записи.
diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf
index 0d880a3f23a..39caee05fda 100644
--- a/src/Compiler/xlf/FSComp.txt.tr.xlf
+++ b/src/Compiler/xlf/FSComp.txt.tr.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- uygulama hesaplama ifadeleri
-
- Arithmetic and logical operations in literals, enum definitions and attributesSabit değerler, sabit listesi tanımları ve öznitelikler olarak aritmetik ve mantıksal işlemler
@@ -1437,11 +1432,6 @@
Bu ifade '{0}' türüne sahip ve yalnızca belirsiz bir örtük dönüştürme aracılığıyla ’{1}' türüyle uyumlu hale getirilir. 'op_Implicit' için açık bir çağrı kullanmayı düşünün. Uygulanabilir örtük dönüştürmeler şunlardır: {2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- Bu özellik, bu F# sürümünde desteklenmiyor. Bu özelliği kullanabilmeniz için /langversion:preview eklemeniz gerekebilir.
-
- The field '{0}' appears multiple times in this record expression.'{0}' alanı bu kayıt ifadesinde birden fazla yerde görünüyor.
diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf
index ce2c173e893..d78ff923020 100644
--- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf
+++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- 适用的计算表达式
-
- Arithmetic and logical operations in literals, enum definitions and attributes文本、枚举定义和属性中的算术和逻辑运算
@@ -1437,11 +1432,6 @@
此表达式的类型为“{0}”,仅可通过不明确的隐式转换使其与类型“{1}”兼容。请考虑使用显式调用“op_Implicit”。适用的隐式转换为: {2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- 此版本的 F# 不支持此功能。你可能需要添加 /langversion:preview 才可使用此功能。
-
- The field '{0}' appears multiple times in this record expression.字段“{0}”在此记录表达式中多次出现。
diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf
index 09d5f37bea9..c5a20553d19 100644
--- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf
+++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf
@@ -302,11 +302,6 @@
Allow object expressions without overrides
-
- applicative computation expressions
- 適用的計算運算式
-
- Arithmetic and logical operations in literals, enum definitions and attributes常值、列舉定義和屬性中的算術和邏輯作業
@@ -1437,11 +1432,6 @@
此運算式的類型為 '{0}',僅可透過不明確的隱含轉換使其與類型 '{1}' 相容。請考慮使用明確呼叫 'op_Implicit'。適用的隱含轉換為: {2}
-
- This feature is not supported in this version of F#. You may need to add /langversion:preview to use this feature.
- 此版本的 F# 不支援此功能。您可能需要新增 /langversion:preview 才能使用此功能。
-
- The field '{0}' appears multiple times in this record expression.欄位 '{0}' 在這個記錄運算式中出現多次。