I think you're right that (assuming x isn't a pointer type), the following 
would tell the compiler that 'String() string' is a value method of T.

contract stringer(x T) {
    var _ string = T.String(x)
}

However, in the following case:

contract stringerp(x T) {
    var _ string = (*T).String(&x)
}

I don't think it wouldn't necessarily follow that 'String() string' was a 
pointer method because a value method could still be called with exactly 
the same syntax. 

Finally, I think you're also right that this:

contract stringerField(x T) {
    unsafe.Offsetof(x.String)
    var _ string = x.String()
}

would tell the compiler that T is a struct with a field called String of 
function type 'func() string'.

Alan

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to