Mon Aug 25 2025
When statements disappear, what remains of good semantics?
Let’s see what side effects have been introduced!
To start, observe this truly primordial ‘C code;
struct A {}; struct B {}; void example ( struct A e ); int main (){ example (( struct B){}); }
clang output:
error: passing 'struct B' to parameter of incompatible type 'struct A' example((struct B ){}); ^~~~~~~~~~~~
THE TYPES ARE UNIQUE. THEY HAVE DIFFERENT NAMES! THE ARE NOMINALLY DIFFERENT.
And such it is for all c structs…
But let’s move forward to a distant future far away… or rather close actually.
... continue reading