-- in.cue --
a: "\(4)"    @test(eq, "4")
b: "one \(a) two \( a+c )" @test(eq, "one 4 two 4one")
c: "one"     @test(eq, "one")
d: "\(r)"    @test(err, code=incomplete, contains="invalid interpolation: non-concrete value _", pos=[0:4], hint="position of r itself would be nice")
u: "\(_)"    @test(err, code=incomplete|eval, contains="invalid interpolation: non-concrete value _", pos=[0:4, 0:7]) @test(err:todo, code=eval) // literal _ can never resolve.
r: _
e: "\([])"   @test(err, code=eval, contains="invalid interpolation: cannot use [] (type list)", pos=[0:4, 0:7])
-- out/errors.txt --
[incomplete] d: invalid interpolation: non-concrete value _ (type _):
    ./in.cue:4:4
[incomplete] u: invalid interpolation: non-concrete value _ (type _):
    ./in.cue:5:4
    ./in.cue:5:7
[eval] e: invalid interpolation: cannot use [] (type list) as type (bool|string|bytes|number):
    ./in.cue:7:4
    ./in.cue:7:7
-- out/eval/stats --
Leaks:  0
Freed:  9
Reused: 0
Allocs: 9
Retain: 0

Unifications: 9
Conjuncts:    9
Disjuncts:    0
