I consider foo.bar and f.b to be of the same length, as in length of a
list, 2 in this case, not length of a string. But I failed to be clear
about it.

On Sun, Nov 5, 2017, 17:38 Daniel Skinner <dan...@dasa.cc> wrote:

> > I don't know when the shallowest depth can occur while not being on
> shortest path
>
> I know the feeling if we're generally talking about data structures and
> algorithms, but with regards to language spec, the only mental reference I
> have for "path" is for "import paths" of which the actual name is
> important. Searching the spec for "path" in fact only turns up references
> to import path.
>
> So on sight, I assumed "shortest path" meant changing `Texture` to `Tex`
> would affect resolution, which I also knew to be incorrect. It's my own
> failing but thanks for pointing me in the right direction as I was at a
> loss for where to even start as the visual cue of `type  A B` vs `type A
> struct {B}` didn't register wrt the desired error for me.
>
> On Sun, Nov 5, 2017 at 10:09 AM Jan Mercl <0xj...@gmail.com> wrote:
>
>> I don't know when the shallowest depth can occur while not being on
>> shortest path.  Note that path was used in this discussion as meaning full,
>> unpromoted path, ie. like if every embedded field of type T was declared T
>> T instead. The actual selector expression is a prefix of this full path.
>>
>> On Sun, Nov 5, 2017, 16:59 Daniel Skinner <dan...@dasa.cc> wrote:
>>
>>> The spec uses "shallowest depth", not "shortest path", as I assume
>>> saying "path" would imply the given names in a selector expression
>>> determine ambiguity when they do not.
>>>
>>> "shallowest depth" makes the error more clear in my sample where if this:
>>>
>>> type Uniform GLUniform
>>>
>>> is changed to this:
>>>
>>> type Uniform struct {
>>>     GLUniform
>>> }
>>>
>>> access to the Value fields would now exist at the same depth and produce
>>> the error I was expecting to see.
>>>
>>> https://golang.org/ref/spec#Selectors
>>>
>>> On Fri, Nov 3, 2017 at 5:38 PM Daniel Skinner <dan...@dasa.cc> wrote:
>>>
>>>> Right, I've misunderstood why this error is thrown, as in what defines
>>>> ambiguity. Text search of spec for "ambig" only yields results for
>>>> composite literals and avoiding ambiguity in conversions while "shortest"
>>>> yields no results and the only recollection of "shortest path wins" phrase
>>>> I have is back when vendor directory was introduced.
>>>>
>>>> On Fri, Nov 3, 2017 at 5:11 PM Jan Mercl <0xj...@gmail.com> wrote:
>>>>
>>>>>
>>>>> On Fri, Nov 3, 2017 at 11:04 PM Daniel Skinner <dan...@dasa.cc> wrote:
>>>>>
>>>>> > https://play.golang.org/p/Y1UxMgNhWx
>>>>> >
>>>>> > I ran into this today but don't understand why the compiler isn't
>>>>> throwing an ambiguous reference error. Maybe I've misunderstood why this
>>>>> error is thrown the few times I've seen it.
>>>>>
>>>>> No ambiguity here. One of the Value(s) is
>>>>> sample.Texture.GLTexture.Value and the other one is sample.Uniform.Value
>>>>> and the specs say the shortest path wins.
>>>>>
>>>>> --
>>>>>
>>>>> -j
>>>>>
>>>> --
>>
>> -j
>>
> --

-j

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