error TS-1: Pre-emit (8) 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!
noUnusedLocals_selfReference.ts(3,10): error TS6133: 'f' is declared but its value is never read.
noUnusedLocals_selfReference.ts(5,14): error TS6133: 'g' is declared but its value is never read.
noUnusedLocals_selfReference.ts(9,7): error TS6196: 'C' is declared but never used.
noUnusedLocals_selfReference.ts(13,11): error TS6196: 'I' is declared but never used.
noUnusedLocals_selfReference.ts(14,6): error TS6196: 'T' is declared but never used.
noUnusedLocals_selfReference.ts(22,19): error TS6133: 'm' is declared but its value is never read.


!!! error TS-1: Pre-emit (8) 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 TS6196 noUnusedLocals_selfReference.ts:12:6: 'E' is declared but never used.
!!! related TS6133 noUnusedLocals_selfReference.ts:15:11: 'N' is declared but its value is never read.
==== noUnusedLocals_selfReference.ts (6 errors) ====
    export {}; // Make this a module scope, so these are local variables.
    
    function f() {
             ~
!!! error TS6133: 'f' is declared but its value is never read.
        f;
        function g() {
                 ~
!!! error TS6133: 'g' is declared but its value is never read.
            g;
        }
    }
    class C {
          ~
!!! error TS6196: 'C' is declared but never used.
        m() { C; }
    }
    enum E { A = 0, B = E.A }
    interface I { x: I };
              ~
!!! error TS6196: 'I' is declared but never used.
    type T = { x: T };
         ~
!!! error TS6196: 'T' is declared but never used.
    namespace N { N; }
    
    // Avoid a false positive.
    // Previously `T` was considered unused due to merging with the property,
    // back when all non-blocks were checked for recursion.
    export interface A<T> { T: T }
    
    class P { private m() { this.m; } }
                      ~
!!! error TS6133: 'm' is declared but its value is never read.
    P;
    
    // Does not detect mutual recursion.
    function g() { D; }
    class D { m() { g; } }
    