-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Record expansion_that_defined
into crate metadata
#77591
Conversation
Fixes rust-lang#77523 Now that hygiene serialization is implemented, we also need to record `expansion_that_defined` so that we properly handle a foreign `SyntaxContext`.
r? @davidtwco (rust_highfive has picked a reviewer for you, use r? to override) |
@bors try @rust-timer queue |
Awaiting bors try build completion |
⌛ Trying commit 8d11f90 with merge 9719ee19ad8fd331906c6ab78cf9fae776a46228... |
☀️ Try build successful - checks-actions, checks-azure |
Queued 9719ee19ad8fd331906c6ab78cf9fae776a46228 with parent ea7e131, future comparison URL. |
Finished benchmarking try commit (9719ee19ad8fd331906c6ab78cf9fae776a46228): comparison url. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up. @bors rollup=never |
📌 Commit 8d11f90 has been approved by |
Note that this might cause some breakage - if I understand this code correctly, we might now match a different identifier if we had both a def-site-identifier and non-def-site-identifier in scope. However, def-site hygiene is nightly only, so this should only be able to affect code using nightly features. |
As you point out, the potential breakage would be only for nightly users and this new behavior clearly more correct than what we had. We can run crater if you think it is needed. |
I think we should be fine without a crater run - I don't know if @petrochenkov feels differently. |
Rollup of 13 pull requests Successful merges: - rust-lang#76388 (Add a note about the panic behavior of math operations on time objects) - rust-lang#76855 (Revamp rustdoc docs about documentation using `cfg`) - rust-lang#76995 (Reduce boilerplate with the matches! macro) - rust-lang#77228 (Add missing examples for MaybeUninit) - rust-lang#77528 (Avoid unchecked casts in net parser) - rust-lang#77534 (Disallow overriding forbid in same scope) - rust-lang#77555 (Allow anyone to set regression labels) - rust-lang#77558 (Rename bootstrap/defaults/{config.toml.PROFILE => config.PROFILE.toml}) - rust-lang#77559 (Fix rustdoc warnings about invalid Rust syntax) - rust-lang#77560 (Fix LitKind's byte buffer to use refcounted slice) - rust-lang#77573 (Hint doc use convert::identity relative link) - rust-lang#77587 (Fix span for unicode escape suggestion.) - rust-lang#77591 (Record `expansion_that_defined` into crate metadata) Failed merges: r? `@ghost`
Fixes #77523
Now that hygiene serialization is implemented, we also need to record
expansion_that_defined
so that we properly handle a foreignSyntaxContext
.