-
Notifications
You must be signed in to change notification settings - Fork 300
Add an Inside Rust blog post for bootstrap sequence redesign #1582
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
Yes, the path key is required. The format has to be "YYYY/MM/DD/whatever-you-want". I'll try to improve the templates so they produce better error messages in this case. |
Oh if it's an inside-rust post, that should be in the path as well. So: "inside-rust/YYYY/MM/DD/whatever". If the date of publication is not yet known, it's recommended to use the placeholder "9999/12/31" as the date, CI will prevent that from being published accidentally. I can definitely improve docs/guidance/tooling/error msgs here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work!
Just two suggestions in addition to my minor notes:
-
It'd be helpful to mention the implementation PR.
-
Consider showing the staging diagram to illustrate how things looked before and how they look now (the updated version is in the implementation PR).
I have no idea how I didn't include that when I even remember telling myself not to forget that lmao |
c8bc2d5
to
222f4fe
Compare
Changes since last review (in round 2 222f4fe):
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some random thoughts.
In general I feel like this post doesn't do too much to explain why the new system is a clearer/simpler mental model. And I think that does a bit of a disservice to all of the (great) explanation of what that actually means in terms of changes to building the compiler/library.
It's almost like the post frames this as an arbitrary change in what depends on what because it just so happens to make std's life simpler. When, as far as I can tell, the new system is just generally more coherent and how you would expect things to work.
E.g. generally when a rust crate is built by compiler X
it also depends on the standard library built and shipped with/by X
. With the previous bootstrapping setup the compiler was actually depending on some weird frankenstein std that was built by the beta compiler but wasn't shipped with it.
Similarly the inconsistency between "build the stage0 compiler" and "build the stage0 std library" was weird and has now been resolved (stage0 compiler is beta compiler, stage0 library was a weird frankenstein std but is now the beta std), but doesn't really seem to be mentioned anywhere in this post.
I think it would be a lot easier to understand what has changed if the post started with the motivation and talked about the shift in mental model to something that's generally more coherent. It's hard to fully understand what has changed without talking about how the change fits in with the wider "heres how things normally work".
Generally that's what my review comments are trying to get at I think 🤔 Small changes that would help build the right mental model for readers- but realistically it should probably be all together in one upfront paragraph for the motivation.
55c9200
to
8a3af91
Compare
I tried to do another iteration of the blog post, the motivation bits I find is still not very convincing but idk how to make it so. Significant changes:
Known deficiencies:
Suggestions / feedback welcomed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is really good work. thanks for writing it up, i can tell you spent a lot of time on it.
eb9b334
to
9641bc3
Compare
Addressed feedback in (round 5):
|
25a67cd
to
614ff6f
Compare
Tried to address some more feedback in (round 6). |
57c1c18
to
355976a
Compare
Addressed review feedback (round 8). |
6a5e3c1
to
7a43aa8
Compare
Co-authored-by: jyn <[email protected]> Co-authored-by: Noratrieb <[email protected]> Co-authored-by: Mark Rousskov <[email protected]>
7a43aa8
to
8564c2a
Compare
I updated the blog post date to be tomorrow (2025-05-29). Let me know if there are blocking concerns or need to delay the blog post for whatever reason. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you for working on this!
Ok, I resolved two outstanding comments that AFAICT are not blocking. |
Accompanying blog post for bootstrap sequence redesign: rust-lang/rust#119899
r? @onur-ozkan (and @Mark-Simulacrum)
cc @rust-lang/bootstrap (significant stage 0 bootstrap changes)
Rendered