Microsoft/TypeScript
Parsing issue for call expression with type arguments following left-shift
オープン
#37,760 opened on 2020/04/02
BugDomain: ParserHelp Wanted
Repository metrics
- Stars
- (108,860 個のスター)
- PR merge metrics
- (PR metrics pending)
説明
TypeScript Version: 3.8.3
Search Terms: left shift, type parameter
Expected behavior: Syntax highlighting stays intact.
Actual behavior: Syntax highlighting breaks, even with ts-ignore.
Code
function alignof<T>(): number {
return 1;
}
// works
function foo<T>(): number {
return 1 >> alignof<T[]>();
}
// breaks
function bar<T>(): number {
return 1 << alignof<T[]>();
}
// still breaks, does not ignore
function baz<T>(): number {
// @ts-ignore
return 1 << alignof<T[]>();
}
Looks like a rescan issue on potentially ambiguous < tokens, attempting to interpret as 1 < <type>.
Playground Link: Provided