未验证 提交 e9cc8485 编写于 作者: D Don Syme 提交者: GitHub

error for deprecated feature (#13182)

上级 5fb045c7
...@@ -2101,7 +2101,11 @@ let BuildFieldMap (cenv: cenv) env isPartial ty flds m = ...@@ -2101,7 +2101,11 @@ let BuildFieldMap (cenv: cenv) env isPartial ty flds m =
if Map.containsKey fref2.FieldName fs then if Map.containsKey fref2.FieldName fs then
errorR (Error(FSComp.SR.tcFieldAppearsTwiceInRecord(fref2.FieldName), m)) errorR (Error(FSComp.SR.tcFieldAppearsTwiceInRecord(fref2.FieldName), m))
if showDeprecated then if showDeprecated then
warning(Deprecated(FSComp.SR.nrRecordTypeNeedsQualifiedAccess(fref2.FieldName, fref2.Tycon.DisplayName) |> snd, m)) let diagnostic = Deprecated(FSComp.SR.nrRecordTypeNeedsQualifiedAccess(fref2.FieldName, fref2.Tycon.DisplayName) |> snd, m)
if g.langVersion.SupportsFeature(LanguageFeature.ErrorOnDeprecatedRequireQualifiedAccess) then
errorR(diagnostic)
else
warning(diagnostic)
if not (tyconRefEq g tcref fref2.TyconRef) then if not (tyconRefEq g tcref fref2.TyconRef) then
let _, frefSet1, _ = List.head fldResolutions let _, frefSet1, _ = List.head fldResolutions
...@@ -2127,7 +2131,11 @@ let rec ApplyUnionCaseOrExn (makerForUnionCase, makerForExnTag) m (cenv: cenv) e ...@@ -2127,7 +2131,11 @@ let rec ApplyUnionCaseOrExn (makerForUnionCase, makerForExnTag) m (cenv: cenv) e
| Item.UnionCase(ucinfo, showDeprecated) -> | Item.UnionCase(ucinfo, showDeprecated) ->
if showDeprecated then if showDeprecated then
warning(Deprecated(FSComp.SR.nrUnionTypeNeedsQualifiedAccess(ucinfo.DisplayName, ucinfo.Tycon.DisplayName) |> snd, m)) let diagnostic = Deprecated(FSComp.SR.nrUnionTypeNeedsQualifiedAccess(ucinfo.DisplayName, ucinfo.Tycon.DisplayName) |> snd, m)
if g.langVersion.SupportsFeature(LanguageFeature.ErrorOnDeprecatedRequireQualifiedAccess) then
errorR(diagnostic)
else
warning(diagnostic)
let ucref = ucinfo.UnionCaseRef let ucref = ucinfo.UnionCaseRef
CheckUnionCaseAttributes g ucref m |> CommitOperationResult CheckUnionCaseAttributes g ucref m |> CommitOperationResult
......
...@@ -568,7 +568,11 @@ and ApplyUnionCaseOrExn m (cenv: cenv) env overallTy item = ...@@ -568,7 +568,11 @@ and ApplyUnionCaseOrExn m (cenv: cenv) env overallTy item =
| Item.UnionCase(ucinfo, showDeprecated) -> | Item.UnionCase(ucinfo, showDeprecated) ->
if showDeprecated then if showDeprecated then
warning(Deprecated(FSComp.SR.nrUnionTypeNeedsQualifiedAccess(ucinfo.DisplayName, ucinfo.Tycon.DisplayName) |> snd, m)) let diagnostic = Deprecated(FSComp.SR.nrUnionTypeNeedsQualifiedAccess(ucinfo.DisplayName, ucinfo.Tycon.DisplayName) |> snd, m)
if g.langVersion.SupportsFeature(LanguageFeature.ErrorOnDeprecatedRequireQualifiedAccess) then
errorR(diagnostic)
else
warning(diagnostic)
let ucref = ucinfo.UnionCaseRef let ucref = ucinfo.UnionCaseRef
CheckUnionCaseAttributes g ucref m |> CommitOperationResult CheckUnionCaseAttributes g ucref m |> CommitOperationResult
......
...@@ -1554,6 +1554,7 @@ featureAdditionalImplicitConversions,"additional type-directed conversions" ...@@ -1554,6 +1554,7 @@ featureAdditionalImplicitConversions,"additional type-directed conversions"
featureStructActivePattern,"struct representation for active patterns" featureStructActivePattern,"struct representation for active patterns"
featureRelaxWhitespace2,"whitespace relaxation v2" featureRelaxWhitespace2,"whitespace relaxation v2"
featureReallyLongList,"list literals of any size" featureReallyLongList,"list literals of any size"
featureErrorOnDeprecatedRequireQualifiedAccess,"give error on deprecated access of construct with RequireQualifiedAccess attribute"
3353,fsiInvalidDirective,"Invalid directive '#%s %s'" 3353,fsiInvalidDirective,"Invalid directive '#%s %s'"
3354,tcNotAFunctionButIndexerNamedIndexingNotYetEnabled,"This value supports indexing, e.g. '%s.[index]'. The syntax '%s[index]' requires /langversion:preview. See https://aka.ms/fsharp-index-notation." 3354,tcNotAFunctionButIndexerNamedIndexingNotYetEnabled,"This value supports indexing, e.g. '%s.[index]'. The syntax '%s[index]' requires /langversion:preview. See https://aka.ms/fsharp-index-notation."
3354,tcNotAFunctionButIndexerIndexingNotYetEnabled,"This expression supports indexing, e.g. 'expr.[index]'. The syntax 'expr[index]' requires /langversion:preview. See https://aka.ms/fsharp-index-notation." 3354,tcNotAFunctionButIndexerIndexingNotYetEnabled,"This expression supports indexing, e.g. 'expr.[index]'. The syntax 'expr[index]' requires /langversion:preview. See https://aka.ms/fsharp-index-notation."
......
...@@ -48,6 +48,7 @@ type LanguageFeature = ...@@ -48,6 +48,7 @@ type LanguageFeature =
| BetterExceptionPrinting | BetterExceptionPrinting
| DelegateTypeNameResolutionFix | DelegateTypeNameResolutionFix
| ReallyLongLists | ReallyLongLists
| ErrorOnDeprecatedRequireQualifiedAccess
/// LanguageVersion management /// LanguageVersion management
type LanguageVersion (versionText) = type LanguageVersion (versionText) =
...@@ -106,6 +107,7 @@ type LanguageVersion (versionText) = ...@@ -106,6 +107,7 @@ type LanguageVersion (versionText) =
LanguageFeature.MLCompatRevisions,previewVersion LanguageFeature.MLCompatRevisions,previewVersion
LanguageFeature.BetterExceptionPrinting,previewVersion LanguageFeature.BetterExceptionPrinting,previewVersion
LanguageFeature.ReallyLongLists, previewVersion LanguageFeature.ReallyLongLists, previewVersion
LanguageFeature.ErrorOnDeprecatedRequireQualifiedAccess,previewVersion
] ]
static let defaultLanguageVersion = LanguageVersion("default") static let defaultLanguageVersion = LanguageVersion("default")
...@@ -205,6 +207,7 @@ type LanguageVersion (versionText) = ...@@ -205,6 +207,7 @@ type LanguageVersion (versionText) =
| LanguageFeature.BetterExceptionPrinting -> FSComp.SR.featureBetterExceptionPrinting() | LanguageFeature.BetterExceptionPrinting -> FSComp.SR.featureBetterExceptionPrinting()
| LanguageFeature.DelegateTypeNameResolutionFix -> FSComp.SR.featureDelegateTypeNameResolutionFix() | LanguageFeature.DelegateTypeNameResolutionFix -> FSComp.SR.featureDelegateTypeNameResolutionFix()
| LanguageFeature.ReallyLongLists -> FSComp.SR.featureReallyLongList() | LanguageFeature.ReallyLongLists -> FSComp.SR.featureReallyLongList()
| LanguageFeature.ErrorOnDeprecatedRequireQualifiedAccess -> FSComp.SR.featureErrorOnDeprecatedRequireQualifiedAccess()
/// Get a version string associated with the given feature. /// Get a version string associated with the given feature.
member _.GetFeatureVersionString feature = member _.GetFeatureVersionString feature =
......
...@@ -38,6 +38,7 @@ type LanguageFeature = ...@@ -38,6 +38,7 @@ type LanguageFeature =
| BetterExceptionPrinting | BetterExceptionPrinting
| DelegateTypeNameResolutionFix | DelegateTypeNameResolutionFix
| ReallyLongLists | ReallyLongLists
| ErrorOnDeprecatedRequireQualifiedAccess
/// LanguageVersion management /// LanguageVersion management
type LanguageVersion = type LanguageVersion =
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">literál float32 bez tečky</target> <target state="translated">literál float32 bez tečky</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">více typů podporuje měrné jednotky</target> <target state="translated">více typů podporuje měrné jednotky</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">punktloses float32-Literal</target> <target state="translated">punktloses float32-Literal</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">Maßeinheitenunterstützung durch weitere Typen</target> <target state="translated">Maßeinheitenunterstützung durch weitere Typen</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">literal float32 sin punto</target> <target state="translated">literal float32 sin punto</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">más tipos admiten las unidades de medida</target> <target state="translated">más tipos admiten las unidades de medida</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">littéral float32 sans point</target> <target state="translated">littéral float32 sans point</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">d'autres types prennent en charge les unités de mesure</target> <target state="translated">d'autres types prennent en charge les unités de mesure</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">valore letterale float32 senza punti</target> <target state="translated">valore letterale float32 senza punti</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">più tipi supportano le unità di misura</target> <target state="translated">più tipi supportano le unità di misura</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">ドットなしの float32 リテラル</target> <target state="translated">ドットなしの float32 リテラル</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">単位をサポートするその他の型</target> <target state="translated">単位をサポートするその他の型</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">점이 없는 float32 리터럴</target> <target state="translated">점이 없는 float32 리터럴</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">더 많은 형식이 측정 단위를 지원함</target> <target state="translated">더 많은 형식이 측정 단위를 지원함</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">bezkropkowy literał float32</target> <target state="translated">bezkropkowy literał float32</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">więcej typów obsługuje jednostki miary</target> <target state="translated">więcej typów obsługuje jednostki miary</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">literal float32 sem ponto</target> <target state="translated">literal float32 sem ponto</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">mais tipos dão suporte para unidades de medida</target> <target state="translated">mais tipos dão suporte para unidades de medida</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">литерал float32 без точки</target> <target state="translated">литерал float32 без точки</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">другие типы поддерживают единицы измерения</target> <target state="translated">другие типы поддерживают единицы измерения</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">noktasız float32 sabit değeri</target> <target state="translated">noktasız float32 sabit değeri</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">tür daha ölçü birimlerini destekler</target> <target state="translated">tür daha ölçü birimlerini destekler</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">无点 float32 文本</target> <target state="translated">无点 float32 文本</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">更多类型支持度量单位</target> <target state="translated">更多类型支持度量单位</target>
......
...@@ -157,6 +157,11 @@ ...@@ -157,6 +157,11 @@
<target state="translated">無點號的 float32 常值</target> <target state="translated">無點號的 float32 常值</target>
<note /> <note />
</trans-unit> </trans-unit>
<trans-unit id="featureErrorOnDeprecatedRequireQualifiedAccess">
<source>give error on deprecated access of construct with RequireQualifiedAccess attribute</source>
<target state="new">give error on deprecated access of construct with RequireQualifiedAccess attribute</target>
<note />
</trans-unit>
<trans-unit id="featureExpandedMeasurables"> <trans-unit id="featureExpandedMeasurables">
<source>more types support units of measure</source> <source>more types support units of measure</source>
<target state="translated">更多支援測量單位的類型</target> <target state="translated">更多支援測量單位的類型</target>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册