diff --git a/src/Compiler/Checking/Expressions/CheckExpressions.fs b/src/Compiler/Checking/Expressions/CheckExpressions.fs
index 02fe8f3bd29..04394c5cd82 100644
--- a/src/Compiler/Checking/Expressions/CheckExpressions.fs
+++ b/src/Compiler/Checking/Expressions/CheckExpressions.fs
@@ -9350,16 +9350,10 @@ and TcUnionCaseOrExnCaseOrActivePatternResultItemThen (cenv: cenv) overallTy env
// This is where the constructor expects arguments but is not applied to arguments, hence build a lambda
numArgTys,
(fun () ->
- let argNamesIfFeatureEnabled =
- if g.langVersion.SupportsFeature LanguageFeature.ImprovedImpliedArgumentNames then
- argNames
- else
- []
-
let vs, args =
argTys
|> List.mapi (fun i ty ->
- let argName = argNamesIfFeatureEnabled |> List.tryItem i |> Option.map (fun x -> x.idText) |> Option.defaultWith (fun () -> "arg" + string i)
+ let argName = argNames |> List.tryItem i |> Option.map (fun x -> x.idText) |> Option.defaultWith (fun () -> "arg" + string i)
mkCompGenLocal mItem argName ty)
|> List.unzip
@@ -10545,13 +10539,7 @@ and TcMethodApplication_CheckArguments
let denv = env.DisplayEnv
match curriedCallerArgsOpt with
| None ->
- let curriedArgTys, curriedArgNamesIfFeatureEnabled, returnTy =
- let paramNamesIfFeatureEnabled (g: TcGlobals) (meth: MethInfo) =
- if g.langVersion.SupportsFeature LanguageFeature.ImprovedImpliedArgumentNames then
- meth.GetParamNames()
- else
- []
-
+ let curriedArgTys, curriedArgNames, returnTy =
match candidates with
// "single named item" rule. This is where we have a single accessible method
// member x.M(arg1, ..., argN)
@@ -10563,21 +10551,21 @@ and TcMethodApplication_CheckArguments
// to their default values (for optionals) and be part of the return tuple (for out args).
| [calledMeth] ->
let curriedArgTys, returnTy = UnifyMatchingSimpleArgumentTypes cenv env exprTy.Commit calledMeth mMethExpr mItem
- curriedArgTys, paramNamesIfFeatureEnabled g calledMeth, MustEqual returnTy
+ curriedArgTys, calledMeth.GetParamNames(), MustEqual returnTy
| _ ->
let domainTy, returnTy = UnifyFunctionTypeAndRecover None cenv denv mMethExpr exprTy.Commit
let argTys = if isUnitTy g domainTy then [] else tryDestRefTupleTy g domainTy
// Only apply this rule if a candidate method exists with this number of arguments
let argTys, argNames =
match candidates |> List.tryFind (CalledMethHasSingleArgumentGroupOfThisLength argTys.Length) with
- | Some meth -> argTys, paramNamesIfFeatureEnabled g meth
+ | Some meth -> argTys, meth.GetParamNames()
| None -> [domainTy], [[None]]
[argTys], argNames, MustEqual returnTy
let lambdaVarsAndExprs =
curriedArgTys
|> List.mapiSquared (fun i j ty ->
- let argName = curriedArgNamesIfFeatureEnabled |> List.tryItem i |> Option.bind (List.tryItem j) |> Option.flatten |> Option.defaultWith (fun () -> "arg" + string i + string j)
+ let argName = curriedArgNames |> List.tryItem i |> Option.bind (List.tryItem j) |> Option.flatten |> Option.defaultWith (fun () -> "arg" + string i + string j)
mkCompGenLocal mMethExpr argName ty)
let unnamedCurriedCallerArgs = lambdaVarsAndExprs |> List.mapSquared (fun (_, e) -> CallerArg(tyOfExpr g e, e.Range, false, e))
diff --git a/src/Compiler/Checking/MethodCalls.fs b/src/Compiler/Checking/MethodCalls.fs
index 828585e959d..3a134c3bec4 100644
--- a/src/Compiler/Checking/MethodCalls.fs
+++ b/src/Compiler/Checking/MethodCalls.fs
@@ -1388,9 +1388,9 @@ let BuildNewDelegateExpr (eventInfoOpt: EventInfo option, g, amap, delegateTy, d
if List.exists (isByrefTy g) delArgTys then
error(Error(FSComp.SR.tcFunctionRequiresExplicitLambda(delArgTys.Length), m))
- let delFuncArgNamesIfFeatureEnabled =
+ let delFuncArgNames =
match delFuncExpr with
- | Expr.Val (valRef = vref) when g.langVersion.SupportsFeature LanguageFeature.ImprovedImpliedArgumentNames ->
+ | Expr.Val (valRef = vref) ->
match vref.ValReprInfo with
| Some repr when repr.ArgNames.Length = delArgTys.Length -> Some repr.ArgNames
| _ -> None
@@ -1406,7 +1406,7 @@ let BuildNewDelegateExpr (eventInfoOpt: EventInfo option, g, amap, delegateTy, d
delArgTys
|> List.mapi (fun i argTy ->
let argName =
- match delFuncArgNamesIfFeatureEnabled with
+ match delFuncArgNames with
| Some argNames -> argNames[i]
| None ->
match List.tryItem i delInvokeArgNamesIfFeatureEnabled with
diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt
index f357d733f74..5de1258f6ef 100644
--- a/src/Compiler/FSComp.txt
+++ b/src/Compiler/FSComp.txt
@@ -1589,7 +1589,6 @@ featureStaticMembersInInterfaces,"Static members in interfaces"
featureNonInlineLiteralsAsPrintfFormat,"String values marked as literals and IL constants as printf format"
featureExtendedStringInterpolation,"Extended string interpolation similar to C# raw string literals."
featureWarningWhenMultipleRecdTypeChoice,"Raises warnings when multiple record type matches were found during name resolution because of overlapping field names."
-featureImprovedImpliedArgumentNames,"Improved implied argument names"
featureConstraintIntersectionOnFlexibleTypes,"Constraint intersection on flexible types"
featureChkNotTailRecursive,"Raises warnings if a member or function has the 'TailCall' attribute, but is not being used in a tail recursive way."
featureExtendedFixedBindings,"extended fixed bindings for byref and GetPinnableReference"
diff --git a/src/Compiler/Facilities/LanguageFeatures.fs b/src/Compiler/Facilities/LanguageFeatures.fs
index ab6ace19aae..6c36b748fde 100644
--- a/src/Compiler/Facilities/LanguageFeatures.fs
+++ b/src/Compiler/Facilities/LanguageFeatures.fs
@@ -52,7 +52,6 @@ type LanguageFeature =
| NonInlineLiteralsAsPrintfFormat
| ExtendedStringInterpolation
| WarningWhenMultipleRecdTypeChoice
- | ImprovedImpliedArgumentNames
| ConstraintIntersectionOnFlexibleTypes
| StaticLetInRecordsDusEmptyTypes
| WarningWhenTailRecAttributeButNonTailRecUsage
@@ -176,7 +175,6 @@ type LanguageVersion(versionText, ?disabledFeaturesArray: LanguageFeature array)
LanguageFeature.NonInlineLiteralsAsPrintfFormat, languageVersion80
LanguageFeature.ExtendedStringInterpolation, languageVersion80
LanguageFeature.WarningWhenMultipleRecdTypeChoice, languageVersion80
- LanguageFeature.ImprovedImpliedArgumentNames, languageVersion80
LanguageFeature.WarningWhenTailRecAttributeButNonTailRecUsage, languageVersion80
LanguageFeature.StaticLetInRecordsDusEmptyTypes, languageVersion80
LanguageFeature.ConstraintIntersectionOnFlexibleTypes, languageVersion80
@@ -370,7 +368,6 @@ type LanguageVersion(versionText, ?disabledFeaturesArray: LanguageFeature array)
| LanguageFeature.NonInlineLiteralsAsPrintfFormat -> FSComp.SR.featureNonInlineLiteralsAsPrintfFormat ()
| LanguageFeature.ExtendedStringInterpolation -> FSComp.SR.featureExtendedStringInterpolation ()
| LanguageFeature.WarningWhenMultipleRecdTypeChoice -> FSComp.SR.featureWarningWhenMultipleRecdTypeChoice ()
- | LanguageFeature.ImprovedImpliedArgumentNames -> FSComp.SR.featureImprovedImpliedArgumentNames ()
| LanguageFeature.StaticLetInRecordsDusEmptyTypes -> FSComp.SR.featureStaticLetInRecordsDusEmptyTypes ()
| LanguageFeature.ConstraintIntersectionOnFlexibleTypes -> FSComp.SR.featureConstraintIntersectionOnFlexibleTypes ()
| LanguageFeature.WarningWhenTailRecAttributeButNonTailRecUsage -> FSComp.SR.featureChkNotTailRecursive ()
diff --git a/src/Compiler/Facilities/LanguageFeatures.fsi b/src/Compiler/Facilities/LanguageFeatures.fsi
index f19abbb861e..f7af3915779 100644
--- a/src/Compiler/Facilities/LanguageFeatures.fsi
+++ b/src/Compiler/Facilities/LanguageFeatures.fsi
@@ -42,7 +42,6 @@ type LanguageFeature =
| NonInlineLiteralsAsPrintfFormat
| ExtendedStringInterpolation
| WarningWhenMultipleRecdTypeChoice
- | ImprovedImpliedArgumentNames
| ConstraintIntersectionOnFlexibleTypes
| StaticLetInRecordsDusEmptyTypes
| WarningWhenTailRecAttributeButNonTailRecUsage
diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf
index dc4782c9ed4..3c87c974b8b 100644
--- a/src/Compiler/xlf/FSComp.txt.cs.xlf
+++ b/src/Compiler/xlf/FSComp.txt.cs.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- Vylepšené názvy implikovaných argumentů
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf
index 4cb29a257b1..663703f3e8c 100644
--- a/src/Compiler/xlf/FSComp.txt.de.xlf
+++ b/src/Compiler/xlf/FSComp.txt.de.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- Verbesserte implizite Argumentnamen
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf
index 3c9a547190c..60969753f4d 100644
--- a/src/Compiler/xlf/FSComp.txt.es.xlf
+++ b/src/Compiler/xlf/FSComp.txt.es.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- Nombres de argumentos implícitos mejorados
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf
index 4fa634e0bf4..84ffffe8f4b 100644
--- a/src/Compiler/xlf/FSComp.txt.fr.xlf
+++ b/src/Compiler/xlf/FSComp.txt.fr.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- Noms d’arguments implicites améliorés
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf
index 847a812bca6..d790fcc5844 100644
--- a/src/Compiler/xlf/FSComp.txt.it.xlf
+++ b/src/Compiler/xlf/FSComp.txt.it.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- Nomi di argomenti impliciti migliorati
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf
index 1984f24be07..09860e038c1 100644
--- a/src/Compiler/xlf/FSComp.txt.ja.xlf
+++ b/src/Compiler/xlf/FSComp.txt.ja.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- 暗黙的な引数名の改善
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf
index 1c926d2f636..152c6b14113 100644
--- a/src/Compiler/xlf/FSComp.txt.ko.xlf
+++ b/src/Compiler/xlf/FSComp.txt.ko.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- 향상된 암시적 인수 이름
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf
index 184e743f9ab..ff76e400ede 100644
--- a/src/Compiler/xlf/FSComp.txt.pl.xlf
+++ b/src/Compiler/xlf/FSComp.txt.pl.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- Ulepszone nazwy dorozumianych argumentów
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf
index d45561696cc..adb6aa329fb 100644
--- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf
+++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- Nomes de argumento implícitos aprimorados
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf
index a354c753312..b025e4f9a01 100644
--- a/src/Compiler/xlf/FSComp.txt.ru.xlf
+++ b/src/Compiler/xlf/FSComp.txt.ru.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- Улучшенные имена подразумеваемых аргументов
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf
index 8eee8e0f00b..464a2dd4c09 100644
--- a/src/Compiler/xlf/FSComp.txt.tr.xlf
+++ b/src/Compiler/xlf/FSComp.txt.tr.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- Geliştirilmiş örtük bağımsız değişken adları
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf
index 8b416bf6648..e05c405d328 100644
--- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf
+++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- 改进了默示的参数名称
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application
diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf
index c8848815e00..39843e8124b 100644
--- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf
+++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf
@@ -457,11 +457,6 @@
Implicit dispatch slot coverage for default interface member implementations
-
- Improved implied argument names
- 改良的隱含引數名稱
-
-
Improved implied argument names with partial application
Improved implied argument names with partial application