typeGuardsInDoStatement.ts(6,9): error TS2322: Type 'undefined' is not assignable to type 'string | number | boolean'.
typeGuardsInDoStatement.ts(15,9): error TS2322: Type 'undefined' is not assignable to type 'string | number | boolean'.
typeGuardsInDoStatement.ts(24,9): error TS2322: Type 'undefined' is not assignable to type 'string | number'.


==== typeGuardsInDoStatement.ts (3 errors) ====
    let cond: boolean;
    function a(x: string | number | boolean) {
        x = true;
        do {
            x; // boolean | string
            x = undefined;
            ~
!!! error TS2322: Type 'undefined' is not assignable to type 'string | number | boolean'.
        } while (typeof x === "string")
        x; // number | boolean
    }
    function b(x: string | number | boolean) {
        x = true;
        do {
            x; // boolean | string
            if (cond) continue;
            x = undefined;
            ~
!!! error TS2322: Type 'undefined' is not assignable to type 'string | number | boolean'.
        } while (typeof x === "string")
        x; // number | boolean
    }
    function c(x: string | number) {
        x = "";
        do {
            x; // string
            if (cond) break;
            x = undefined;
            ~
!!! error TS2322: Type 'undefined' is not assignable to type 'string | number'.
        } while (typeof x === "string")
        x; // string | number
    }
    