package fixture // Not compiled. send's parameter reaches a sink. A direct call passes a // sentence, but a call through a function value passes an error's text and // escapes the argument checks. func send(w int, msg string) { jsonError(w, 400, msg) } func direct(w int) { send(w, "invalid region") } func indirect(w int, err error) { f := send f(w, err.Error()) } type server struct{} func (s server) report(w int, msg string) { jsonError(w, 400, msg) } func methodValue(w int, s server, err error) { g := s.report g(w, err.Error()) }