Ouch. Django (prior to 1.5) treated {% if True %} as looking up a variable called `True`, which is falsey because it's not present.
miniblog.
Related Posts
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.
I'm pretty impressed with Cursor: I've successfully asked it to perform codebase transforms in English, and it's worked!
E.g. "Replace all calls foo(..., true) with foo_immediate(...) define a foo_immediate function".
I'm still reading the diff and checking tests -- it's still AI after all.
Rust's editions make it much easier to change syntax over changing APIs. This is probably true in other languages too.
It's a really compelling argument for keeping your stdlib small when your language reaches 1.0.