Microsoft/TypeScript
View on GitHubBad parsing behaviour for generic arrow type arguments in class heritage / JSX open element
Open
#47,410 opened on Jan 12, 2022
BugDomain: ParserHelp Wanted
Repository metrics
- Stars
- (48,455 stars)
- PR merge metrics
- (Avg merge 6d 17h) (9 merged PRs in 30d)
Description
Bug Report
🔎 Search Terms
shift left type arguments <<
🕗 Version & Regression Information
- This is a crash
- This changed between versions ______ and _______
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about ____ Generics _____
- I was unable to test this on prior versions because _______
⏯ Playground Link
Playground link with relevant code
💻 Code
// No parse error.
(class extends f()< <T>(x: T) => T> {});
<Component< <T>(x: T) => T> />;
// Parse error.
(class extends f()<<T>(x: T) => T> {});
<Component<<T>(x: T) => T> />;
🙁 Actual behavior
Parsing error.
🙂 Expected behavior
No parse error. They are equivalent.
Additional Info
Found this issue when working on a similar fix to Babel (https://github.com/babel/babel/pull/14145). This issue is a follow-up to #23996. /cc @Kingwl since you have fixed that issue.