The type definition `type X Y` declares new type X with the underlying type of Y. X and Y share underlying types and nothing else.
This is a useful feature and there's nothing weird or special case about how this works. It's just not the aliasing feature you expected.
Re:I Want Off Mr. Golang's Wild Ride
by whateveracct on Friday February 28, 2020 @03:07PM
(#22445867)
It's still shitty and weird behavior. Not simple at all.
Proof that `type X Y` causes the issue: https://play.golang.org/p/erfcSIe-Z7b