Skip to content

update Project Zero#595

Open
lcnr wants to merge 1 commit intorust-lang:mainfrom
lcnr:project-zero
Open

update Project Zero#595
lcnr wants to merge 1 commit intorust-lang:mainfrom
lcnr:project-zero

Conversation

@lcnr
Copy link
Contributor

@lcnr lcnr commented Mar 13, 2026

### Will these fixes break my code?

They might, but only if your code was relying on unsound behaviorand you'll get advance warning. Soundness fixes land with future-compatibility warnings first, giving crate authors time to update before the old behavior is removed.
They might, but only if your code was relying on unsound behavior and you'll get advance warning in that case. Soundness fixes causing non-trivial breakage land with future-compatibility warnings first, giving crate authors time to update before the old behavior is removed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i was actually just about to open something about this wording. "but only if your code was relying on unsound behavior" seems dubious to promise.. We definitely would like for this to be the case but I would expect there to be soundness fixes which have additional fallout than crates which actually relied on unsoundnesses

* **Zero means zero.** Not "fewer bugs" or "the important ones." The goal is to fix every known soundness issue, however obscure.

* **Migrate, don't break.** Soundness fixes must use future-compatibility warnings to give the ecosystem time to adapt. Breakage is acceptable only where code was relying on unsound behavior, and even then the transition should be gradual.
* **Migrate, don't break.** Breakage is acceptable only where code was relying on unsound behavior, and even then the transition should be gradual. If it causes non-trivial breakage, fixes must use future-compatibility warnings to give the ecosystem time to adapt.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

similarly I don't think "acceptable only where code was relying on unsound behaviour" is necessarily true. I would expect assumptions on binders and checking wf of stuff under binders to have fallout which is not strictly "your code is unsound" and I would expect us to do a lot to try and minimize the breakage, but I don't think this is a hard rule

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: To Do

Development

Successfully merging this pull request may close these issues.

3 participants