This caused cargo to install different minor versions than it would have a year ago despite a lock file being present.
These minor version updates were relying on newer rust version features and then failed to build on the old version of the rust compiler I was using.
Updating rust made the build work again, but now with additional warnings (where the code I was compiling did shady things which old rust wouldn’t detect but new one did), but it did finally produce a usable binary.
Still, I was a bit miffed by cargos behavior of ignoring minor versions locks in the lock file and installing later versions than what was locked.
What good is a package lock file if it isn’t respected?