Computed property invalid in type declaration emitted in d.ts file #60818
Labels
Help Wanted
You can do this
Possible Improvement
The current behavior isn't wrong, but it's possible to see that it might be better in some cases
Milestone
π Search Terms
computed property unique symbols declaration emit
π Version & Regression Information
β― Playground Link
https://www.typescriptlang.org/play/?ts=5.7.2#code/MYGwhgzhAEAq0G8BQ1XQgFzBglsaATgKZgAmA9gHYgCe0A2gEQaMC6AXNAK6U4COXIuhoBbAEbkQAbiQBfJCCIZoAD07I0DWExasO0Sl3FECM2TMXK6AXkQo09bczb6AjHKRA
π» Code
π Actual behavior
The type of
x
has an error saying:A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol'
The type of
y
is emitted in declaration files just like the type ofx
and causes an error in the d.ts fileπ Expected behavior
The type of
x
should be valid. If we use a non-computed property name, the type would be valid (let x: { [T.t]: number; }
, Playground Link). Declaration emit should not emit invalid code.Additional information about the issue
Probably fixed by #60052 since the limitation on computed property names in types goes away.
The text was updated successfully, but these errors were encountered: