String Literal Param in Default Type Definition in Interface Function Causes Breakage
frank-weindel opened this issue · 1 comments
frank-weindel commented
Code
let var1;
interface MyInterface {
func<T = Lowercase<'StringLiteral'>>(): T;
}
let var2;
JavaScript and TypeScript Nightly version: 5.6.0-dev.20240623
Breakage continues for many other keywords at the same block level such as: let
, const
, export
, for
, while
, interface
etc. class
itself seems to overcome the breakage.
frank-weindel commented
I've confirmed this also occurs with double quoted "
string literal types and number literal types. As well as when the extends
keyword is used.
let var1;
interface MyInterface {
func1<T = Lowercase<'StringLiteral'>>(): T;
func2<T = Lowercase<"StringLiteral">>(): T;
func3<T = Lowercase<123>>(): T;
}
let var2;
let var1;
interface MyInterface {
func1<T extends Lowercase<'StringLiteral'>>(): T;
func2<T extends Lowercase<"StringLiteral">>(): T;
func3<T extends Lowercase<123>>(): T;
}
let var2;