package fixture // Not compiled. The inner m shadows the parameter m, whose type has a method // that returns a recorded sentence. The inner m's type is another package's, // and its Message may return anything. type local struct{} func (local) Message() string { return "a recorded sentence" } func viaShadow(w int, m local, supplied external) { if m := supplied; m != nil { jsonError(w, 400, m.Message()) } } func direct(w int, m local) { jsonError(w, 400, m.Message()) }