1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
=== tests/cases/compiler/genericPrototypeProperty2.ts ===
interface EventTarget { x }
>EventTarget : EventTarget
>x : any
class BaseEvent {
>BaseEvent : BaseEvent
target: EventTarget;
>target : EventTarget
>EventTarget : EventTarget
}
class MyEvent<T extends EventTarget> extends BaseEvent {
>MyEvent : MyEvent<T>
>T : T
>EventTarget : EventTarget
>BaseEvent : BaseEvent
target: T;
>target : T
>T : T
}
class BaseEventWrapper {
>BaseEventWrapper : BaseEventWrapper
t: BaseEvent;
>t : BaseEvent
>BaseEvent : BaseEvent
}
class MyEventWrapper extends BaseEventWrapper {
>MyEventWrapper : MyEventWrapper
>BaseEventWrapper : BaseEventWrapper
t: MyEvent<any>; // any satisfies constraint and passes assignability check between 'target' properties
>t : MyEvent<any>
>MyEvent : MyEvent<T>
}
|