Microsoft/TypeScript
在 GitHub 查看Parsing issue for call expression with type arguments following left-shift
Open
#37,760 建立於 2020年4月2日
BugDomain: ParserHelp Wanted
倉庫指標
- Star
- (48,455 star)
- PR 合併指標
- (平均合併 6天 17小時) (30 天內合併 9 個 PR)
描述
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