-- in.cue --
issue570: {
    results: #DecodeOutput
    results: result: "hello"

    #Output: {
        result: _
    } | {
        error: string
    }

    #DecodeOutput: #Output & {
        result?: [... string]
        ...
    }
}

issue516: {
    #Def: {
        match: metrics: string: {}
    } | {}

    x: #Def
    x: match: metrics: "foo": {}
}

// issue #465
explicitDefaultError: {
    a: string | *_|_

    if a != "" {
    }
}

-- out/eval --
Errors:
issue516.x: 2 errors in empty disjunction:
issue516.x: field `match` not allowed:
    ./in.cue:20:9
    ./in.cue:22:8
    ./in.cue:23:8
issue516.x.match.metrics: field `foo` not allowed:
    ./in.cue:19:25
    ./in.cue:22:8
    ./in.cue:23:24
issue570.results: 2 errors in empty disjunction:
issue570.results: field `result` not allowed:
    ./in.cue:2:14
    ./in.cue:3:14
    ./in.cue:7:9
    ./in.cue:11:20
    ./in.cue:12:9
issue570.results.result: conflicting values "hello" and [...string] (mismatched types string and list):
    ./in.cue:2:14
    ./in.cue:3:22
    ./in.cue:12:18

Result:
(_|_){
  // [eval]
  issue570: (_|_){
    // [eval]
    results: (_|_){
      // [eval] issue570.results: 2 errors in empty disjunction:
      // issue570.results: field `result` not allowed:
      //     ./in.cue:2:14
      //     ./in.cue:3:14
      //     ./in.cue:7:9
      //     ./in.cue:11:20
      //     ./in.cue:12:9
      // issue570.results.result: conflicting values "hello" and [...string] (mismatched types string and list):
      //     ./in.cue:2:14
      //     ./in.cue:3:22
      //     ./in.cue:12:18
      result: (_|_){
        // [eval] issue570.results: field `result` not allowed:
        //     ./in.cue:2:14
        //     ./in.cue:3:14
        //     ./in.cue:7:9
        //     ./in.cue:11:20
        //     ./in.cue:12:9
      }
      error: (string){ string }
    }
    #Output: (struct){ |((#struct){
        result: (_){ _ }
      }, (#struct){
        error: (string){ string }
      }) }
    #DecodeOutput: (struct){ |((#struct){
        result: (list){
        }
      }, (#struct){
        error: (string){ string }
      }) }
  }
  issue516: (_|_){
    // [eval]
    #Def: (struct){ |((#struct){
        match: (#struct){
          metrics: (#struct){
            string: (#struct){
            }
          }
        }
      }, (#struct){
      }) }
    x: (_|_){
      // [eval] issue516.x: 2 errors in empty disjunction:
      // issue516.x: field `match` not allowed:
      //     ./in.cue:20:9
      //     ./in.cue:22:8
      //     ./in.cue:23:8
      // issue516.x.match.metrics: field `foo` not allowed:
      //     ./in.cue:19:25
      //     ./in.cue:22:8
      //     ./in.cue:23:24
      match: (_|_){
        // [eval] issue516.x: field `match` not allowed:
        //     ./in.cue:20:9
        //     ./in.cue:22:8
        //     ./in.cue:23:8
      }
    }
  }
  explicitDefaultError: (_|_){
    // [incomplete] explicitDefaultError: non-concrete value string in operand to !=:
    //     ./in.cue:30:8
    a: (string){ string }
  }
}
-- out/compile --
--- in.cue
{
  issue570: {
    results: 〈0;#DecodeOutput〉
    results: {
      result: "hello"
    }
    #Output: ({
      result: _
    }|{
      error: string
    })
    #DecodeOutput: (〈0;#Output〉 & {
      result?: [
        ...string,
      ]
      ...
    })
  }
  issue516: {
    #Def: ({
      match: {
        metrics: {
          string: {}
        }
      }
    }|{})
    x: 〈0;#Def〉
    x: {
      match: {
        metrics: {
          foo: {}
        }
      }
    }
  }
  explicitDefaultError: {
    a: (string|*_|_(explicit error (_|_ literal) in source))
    if (〈0;a〉 != "") {}
  }
}
