* Fix #51623

* Revert newline changes
This commit is contained in:
Wesley Wigham 2022-12-05 12:48:11 -08:00 committed by GitHub
parent b23b29b71b
commit e9e7a9d49a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 81 additions and 1 deletions

View File

@ -14896,7 +14896,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
const resolved = resolveAlias(aliasSymbol);
if (resolved && resolved.flags & SymbolFlags.TypeAlias) {
newAliasSymbol = resolved;
aliasTypeArguments = typeArgumentsFromTypeReferenceNode(node);
aliasTypeArguments = typeArgumentsFromTypeReferenceNode(node) || (typeParameters ? [] : undefined);
}
}
}

View File

@ -0,0 +1,25 @@
//// [tests/cases/compiler/fixCrashAliasLookupForDefauledImport.ts] ////
//// [input.ts]
export type Foo<T = string> = {};
//// [usage.ts]
import {Foo} from "./input";
function bar<T>(element: Foo) {
return 1;
}
bar(1 as Foo<number>);
//// [input.js]
"use strict";
exports.__esModule = true;
//// [usage.js]
"use strict";
exports.__esModule = true;
function bar(element) {
return 1;
}
bar(1);

View File

@ -0,0 +1,22 @@
=== tests/cases/compiler/input.ts ===
export type Foo<T = string> = {};
>Foo : Symbol(Foo, Decl(input.ts, 0, 0))
>T : Symbol(T, Decl(input.ts, 0, 16))
=== tests/cases/compiler/usage.ts ===
import {Foo} from "./input";
>Foo : Symbol(Foo, Decl(usage.ts, 0, 8))
function bar<T>(element: Foo) {
>bar : Symbol(bar, Decl(usage.ts, 0, 28))
>T : Symbol(T, Decl(usage.ts, 2, 13))
>element : Symbol(element, Decl(usage.ts, 2, 16))
>Foo : Symbol(Foo, Decl(usage.ts, 0, 8))
return 1;
}
bar(1 as Foo<number>);
>bar : Symbol(bar, Decl(usage.ts, 0, 28))
>Foo : Symbol(Foo, Decl(usage.ts, 0, 8))

View File

@ -0,0 +1,22 @@
=== tests/cases/compiler/input.ts ===
export type Foo<T = string> = {};
>Foo : Foo<T>
=== tests/cases/compiler/usage.ts ===
import {Foo} from "./input";
>Foo : any
function bar<T>(element: Foo) {
>bar : <T>(element: Foo) => number
>element : Foo
return 1;
>1 : 1
}
bar(1 as Foo<number>);
>bar(1 as Foo<number>) : number
>bar : <T>(element: Foo) => number
>1 as Foo<number> : Foo<number>
>1 : 1

View File

@ -0,0 +1,11 @@
// @filename: input.ts
export type Foo<T = string> = {};
// @filename: usage.ts
import {Foo} from "./input";
function bar<T>(element: Foo) {
return 1;
}
bar(1 as Foo<number>);