mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-11 10:46:28 -05:00
fix(43215): disallow using never as an interface name (#43217)
This commit is contained in:
@@ -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 {}
|
||||
Reference in New Issue
Block a user