Microsoft/TypeScript
View on GitHubParsing issue for call expression with type arguments following left-shift
Open
#37,760 opened on Apr 2, 2020
BugDomain: ParserHelp Wanted
Description
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