A screenshot showing the contents of a Godbolt snippet (https://godbolt.org/z/Gd4j6nnv3): #define pair(T, U) struct pair_##T##_##U { T first; U second; } pair(int, float) do_thing(int a, bool b) { return (pair(int, float)){a * 2, b ? 1.0f : 2.0f }; } #include <stdio.h> int main () { auto result = do_thing(50, false); printf("%zu-byte sized struct: { %d, %f }", sizeof(result), result.first, result.second); }
https://cdn.pony.social/media_attachments/files/111/718/771/363/092/879/original/89d79dd54d5f3c6e.jpg