Microsoft/TypeScript
Voir sur GitHubType printing does not detect that a name is shadowed in the current scope
Open
#58 456 ouverte le 7 mai 2024
BugDomain: Declaration EmitHelp Wanted
Métriques du dépôt
- Stars
- (48 455 stars)
- Métriques de merge PR
- (Merge moyen 6j 17h) (9 PRs mergées en 30 j)
Description
🔎 Search Terms
global shadowed declarations
🕗 Version & Regression Information
- This is the behavior in every version I tried, and I reviewed
⏯ Playground Link
💻 Code
// @strict: true
// @declaration: true
// @target: es2020
// @filename: a.ts
export const o = {[Symbol.iterator]: 1}
// @filename: b.ts
import { o } from "./a";
export class Symbol { }
export const g = o;
🙁 Actual behavior
The typeof of g is { [Symbol.iterator]: number; }. This leads to an incorrect declaration since Symbol is shadowed in the current scope
🙂 Expected behavior
The typeof of g is { [globalThis.Symbol.iterator]: number; }.
Additional information about the issue
No response