Bug Report
π Search Terms
- unique symbol
- type inference
- opaque
π Version & Regression Information
- This changed between versions v4.9.5 and v5.0.2
- The nightly build also has the bug
β― Playground Link
Playground (v5.0.2)
π» Code
declare const tag: unique symbol;
type Tagged<Token> = {
readonly [tag]?: Token;
};
export type Opaque<Type, Token = unknown> = Type & Tagged<Token>;
export type Query<_V, _R> = Opaque<string>;
const q: Query<{}, {}> = 'query {}'
The opaque type that I borrowed from:
π Actual behavior
The type of q is annotated correctly, Query<{}, {}> while the declaration of Query is on the same file. However, when I moved it to another file, the q is inferred as Query<_V, _R>. It is not reproduced on v4.9.5.
π Expected behavior
The type of q should be inferred as Query<{}, {}> wherever the declaration of Query is located.
Bug Report
π Search Terms
π Version & Regression Information
β― Playground Link
Playground (v5.0.2)
π» Code
The opaque type that I borrowed from:
π Actual behavior
The type of
qis annotated correctly,Query<{}, {}>while the declaration ofQueryis on the same file. However, when I moved it to another file, theqis inferred asQuery<_V, _R>. It is not reproduced on v4.9.5.π Expected behavior
The type of
qshould be inferred asQuery<{}, {}>wherever the declaration ofQueryis located.