mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-04 21:53:42 -06:00
Revert PR 56087 (#57849)
This commit is contained in:
parent
8fa18b212c
commit
cc460dc327
@ -5740,12 +5740,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
* Checks if two symbols, through aliasing and/or merging, refer to the same thing
|
||||
*/
|
||||
function getSymbolIfSameReference(s1: Symbol, s2: Symbol) {
|
||||
if (s1.flags & SymbolFlags.TypeAlias && s2.declarations?.find(isTypeAlias)) {
|
||||
s2 = getDeclaredTypeOfTypeAlias(s2).aliasSymbol || s2;
|
||||
}
|
||||
if (s2.flags & SymbolFlags.TypeAlias && s1.declarations?.find(isTypeAlias)) {
|
||||
s1 = getDeclaredTypeOfTypeAlias(s1).aliasSymbol || s1;
|
||||
}
|
||||
if (getMergedSymbol(resolveSymbol(getMergedSymbol(s1))) === getMergedSymbol(resolveSymbol(getMergedSymbol(s2)))) {
|
||||
return s1;
|
||||
}
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
src/index.ts(3,14): error TS2742: The inferred type of 'foo' cannot be named without a reference to '../node_modules/some-dep/dist/inner'. This is likely not portable. A type annotation is necessary.
|
||||
src/index.ts(7,14): error TS2742: The inferred type of 'bar' cannot be named without a reference to '../node_modules/some-dep/dist/inner'. This is likely not portable. A type annotation is necessary.
|
||||
|
||||
|
||||
==== node_modules/some-dep/dist/inner.d.ts (0 errors) ====
|
||||
export declare type Other = { other: string };
|
||||
export declare type SomeType = { arg: Other };
|
||||
|
||||
==== node_modules/some-dep/dist/index.d.ts (0 errors) ====
|
||||
export type OtherType = import('./inner').Other;
|
||||
export type SomeType = import('./inner').SomeType;
|
||||
|
||||
==== node_modules/some-dep/package.json (0 errors) ====
|
||||
{
|
||||
"name": "some-dep",
|
||||
"exports": {
|
||||
".": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
|
||||
==== src/index.ts (2 errors) ====
|
||||
import { SomeType } from "some-dep";
|
||||
|
||||
export const foo = (thing: SomeType) => {
|
||||
~~~
|
||||
!!! error TS2742: The inferred type of 'foo' cannot be named without a reference to '../node_modules/some-dep/dist/inner'. This is likely not portable. A type annotation is necessary.
|
||||
return thing;
|
||||
};
|
||||
|
||||
export const bar = (thing: SomeType) => {
|
||||
~~~
|
||||
!!! error TS2742: The inferred type of 'bar' cannot be named without a reference to '../node_modules/some-dep/dist/inner'. This is likely not portable. A type annotation is necessary.
|
||||
return thing.arg;
|
||||
};
|
||||
@ -39,9 +39,3 @@ const bar = (thing) => {
|
||||
return thing.arg;
|
||||
};
|
||||
exports.bar = bar;
|
||||
|
||||
|
||||
//// [index.d.ts]
|
||||
import { SomeType } from "some-dep";
|
||||
export declare const foo: (thing: SomeType) => import("some-dep").SomeType;
|
||||
export declare const bar: (thing: SomeType) => import("some-dep").OtherType;
|
||||
|
||||
@ -1,9 +1,5 @@
|
||||
//// [tests/cases/compiler/unusedTypeParametersCheckedByNoUnusedParameters.ts] ////
|
||||
|
||||
=== Performance Stats ===
|
||||
Type Count: 100 / 3,200 (nearest 100)
|
||||
Symbol count: 25,500 / 25,500 (nearest 500)
|
||||
|
||||
=== unusedTypeParametersCheckedByNoUnusedParameters.ts ===
|
||||
function f<T>() { }
|
||||
>f : <T>() => void
|
||||
|
||||
@ -1,9 +1,5 @@
|
||||
//// [tests/cases/compiler/unusedTypeParametersNotCheckedByNoUnusedLocals.ts] ////
|
||||
|
||||
=== Performance Stats ===
|
||||
Type Count: 100 / 3,200 (nearest 100)
|
||||
Symbol count: 25,500 / 25,500 (nearest 500)
|
||||
|
||||
=== unusedTypeParametersNotCheckedByNoUnusedLocals.ts ===
|
||||
function f<T>() { }
|
||||
>f : <T>() => void
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user