-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Remove the return_address intrinsic. #34491
Conversation
r? @brson (rust_highfive has picked a reviewer for you, use r? to override) |
r=me provided crater is happy. In case it isn’t we may want to introduce a cycle of warning instead? |
Crater report shows 0 regressions. @bors r=nagisa |
📌 Commit b30134d has been approved by |
Remove the return_address intrinsic. This intrinsic to get the return pointer was introduced in #16248 / #16081 by @pcwalton for Servo. However, as explained in #34227, it's impossible to ensure it's used correctly, and it broke with `-Zorbit`. Servo's usage is being replaced in servo/servo#11872, and I expect nobody else to have abused it. But I've also started a crater run, just in case this is a `[breaking-change]` for anyone else.
I'm surprised this went through without more (apparent) approval from stakeholders. I realize that there's work underway to move Servo off this intrinsic, but until that work lands, doesn't this effectively break Servo? We are usually much more careful about breaking production uses of Rust, and something like this would usually merit at least a ping to @rust-lang/compiler and @rust-lang/lang. But maybe everyone is in the loop through other forums? cc @Manishearth @metajack @jdm -- just want to make sure you're aware of and OK with taking this step prior to actually landing the requisite changes in Servo. |
My preference would be to revert this until we've finished removing its usage from Servo. Edit: Thanks for checking with us, by the way! |
I was under impression that servo/servo#11872 has landed but apparently it didn’t and only was approved. To my knowledge, though, servo doesn’t use the most recent nightly anyway and the Servo’s PR seems like will land in near future? |
I was somewhat aware of this (bit too late though). I am sort of okay with this landing because Servo pins anyway and we can delay a rustup for a week or two (indeed, we usually don't rustup in that timeframe anyway). Hopefully the servo PR lands and works without issues. Reverting is also okay by me. AIUI this isn't blocking anything. |
I would rather not rush the review of the Servo change, and I would also like to avoid any potential of blocking anybody who needs to update Servo's Rust version while the review is in progress. |
Note PR to revert here #34580 |
This intrinsic to get the return pointer was introduced in #16248 / #16081 by @pcwalton for Servo.
However, as explained in #34227, it's impossible to ensure it's used correctly, and it broke with
-Zorbit
.Servo's usage is being replaced in servo/servo#11872, and I expect nobody else to have abused it.
But I've also started a crater run, just in case this is a
[breaking-change]
for anyone else.