tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts(10,10): error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'.
  Type '"baz"' is not comparable to type '"foo"'.
tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts(12,10): error TS2678: Type '"bar"' is not comparable to type '"foo"'.
tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts(22,10): error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'.
  Type '"baz"' is not comparable to type '"foo"'.


==== tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts (3 errors) ====
    let x: "foo";
    let y: "foo" | "bar"; 
    let z: "bar";
    
    declare function randBool(): boolean;
    
    switch (x) {
        case randBool() ? "foo" : "baz":
            break;
        case (randBool() ? ("bar") : "baz" ? "bar" : "baz"):
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'.
!!! error TS2678:   Type '"baz"' is not comparable to type '"foo"'.
            break;
        case (("bar")):
             ~~~~~~~~~
!!! error TS2678: Type '"bar"' is not comparable to type '"foo"'.
            break;
        case (x, y, ("baz")):
            x;
            y;
            break;
        case (("foo" || ("bar"))):
            break;
        case (("bar" || ("baz"))):
            break;
        case z || "baz":
             ~~~~~~~~~~
!!! error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'.
!!! error TS2678:   Type '"baz"' is not comparable to type '"foo"'.
        case "baz" || z:
            z;
            break;
    }
    