diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7421288396b83..b96ee5e1f7e37 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -36282,6 +36282,7 @@ namespace ts { switch (name.escapedText) { case "any": case "unknown": + case "never": case "number": case "bigint": case "boolean": diff --git a/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.errors.txt b/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.errors.txt index 1925079095a3e..d6ad166fb0f73 100644 --- a/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.errors.txt +++ b/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.errors.txt @@ -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. \ No newline at end of file +!!! error TS1005: ';' expected. + interface unknown {} + ~~~~~~~ +!!! error TS2427: Interface name cannot be 'unknown'. + interface never {} + ~~~~~ +!!! error TS2427: Interface name cannot be 'never'. \ No newline at end of file diff --git a/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.js b/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.js index ca186b1cef13b..2bb4f0be11278 100644 --- a/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.js +++ b/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.js @@ -3,7 +3,9 @@ interface any { } interface number { } interface string { } interface boolean { } -interface void {} +interface void {} +interface unknown {} +interface never {} //// [interfacesWithPredefinedTypesAsNames.js] interface; diff --git a/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.symbols b/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.symbols index f469eaba590bd..c79493530eae8 100644 --- a/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.symbols +++ b/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.symbols @@ -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)) + diff --git a/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.types b/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.types index 9d6b22cfa4892..492facdc8455e 100644 --- a/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.types +++ b/tests/baselines/reference/interfacesWithPredefinedTypesAsNames.types @@ -8,3 +8,5 @@ interface void {} >void {} : undefined >{} : {} +interface unknown {} +interface never {} diff --git a/tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts b/tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts index 56bbaa62e3678..edd53d2cdfcfd 100644 --- a/tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts +++ b/tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts @@ -2,4 +2,6 @@ interface any { } interface number { } interface string { } interface boolean { } -interface void {} \ No newline at end of file +interface void {} +interface unknown {} +interface never {} \ No newline at end of file