tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts(2,1): error TS2454: Variable 'a' is used before being assigned.
tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts(6,1): error TS2454: Variable 'c' is used before being assigned.
tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts(10,1): error TS2454: Variable 'd' is used before being assigned.
tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts(13,1): error TS2454: Variable 'e' is used before being assigned.
tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts(16,1): error TS2454: Variable 'f' is used before being assigned.
tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts(19,1): error TS2454: Variable 'g' is used before being assigned.
tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts(24,1): error TS2454: Variable 'h' is used before being assigned.
tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts(28,1): error TS2454: Variable 'i' is used before being assigned.
tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts(32,1): error TS2454: Variable 'j' is used before being assigned.
tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts(36,1): error TS2454: Variable 'j' is used before being assigned.


==== tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts (10 errors) ====
    let a: () => void | undefined;
    a; // Error did you mean to paren this function type
    ~
!!! error TS2454: Variable 'a' is used before being assigned.
!!! related TS1360 tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts:1:8: Did you mean to parenthesize this function type?
    
    function b (): void | undefined {}
    let c: typeof b;
    c;
    ~
!!! error TS2454: Variable 'c' is used before being assigned.
    
    type Undefined = undefined
    let d: () => void | Undefined;
    d;
    ~
!!! error TS2454: Variable 'd' is used before being assigned.
    
    let e: () => string | void | number | object | undefined;
    e; // Error did you mean to paren...
    ~
!!! error TS2454: Variable 'e' is used before being assigned.
!!! related TS1360 tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts:12:8: Did you mean to parenthesize this function type?
    
    let f: () => void;
    f;
    ~
!!! error TS2454: Variable 'f' is used before being assigned.
    
    let g: () => undefined;
    g;
    ~
!!! error TS2454: Variable 'g' is used before being assigned.
    
    type T1 = undefined | string;
    type T2 = undefined | void;
    let h: () => T1 & T2;
    h;
    ~
!!! error TS2454: Variable 'h' is used before being assigned.
    
    type T3 = void | undefined;
    let i: () => T3;
    i;
    ~
!!! error TS2454: Variable 'i' is used before being assigned.
    
    type T4 = () => void | undefined;
    let j: T4;
    j; // Error did you mean to paren...
    ~
!!! error TS2454: Variable 'j' is used before being assigned.
!!! related TS1360 tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts:30:11: Did you mean to parenthesize this function type?
    
    type T5 = () => void
    let k: T5 | undefined
    j;
    ~
!!! error TS2454: Variable 'j' is used before being assigned.
!!! related TS1360 tests/cases/compiler/functionTypeReturnsUnionWithUndefinedWithStrictNullChecks.ts:30:11: Did you mean to parenthesize this function type?
    