🔎 Search Terms
Literal type, string mapping type, intersection
🕗 Version & Regression Information
- This is the behavior in every version I tried
⏯ Playground Link
https://www.typescriptlang.org/play?#code/C4TwDgpgBAYg9nKBeKBvKYBOcwC4oDOwmAlgHYDmUAvgNwBQ9okUAKgAzKwIDaARFhx8AurShQA9BKgB5ANZNw0VgEYu8OP0Fg+UAGRQABmAAkqIqUrUwh0eKmyFzZQCZ1vAdh36jp1ABk4AHcITABjAEMCCAAeC3IKAD5rWzFJaXlFFlYAZndNTyEfQJDwqNj4ykS7dKgAUUxsTAAaKCCI4AB+eiA
💻 Code
typeFoo={prop: string};typeT0=Foo["prop"];// stringtypeT1=Foo["prop"& `p${string}p`];// stringtypeT2=Foo["prop"& `p${Lowercase<string>}p`];// stringtypeT3=Foo["prop"&Lowercase<string>];// Error, wat?🙁 Actual behavior
Error.
🙂 Expected behavior
No error.
Additional information about the issue
See here.
🔎 Search Terms
Literal type, string mapping type, intersection
🕗 Version & Regression Information
⏯ Playground Link
https://www.typescriptlang.org/play?#code/C4TwDgpgBAYg9nKBeKBvKYBOcwC4oDOwmAlgHYDmUAvgNwBQ9okUAKgAzKwIDaARFhx8AurShQA9BKgB5ANZNw0VgEYu8OP0Fg+UAGRQABmAAkqIqUrUwh0eKmyFzZQCZ1vAdh36jp1ABk4AHcITABjAEMCCAAeC3IKAD5rWzFJaXlFFlYAZndNTyEfQJDwqNj4ykS7dKgAUUxsTAAaKCCI4AB+eiA
💻 Code
🙁 Actual behavior
Error.
🙂 Expected behavior
No error.
Additional information about the issue
See here.