tests/cases/conformance/expressions/identifiers/scopeResolutionIdentifiers.ts(24,14): error TS2729: Property 's' is used before its initialization.


==== tests/cases/conformance/expressions/identifiers/scopeResolutionIdentifiers.ts (1 errors) ====
    // EveryType used in a nested scope of a different EveryType with the same name, type of the identifier is the one defined in the inner scope
    
    var s: string;
    module M1 {
        export var s: number;
        var n = s;
        var n: number;
    }
    
    module M2 {
        var s: number;
        var n = s;
        var n: number;
    }
    
    function fn() {
        var s: boolean;
        var n = s;
        var n: boolean;
    }
    
    class C {
        s: Date;
        n = this.s;
                 ~
!!! error TS2729: Property 's' is used before its initialization.
!!! related TS2728 tests/cases/conformance/expressions/identifiers/scopeResolutionIdentifiers.ts:23:5: 's' is declared here.
        x() {
            var p = this.n;
            var p: Date;
        }
    }
    
    module M3 {
        var s: any;
        module M4 {
            var n = s;
            var n: any;
        }
    }
    