// @strict: true // Test cases for parameter variances affected by conditional types. // Repro from #30047 interface Foo { prop: T extends unknown ? true : false; } const foo = { prop: true } as const; const x: Foo<1> = foo; const y: Foo = foo; const z: Foo = x; // Repro from #30118 class Bar { private static instance: Bar[]; cast(_name: ([T] extends [string] ? string : string)) { } pushThis() { Bar.instance.push(this); } }