Open
Description
opened on Dec 14, 2024
π Search Terms
string extends template bug wrong error conditional
π Version & Regression Information
- This is the behavior in every version I tried, and I reviewed the FAQ.
β― Playground Link
π» Code
type No = [false]
type IsAString<S> = S extends `${infer _}` ? true : false;
type StringIsAString<T extends string> = [IsAString<`${T}`>] extends No ? false : true
const shouldAlwaysBeTrue: StringIsAString<'s'> = true;
π Actual behavior
shouldAlwaysBeTrue
reports the following error:
Type 'true' is not assignable to type 'false'.(2322)
π Expected behavior
No error
Additional information about the issue
This is the most minimal reproduction of the issue I could come up with after whittling it down from a much more complicated scenario.
Interestingly enough, if I change almost anything about it, the issue goes away. For example, if I replace No
with [false]
, issue goes away. If I take out one of the templates, issue goes away. Etc.
Activity