Too dangerous for C++

2024-02-09  7 minute read

Some patterns are only made practical thanks to Rust's memory safety, and too dangerous to use in C++. Here's a concrete example.

A curiously recurring lifetime issue

2023-12-15  8 minute read

Naming is hard. After all, it is one of the two hard problems of computer science, with cache invalidation and off-by-one errors.

Mostly we would assume that poorly chosen type and variable names would merely make the code harder to read, but turns out they can lead to undefined behaviour, too. And no, I'm not talking about the reserved identifiers in C (I mean, who would use _Foo or __init__ as identifiers? Nonsense!), but rather something a bit more subtle.