Hacker News new | ask | show | jobs
by edflsafoiewq 1919 days ago
I know this one hit quite a few people: https://github.com/rust-windowing/winit/issues/1773. Compiles on new rustc but panics at runtime. API churn also made upgrading to a new winit painful.
1 comments

Use of uninitialized memory is Undefined Behavior. So in a sense, that code never worked properly, but authors didn't know about it until Rust caught it explicitly.
Any observable behavior will be depended upon. A breaking change is a breaking change no matter what.

Of course it's good that they fixed the UB.

It's undefined behavior. Anything can happen, by definition.

I understand what you're saying, but anyone who knowingly relies on undefined behavior deserves whatever pain they get, and anyone who didn't know they were relying on undefined behavior, needed to know about it.