fix(43215): disallow using never as an interface name (#43217)
This commit is contained in:
parent
57775ed405
commit
6fd676b8ef
|
@ -36566,6 +36566,7 @@ namespace ts {
|
|||
switch (name.escapedText) {
|
||||
case "any":
|
||||
case "unknown":
|
||||
case "never":
|
||||
case "number":
|
||||
case "bigint":
|
||||
case "boolean":
|
||||
|
|
|
@ -4,9 +4,11 @@ tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefine
|
|||
tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts(4,11): error TS2427: Interface name cannot be 'boolean'.
|
||||
tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts(5,1): error TS2304: Cannot find name 'interface'.
|
||||
tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts(5,11): error TS1005: ';' expected.
|
||||
tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts(6,11): error TS2427: Interface name cannot be 'unknown'.
|
||||
tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts(7,11): error TS2427: Interface name cannot be 'never'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts (6 errors) ====
|
||||
==== tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts (8 errors) ====
|
||||
interface any { }
|
||||
~~~
|
||||
!!! error TS2427: Interface name cannot be 'any'.
|
||||
|
@ -23,4 +25,10 @@ tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefine
|
|||
~~~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'interface'.
|
||||
~~~~
|
||||
!!! error TS1005: ';' expected.
|
||||
!!! error TS1005: ';' expected.
|
||||
interface unknown {}
|
||||
~~~~~~~
|
||||
!!! error TS2427: Interface name cannot be 'unknown'.
|
||||
interface never {}
|
||||
~~~~~
|
||||
!!! error TS2427: Interface name cannot be 'never'.
|
|
@ -3,7 +3,9 @@ interface any { }
|
|||
interface number { }
|
||||
interface string { }
|
||||
interface boolean { }
|
||||
interface void {}
|
||||
interface void {}
|
||||
interface unknown {}
|
||||
interface never {}
|
||||
|
||||
//// [interfacesWithPredefinedTypesAsNames.js]
|
||||
interface;
|
||||
|
|
|
@ -12,3 +12,9 @@ interface boolean { }
|
|||
>boolean : Symbol(boolean, Decl(interfacesWithPredefinedTypesAsNames.ts, 2, 20))
|
||||
|
||||
interface void {}
|
||||
interface unknown {}
|
||||
>unknown : Symbol(unknown, Decl(interfacesWithPredefinedTypesAsNames.ts, 4, 17))
|
||||
|
||||
interface never {}
|
||||
>never : Symbol(never, Decl(interfacesWithPredefinedTypesAsNames.ts, 5, 20))
|
||||
|
||||
|
|
|
@ -8,3 +8,5 @@ interface void {}
|
|||
>void {} : undefined
|
||||
>{} : {}
|
||||
|
||||
interface unknown {}
|
||||
interface never {}
|
||||
|
|
|
@ -2,4 +2,6 @@ interface any { }
|
|||
interface number { }
|
||||
interface string { }
|
||||
interface boolean { }
|
||||
interface void {}
|
||||
interface void {}
|
||||
interface unknown {}
|
||||
interface never {}
|
Loading…
Reference in a new issue