tests/cases/compiler/commentsInheritance.ts(87,9): error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'c2'.


==== tests/cases/compiler/commentsInheritance.ts (1 errors) ====
    /** i1 is interface with properties*/
    interface i1 {
        /** i1_p1*/
        i1_p1: number;
        /** i1_f1*/
        i1_f1(): void;
        /** i1_l1*/
        i1_l1: () => void;
        // il_nc_p1
        i1_nc_p1: number;
        i1_nc_f1(): void;
        i1_nc_l1: () => void;
        p1: number;
        f1(): void;
        l1: () => void;
        nc_p1: number;
        nc_f1(): void;
        nc_l1: () => void;
    }
    class c1 implements i1 {
        public i1_p1: number;
        // i1_f1
        public i1_f1() {
        }
        public i1_l1: () => void;
        public i1_nc_p1: number;
        public i1_nc_f1() {
        }
        public i1_nc_l1: () => void;
        /** c1_p1*/
        public p1: number;
        /** c1_f1*/
        public f1() {
        }
        /** c1_l1*/
        public l1: () => void;
        /** c1_nc_p1*/
        public nc_p1: number;
        /** c1_nc_f1*/
        public nc_f1() {
        }
        /** c1_nc_l1*/
        public nc_l1: () => void;
    }
    var i1_i: i1;
    var c1_i = new c1();
    // assign to interface
    i1_i = c1_i;
    class c2 {
        /** c2 c2_p1*/
        public c2_p1: number;
        /** c2 c2_f1*/
        public c2_f1() {
        }
        /** c2 c2_prop*/
        public get c2_prop() {
            return 10;
        }
        public c2_nc_p1: number;
        public c2_nc_f1() {
        }
        public get c2_nc_prop() {
            return 10;
        }
        /** c2 p1*/
        public p1: number;
        /** c2 f1*/
        public f1() {
        }
        /** c2 prop*/
        public get prop() {
            return 10;
        }
        public nc_p1: number;
        public nc_f1() {
        }
        public get nc_prop() {
            return 10;
        }
        /** c2 constructor*/
        constructor(a: number) {
            this.c2_p1 = a;
        }
    }
    class c3 extends c2 {
        constructor() {
            super(10);
            ~~~~~~~~~
!!! error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'c2'.
        }
        /** c3 p1*/
        public p1: number;
        /** c3 f1*/
        public f1() {
        }
        /** c3 prop*/
        public get prop() {
            return 10;
        }
        public nc_p1: number;
        public nc_f1() {
        }
        public get nc_prop() {
            return 10;
        }
    }
    var c2_i = new c2(10);
    var c3_i = new c3();
    // assign
    c2_i = c3_i;
    class c4 extends c2 {
    }
    var c4_i = new c4(10);
    interface i2 {
        /** i2_p1*/
        i2_p1: number;
        /** i2_f1*/
        i2_f1(): void;
        /** i2_l1*/
        i2_l1: () => void;
        // i2_nc_p1
        i2_nc_p1: number;
        i2_nc_f1(): void;
        i2_nc_l1: () => void;
        /** i2 p1*/
        p1: number;
        /** i2 f1*/
        f1(): void;
        /** i2 l1*/
        l1: () => void;
        nc_p1: number;
        nc_f1(): void;
        nc_l1: () => void;
    }
    interface i3 extends i2 {
        /** i3 p1 */
        p1: number;
        /**
        * i3 f1
        */
        f1(): void;
        /** i3 l1*/
        l1: () => void;
        nc_p1: number;
        nc_f1(): void;
        nc_l1: () => void;
    }
    var i2_i: i2;
    var i3_i: i3;
    // assign to interface
    i2_i = i3_i;
    