News for hackers. Stuff that matters.
Re:When to use generics by staticassertion on Tuesday April 12, 2022 @09:25PM (#31010217)
> This means that a time.Time pointer has the same GCShape as an uint64, a bytes.Buffer and a strings.Builder.

> In the current implementation of Generics in 1.18, every runtime invocation of a generic function will transparently receive as its first argument a static dictionary with metadata about the arguments being passed to the function.

> That’s right, after the monomorphization step, the generated function shape needs to take as a runtime input the virtual method tables for all its generic arguments.

What an odd design. I'm curious to read the justification for this. I assume it's faster compile times.

Re:When to use generics by shp0ngle on Tuesday April 12, 2022 @09:59PM (#31010432)
Yeah, exactly that. Faster compile times.
Re:When to use generics by kgeist on Tuesday April 12, 2022 @11:37PM (#31010955)
And also smaller binaries. For comparison, our templates-heavy C++ project's binary is 1 GB in debug mode and 200 MB in release mode. It takes 10-20 seconds just to link.
Re:When to use generics by staticassertion on Wednesday April 13, 2022 @02:03AM (#31011648)
All of that gets removed though