error TS5107: Option 'target=ES5' is deprecated and will stop functioning in TypeScript 7.0. Specify compilerOption '"ignoreDeprecations": "6.0"' to silence this error.
localTypes1.ts(6,9): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(23,13): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(43,17): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(55,17): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(74,13): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(83,13): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(95,13): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(103,13): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(112,13): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(120,9): error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(124,13): error TS2564: Property 'b' has no initializer and is not definitely assigned in the constructor.
localTypes1.ts(128,17): error TS2564: Property 'c' has no initializer and is not definitely assigned in the constructor.


!!! error TS5107: Option 'target=ES5' is deprecated and will stop functioning in TypeScript 7.0. Specify compilerOption '"ignoreDeprecations": "6.0"' to silence this error.
==== localTypes1.ts (12 errors) ====
    function f1() {
        enum E {
            A, B, C
        }
        class C {
            x: E;
            ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
        }
        interface I {
            x: E;
        }
        type A = I[];
        let a: A = [new C()];
        a[0].x = E.B;
        return a;
    }
    
    function f2() {
        function g() {
            enum E {
                A, B, C
            }
            class C {
                x: E;
                ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
            }
            interface I {
                x: E;
            }
            type A = I[];
            let a: A = [new C()];
            a[0].x = E.B;
            return a;
        }
        return g();
    }
    
    function f3(b: boolean) {
        if (true) {
            enum E {
                A, B, C
            }
            if (b) {
                class C {
                    x: E;
                    ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
                }
                interface I {
                    x: E;
                }
                type A = I[];
                let a: A = [new C()];
                a[0].x = E.B;
                return a;
            }
            else {
                class A {
                    x: E;
                    ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
                }
                interface J {
                    x: E;
                }
                type C = J[];
                let c: C = [new A()];
                c[0].x = E.B;
                return c;
            }
        }
    }
    
    function f5() {
        var z1 = function () {
            enum E {
                A, B, C
            }
            class C {
                x: E;
                ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
            }
            return new C();
        }
        var z2 = () => {
            enum E {
                A, B, C
            }
            class C {
                x: E;
                ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
            }
            return new C();
        }
    }
    
    class A {
        constructor() {
            enum E {
                A, B, C
            }
            class C {
                x: E;
                ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
            }
        }
        m() {
            enum E {
                A, B, C
            }
            class C {
                x: E;
                ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
            }
            return new C();
        }
        get p() {
            enum E {
                A, B, C
            }
            class C {
                x: E;
                ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
            }
            return new C();
        }
    }
    
    function f6() {
        class A {
            a: string;
            ~
!!! error TS2564: Property 'a' has no initializer and is not definitely assigned in the constructor.
        }
        function g() {
            class B extends A {
                b: string;
                ~
!!! error TS2564: Property 'b' has no initializer and is not definitely assigned in the constructor.
            }
            function h() {
                class C extends B {
                    c: string;
                    ~
!!! error TS2564: Property 'c' has no initializer and is not definitely assigned in the constructor.
                }
                var x = new C();
                x.a = "a";
                x.b = "b";
                x.c = "c";
                return x;
            }
            return h();
        }
        return g();
    }
    