Brilliant blog post on debugging code gen bugs in VC++:
miniblog.
Related Posts
Today in cursed C code:
void foo(int32_t int32_t, int32_t bar);
Since C puts identifiers and typedefs in the same namespace, this code just produces a confusing compile error about the type of bar!
(This occurred in some real code after macro expansion.)
I asked Hermes Agent to change how it set thread titles, and it patched its own source code!
Self modifying code is hard to reason about even in a deterministic environment. I'd already limited Hermes access to the todoist API and web search out of an abundance of caution.
Language design question: what type should `while True {}` have?
Bottom: It doesn't contain any `break` statements.
Unit: Treat loops with/without `break` consistently.
I already have lints that warn on unreachable code after diverging loops, so the Unit case feels surprising.