genericPrototypeProperty3.ts(2,5): error TS2564: Property 'target' has no initializer and is not definitely assigned in the constructor.
genericPrototypeProperty3.ts(6,5): error TS2416: Property 'target' in type 'MyEvent<T>' is not assignable to the same property in base type 'BaseEvent'.
  Type 'T' is not assignable to type '{}'.
genericPrototypeProperty3.ts(6,5): error TS2564: Property 'target' has no initializer and is not definitely assigned in the constructor.
genericPrototypeProperty3.ts(9,5): error TS2564: Property 't' has no initializer and is not definitely assigned in the constructor.
genericPrototypeProperty3.ts(13,5): error TS2564: Property 't' has no initializer and is not definitely assigned in the constructor.


==== genericPrototypeProperty3.ts (5 errors) ====
    class BaseEvent {
        target: {};
        ~~~~~~
!!! error TS2564: Property 'target' has no initializer and is not definitely assigned in the constructor.
    }
    
    class MyEvent<T> extends BaseEvent { // T is instantiated to any in the prototype, which is assignable to {}
        target: T;
        ~~~~~~
!!! error TS2416: Property 'target' in type 'MyEvent<T>' is not assignable to the same property in base type 'BaseEvent'.
!!! error TS2416:   Type 'T' is not assignable to type '{}'.
!!! related TS2208 genericPrototypeProperty3.ts:5:15: This type parameter might need an `extends {}` constraint.
        ~~~~~~
!!! error TS2564: Property 'target' has no initializer and is not definitely assigned in the constructor.
    }
    class BaseEventWrapper {
        t: BaseEvent;
        ~
!!! error TS2564: Property 't' has no initializer and is not definitely assigned in the constructor.
    }
    
    class MyEventWrapper extends BaseEventWrapper {
        t: MyEvent<any>;
        ~
!!! error TS2564: Property 't' has no initializer and is not definitely assigned in the constructor.
    }