Hacker News new | past | comments | ask | show | jobs | submit login

> 1. Rust has very strong stability guarantees. If you want to you can continue coding like it's Rust 1.0 even on the latest compiler.

There have been at least two cases where Firefox build broke due to having a too recent version of Rust installed. The stability guarantees may be fairly strong but it's definitely not perfect.




Sorry, I didn't mean to imply it's bug-for-bug compatible with Rust 1.0. The language however is the same.


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.


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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: