Microsoft/TypeScript
Auf GitHub ansehenType printing does not detect that a name is shadowed in the current scope
Open
#58.456 geöffnet am 7. Mai 2024
BugDomain: Declaration EmitHelp Wanted
Repository-Metriken
- Stars
- (48.455 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 6T 17h) (9 gemergte PRs in 30 T)
Beschreibung
🔎 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