| ▲ | kbolino an hour ago | |
This is a bit of a tangent, but Go generics aren't monomorphized. Each instantiation is "stenciled" down to its GC shape and then the differences among types with the same shape are handled using a "dictionary" which is kind of like Swift's witness tables or Go's own interface vtables. See this description for details: https://github.com/golang/proposal/blob/master/design/generi... The typical end result sits somewhere between monomorphization and type erasure in terms of generated code and runtime indirection. | ||