Compiler and programming language engineer. Contributor to LLVM, Clang, Swift, Move, and Mojo. He/Him.

New York, USA
Joined September 2010
Brian Gesiak retweeted
One of my hot takes these days is that, if I made my own language, I don't think I would allow identifiers to be shadowed. In C in particular, it seems to enable some very strange semantics.
C is wild. Both GCC and Clang will tell you that you can't assign to 'struct s *' with a value of type 'struct s *'. What the messages don't convey is that the tag 's' refers to a different struct type based on the scopes of 'p' and 'v'. 1/
1
1
3