error TS-1: Pre-emit (5) and post-emit (6) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here!
initializerReferencingConstructorParameters.ts(4,9): error TS2301: Initializer of instance member variable 'a' cannot reference identifier 'x' declared in the constructor.
initializerReferencingConstructorParameters.ts(5,15): error TS2844: Type of instance member variable 'b' cannot reference identifier 'x' declared in the constructor.
initializerReferencingConstructorParameters.ts(10,9): error TS2663: Cannot find name 'x'. Did you mean the instance member 'this.x'?
initializerReferencingConstructorParameters.ts(11,15): error TS2844: Type of instance member variable 'b' cannot reference identifier 'x' declared in the constructor.
initializerReferencingConstructorParameters.ts(23,9): error TS2663: Cannot find name 'x'. Did you mean the instance member 'this.x'?


!!! error TS-1: Pre-emit (5) and post-emit (6) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here!
!!! related TS-1: The excess diagnostics are:
!!! related TS2304 initializerReferencingConstructorParameters.ts:17:15: Cannot find name 'this'.
==== initializerReferencingConstructorParameters.ts (5 errors) ====
    // Initializer expressions for instance member variables are evaluated in the scope of the class constructor body but are not permitted to reference parameters or local variables of the constructor. 
    
    class C {
        a = x; // error
            ~
!!! error TS2301: Initializer of instance member variable 'a' cannot reference identifier 'x' declared in the constructor.
        b: typeof x; // error
                  ~
!!! error TS2844: Type of instance member variable 'b' cannot reference identifier 'x' declared in the constructor.
        constructor(x) { }
    }
    
    class D {
        a = x; // error
            ~
!!! error TS2663: Cannot find name 'x'. Did you mean the instance member 'this.x'?
        b: typeof x; // error
                  ~
!!! error TS2844: Type of instance member variable 'b' cannot reference identifier 'x' declared in the constructor.
        constructor(public x) { }
    }
    
    class E {
        a = this.x; // ok
        b: typeof this.x; // ok
        constructor(public x) { }
    }
    
    class F<T> {
        a = this.x; // ok
        b = x; // error
            ~
!!! error TS2663: Cannot find name 'x'. Did you mean the instance member 'this.x'?
        constructor(public x: T) { }
    }