Tests of various n-ary result function cases.
-- go.mod --
module testdata
go 1.12
-- a/a.go --
package a
func _() {
println(f1()) //@ inline(re"f1", f1)
}
func f1() (int, int) { return 1, 1 }
-- f1 --
package a
func _() {
println(1, 1) //@ inline(re"f1", f1)
}
func f1() (int, int) { return 1, 1 }
-- b/b.go --
package b
func _() {
f2() //@ inline(re"f2", f2)
}
func f2() (int, int) { return 2, 2 }
-- f2 --
package b
func _() {
_, _ = 2, 2 //@ inline(re"f2", f2)
}
func f2() (int, int) { return 2, 2 }
-- c/c.go --
package c
func _() {
_, _ = f3() //@ inline(re"f3", f3)
}
func f3() (int, int) { return f3A() }
func f3A() (x, y int)
-- f3 --
package c
func _() {
_, _ = f3A() //@ inline(re"f3", f3)
}
func f3() (int, int) { return f3A() }
func f3A() (x, y int)
-- d/d.go --
package d
func _() {
println(-f4()) //@ inline(re"f4", f4)
}
func f4() int { return 2 + 2 }
-- f4 --
package d
func _() {
println(-(2 + 2)) //@ inline(re"f4", f4)
}
func f4() int { return 2 + 2 }