Yes, V is a named type. The name of V is uint64, which is a predeclared identifier.
On Wed, Jul 5, 2017 at 9:54 AM, Darren Hoo <darren....@gmail.com> wrote: > Thank you all! > > But I still don't quite understand why the rule does not apply to the > first case? > > var a2 u = a1 > > x ---> a1 > T ---> u > V ---> uint64 > > V and T has the identical underlying types (ie, uint64) and V is not a > named type (literal) . > > which part did I misunderstand? > > > On Wednesday, July 5, 2017 at 3:26:13 PM UTC+8, Jan Mercl wrote: >> >> On Wed, Jul 5, 2017 at 9:17 AM Darren Hoo <darre...@gmail.com> wrote: >> >> > f1's type is func(int), and f2's type is main.f, they are different >> types, does implicit conversion happen here? >> >> It's not a conversion. The rule is about assignability >> <https://golang.org/ref/spec#Assignability>: "x's type V and T have >> identical underlying types <https://golang.org/ref/spec#Types> and at >> least one of V or T is not a named type >> <https://golang.org/ref/spec#Types>." >> >> -- >> >> -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. > -- 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.