# Test of -whylive with reflective call
# (regression test for golang/go#67915).
# The live function is reached via reflection:
deadcode example.com
want "unreachable func: dead"
!want "unreachable func: live"
# Reflective calls have Edge.Site=nil, which formerly led to a crash
# when -whylive would compute its position. Now it has NoPos.
deadcode -whylive=example.com.live example.com
want " example.com.main"
want " static@L0006 --> reflect.Value.Call"
want "dynamic@L0000 --> example.com.live"
-- go.mod --
module example.com
go 1.18
-- main.go --
package main
import "reflect"
func main() {
reflect.ValueOf(live).Call(nil)
}
func live() {
println("hello")
}
func dead() {
println("goodbye")
}