/src/app.ts(6,5): error TS2454: Variable 'y' is used before being assigned.
/src/library-a/index.ts(1,32): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.


==== /src/app.ts (1 errors) ====
    import { MyClass } from "./library-a";
    import { MyClass2 } from "./library-b";
    
    let x: MyClass;
    let y: MyClass2;
    x = y;
        ~
!!! error TS2454: Variable 'y' is used before being assigned.
    y = x;
    
    /*
    # To reproduce in a real project:
    
    mkdir src; cd src
    mkdir library-a
    echo 'export class MyClass { private x: number; }' > library-a/index.ts
    
    mkdir library-b; cd library-b
    echo 'import {MyClass} from "library-a"; export { MyClass as MyClass2 }' > index.ts
    mkdir node_modules; cd node_modules
    
    ln -s ../../library-a library-a # Linux
    # Windows: open command prompt as administrator and run: mklink /D library-a ..\..\library-a
    
    cd ../.. # back to src
    echo 'import { MyClass } from "./library-a"; import { MyClass2 } from "./library-b"; let x: MyClass; let y: MyClass2; x = y; y = x;' > app.ts
    tsc app.ts # Should write to library-a/index.js, library-b/index.js, and app.js
    */
    
==== /src/library-a/index.ts (1 errors) ====
    export class MyClass { private x: number; }
                                   ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
    
==== /src/library-b/index.ts (0 errors) ====
    import {MyClass} from "library-a";
    export { MyClass as MyClass2 }
    