On Wed, Oct 25, 2017 at 11:02 AM, Lutz Horn <lutz.h...@posteo.de> wrote:

> This prints "foo=2" which surprised me because I was unaware that T1
>> had got another foo via T3 (with less composition depth).
>>
>> If I put T4 directly into T1, Go would detect the ambiguity of t1.foo
>> (because the composition depth is the same).
>>
>
> There is no ambiguity because `T4.foo` is not promoted to a field of `T1`.


Yes, it is
https://play.golang.org/p/hm3OpPBsex

`T4.foo` *is* a promoted field of `T2` but promotion is not transitive.
>
> see https://play.golang.org/p/GFgJGTSGGd
>
> Read about this on:
>
> *  https://golang.org/ref/spec#Struct_types
> * https://golang.org/ref/spec#Selectors
>
> Lutz
>
>
> --
> 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.
>

-- 
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