TL;DR you can go-get go_generics - no Bazel needed

go_generics [1] is a tool that was first observed few months back with the 
release of gVisor. It allows for generating code from template while still 
working with standard Go code. It's a great improvement over working with 
Go templates but nothing like C++ templates.

We used it at Scylla to create go-set [2] a replacement for fatih/set [3] 
package. This approach allows for working with plain types instead of 
interface{} thus eliminating "escape to heap" problem and improving 
performance x10 in some cases.

The reason to fork it was a messy build process with Bazel. To streamline 
things for go-set [2] we fixed that so you can now just go-get the tool. 
The tool is universal and can be a good fit in almost any project.






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 
For more options, visit

Reply via email to