six thoughts on generating c ~~ https://wingolog.org/archives/2026/02/09/six-thoughts-on-generating-c
@wingo and let me second "wrap stuff with intent": if you have
struct A { int id; } *a;
struct B { int id; } *b;
the compiler can disambiguate a->id vs. b->id
static inline does not guarantee the arguments don’t hit memory. inline means “available to inline” rather than “must inline”, even with static. It usually works out as long as you compile with optimizations on! It’s safer than macros in so many other ways! But it’s not a guarantee.