* Change type-only semantics to allow type queries * Don’t error using type-only import in ambient context * Fix default import * Fix namespace import * Update more baselines * Prevent circular resolution * Track const enum expression usage * Update baselines * Perf tuning 1 * Test commit for perf impact * Weave type-only alias declaration finding into alias resolution * Fix namespace import of type-only exported symbols * type-only exports do not contribute to the module object type * Update APIs * Fix enum casing, remove type-only conversion suggestion * Short circuit type-only checks in resolveEntityName faster * Fix casing in API * Remove unused parameter * Fix error on qualified names in type queries * Allow type-only imports in computed property names * Fix computed property names of types and abstract members * Remove unused util * Commit missing baselines * Rename “check” functions so as not to overload the word “check”
28 lines
915 B
Plaintext
28 lines
915 B
Plaintext
/d.ts(2,5): error TS1361: 'D' cannot be used as a value because it was imported using 'import type'.
|
|
/d.ts(3,7): error TS2741: Property 'a' is missing in type '{}' but required in type 'A'.
|
|
|
|
|
|
==== /a.ts (0 errors) ====
|
|
class A { a!: string }
|
|
export type { A as B };
|
|
export type Z = A;
|
|
|
|
==== /b.ts (0 errors) ====
|
|
import { Z as Y } from './a';
|
|
export { B as C } from './a';
|
|
|
|
==== /c.ts (0 errors) ====
|
|
import type { C } from './b';
|
|
export { C as D };
|
|
|
|
==== /d.ts (2 errors) ====
|
|
import { D } from './c';
|
|
new D();
|
|
~
|
|
!!! error TS1361: 'D' cannot be used as a value because it was imported using 'import type'.
|
|
!!! related TS1376 /c.ts:1:15: 'D' was imported here.
|
|
const d: D = {};
|
|
~
|
|
!!! error TS2741: Property 'a' is missing in type '{}' but required in type 'A'.
|
|
!!! related TS2728 /a.ts:1:11: 'a' is declared here.
|
|
|