if name == "init" {
obj.parent = pkg.scope
check.recordDef(s.Name, obj)
- // init functions must have a body
if s.Body == nil {
- // TODO(gri) make this error message consistent with the others above
- check.softErrorf(obj.pos, MissingInitBody, "missing function body")
+ check.softErrorf(obj.pos, MissingInitBody, "func init must have a body")
}
} else {
check.declare(pkg.scope, s.Name, obj, nopos)
testenv.MustHaveSource(t)
pkg, err := importer.ImportFrom("go/internal/srcimporter/testdata/issue20855", ".", 0)
- if err == nil || !strings.Contains(err.Error(), "missing function body") {
+ if err == nil || !strings.Contains(err.Error(), "func init must have a body") {
t.Fatalf("got unexpected or no error: %v", err)
}
if pkg == nil {
package issue20855
-func init() // "missing function body" is a soft error
+func init() // "func init must have a body" is a soft error
// don't declare init functions in the package scope - they are invisible
obj.parent = pkg.scope
check.recordDef(d.decl.Name, obj)
- // init functions must have a body
if d.decl.Body == nil {
- // TODO(gri) make this error message consistent with the others above
- check.softErrorf(obj, MissingInitBody, "missing function body")
+ check.softErrorf(obj, MissingInitBody, "func init must have a body")
}
} else {
check.declare(pkg.scope, d.decl.Name, obj, nopos)
var _, init /* ERROR "cannot declare init" */ int
func init() {}
-func init /* ERROR "missing function body" */ ()
+func init /* ERROR "func init must have a body" */ ()
func _() { const init = 0 }
func _() { type init int }
package p
-func init() // ERROR "missing function body|cannot declare init"
+func init() // ERROR "func init must have a body|cannot declare init"