Skip to content

Commit e9afca3

Browse files
committed
hint in error if method only exists on pointer type (fixes #60)
1 parent 356ebd9 commit e9afca3

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

internal/exec/exec.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,11 @@ func (b *execBuilder) makeObjectExec(typeName string, fields map[string]*schema.
212212
for name, f := range fields {
213213
methodIndex := findMethod(resolverType, name)
214214
if methodIndex == -1 {
215-
return nil, fmt.Errorf("%s does not resolve %q: missing method for field %q", resolverType, typeName, name)
215+
hint := ""
216+
if findMethod(reflect.PtrTo(resolverType), name) != -1 {
217+
hint = " (hint: the method exists on the pointer type)"
218+
}
219+
return nil, fmt.Errorf("%s does not resolve %q: missing method for field %q%s", resolverType, typeName, name, hint)
216220
}
217221

218222
m := resolverType.Method(methodIndex)

0 commit comments

Comments
 (0)