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