-- in.cue --
a: {
    let X = Y
    let Y = c

    b: X
    c: 5
}

b: {
    let X = Y
    let Y = X

    b: X
    c: 5
}

fieldOffset: {
    a: {
        p1: {
            let X = { value: Y }
            let Y = 2
            x: X
        }
        p2: {
            x: X
            let Y = 2
            let X = { value: Y }
        }
    }
    b:  {
        p1: {
            let X = { x: y: Y }
            let Y = 2
            x: X
        }
        p2: {
            x: X
            let Y = 2
            let X = { x: y: Y }
        }
    }
}

issue767: {
    #Foo: {
      let _#bar = {
            value: ""
      }
      let _#volmnts = {
            x: _#baz.value
      }
      let _#baz = {
        _#bar
      }
      out: _#volmnts
    }
}
-- out/compile --
--- in.cue
{
  a: {
    b: 〈0;let X〉
    c: 5
  }
  b: {
    b: 〈0;let X〉
    c: 5
  }
  fieldOffset: {
    a: {
      p1: {
        x: 〈0;let X〉
      }
      p2: {
        x: 〈0;let X〉
      }
    }
    b: {
      p1: {
        x: 〈0;let X〉
      }
      p2: {
        x: 〈0;let X〉
      }
    }
  }
  issue767: {
    #Foo: {
      out: 〈0;let _#volmnts〉
    }
  }
}
-- out/eval --
Errors:
b.let[]: cyclic references in let clause or alias:
    ./in.cue:10:13

Result:
(_|_){
  // [eval]
  a: (struct){
    b: (int){ 5 }
    c: (int){ 5 }
  }
  b: (_|_){
    // [eval]
    b: (_|_){
      // [eval] b.let[]: cyclic references in let clause or alias:
      //     ./in.cue:10:13
    }
    c: (int){ 5 }
  }
  fieldOffset: (struct){
    a: (struct){
      p1: (struct){
        x: (struct){
          value: (int){ 2 }
        }
      }
      p2: (struct){
        x: (struct){
          value: (int){ 2 }
        }
      }
    }
    b: (struct){
      p1: (struct){
        x: (struct){
          x: (struct){
            y: (int){ 2 }
          }
        }
      }
      p2: (struct){
        x: (struct){
          x: (struct){
            y: (int){ 2 }
          }
        }
      }
    }
  }
  issue767: (struct){
    #Foo: (#struct){
      out: (#struct){
        x: (string){ "" }
      }
    }
  }
}
