1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
//// [tests/cases/compiler/substitutionTypeForIndexedAccessType2.ts] ////
=== substitutionTypeForIndexedAccessType2.ts ===
interface Foo {
foo: string|undefined
>foo : string
}
type Str<T extends string> = T
>Str : T
type Bar<T> =
>Bar : Bar<T>
T extends Foo
? T['foo'] extends string
// Type 'T["foo"]' does not satisfy the constraint 'string'.
// Type 'string | undefined' is not assignable to type 'string'.
// Type 'undefined' is not assignable to type 'string'.(2344)
? Str<T['foo']>
: never
: never
|