# DO NOT EDIT; generated by go run testdata/gen.go
#
raw: true
eval: true
-- in.cue --
{
	#Foo: {
		sgl:  #Bar
		ref:  null | #Foo
		ext:  #Bar | null
		ref:  null | #Foo
		ref2: null | #Foo.sgl
		...
	}
	#Foo: {
		"#Foo": 2
		...
	}
	#Bar: string
}
-- out/def --
#Foo: {
	"#Foo": 2
	sgl:    #Bar
	ref:    (null | #Foo) & (null | #Foo)
	ext:    #Bar | null
	ref2:   null | #Foo.sgl
	...
}
#Bar: string
-- out/export --

-- out/yaml --
{}
-- out/json --
{}
-- out/compile --
--- in.cue
{
  {
    #Foo: {
      sgl: 〈1;#Bar〉
      ref: (null|〈1;#Foo〉)
      ext: (〈1;#Bar〉|null)
      ref: (null|〈1;#Foo〉)
      ref2: (null|〈1;#Foo〉.sgl)
      ...
    }
    #Foo: {
      "#Foo": 2
      ...
    }
    #Bar: string
  }
}
-- out/eval --
(struct){
  #Foo: (#struct){
    sgl: (string){ string }
    ref: ((null|struct)){ |((null){ null }, (#struct){
        sgl: (string){ string }
        ref: (null){ null }
        ext: ((null|string)){ |((string){ string }, (null){ null }) }
        ref2: ((null|string)){ |((null){ null }, (string){ string }) }
        "#Foo": (int){ 2 }
      }) }
    ext: ((null|string)){ |((string){ string }, (null){ null }) }
    ref2: ((null|string)){ |((null){ null }, (string){ string }) }
    "#Foo": (int){ 2 }
  }
  #Bar: (string){ string }
}
