-
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
Rollup of 11 pull requests #65076
Rollup of 11 pull requests #65076
Conversation
Co-Authored-By: Mazdak Farrokhzad <[email protected]>
This removes the implicit dependency on the environment variables set when running `./x.py test`
Update: review feedback Update: placate tidy
…elf` (Without this commit, you still get an error (a very similar one, at that), but it complains about use of forward declaration, which is confusing since people do not necessarily think of `Self` as being declared at all.) Update: incorporate review feedback.
Update: incorporate review feedback.
…oats Stabilize todo macro The `todo!` macro is just another name for `unimplemented!`. Tracking issue: rust-lang#59277 This PR needs a FCP to merge. r? @withoutboats
Deprecate `#![plugin]` & `#[plugin_registrar]` This PR deprecates `#![plugin]` and `#[plugin_registrar]`. ~A removal deadline is set: 1.44.0. This will be in 9 months from now and should give everyone who is still relying on the feature ample time to rid themselves of this dependency.~ cc rust-lang#29597 r? @Mark-Simulacrum
proc_macro API: Expose `macro_rules` hygiene Proc macros do not have direct access to our oldest and most stable hygiene kind - `macro_rules` hygiene. To emulate it macro authors have to go through two steps - first generate a temporary `macro_rules` item (using a derive, at least until rust-lang#64035 is merged), then generate a macro call to that item. Popular crates like [proc_macro_hack](https://crates.io/crates/proc-macro-hack) use this trick to generate hygienic identifiers from proc macros. I'd say that these workarounds with nested macro definitions have more chances to hit some corner cases in our hygiene system, in which we don't have full confidence. So, let's provide a direct access to `macro_rules` hygiene instead. This PR does that by adding a new method `Span::mixed_site` (bikeshedding is welcome) in addition to existing `Span::call_site` (stable) and `Span::def_site` (unstable). Identifiers with this span resolve at def-site in for local variables, labels and `$crate`, and resolve at call-site for everything else, i.e. exactly like identifiers produced by `macro_rules`. This API addition opens the way to stabilizing proc macros in expression positions (rust-lang#54727), for which use of call-site hygiene or workarounds with temporary items would be quite unfortunate. (`macro_rules` expanded in expression position, on the other hand, are stable since 1.0 and widely used.) r? @dtolnay @alexcrichton
… r=centril add regression test for rust-lang#60218 Fixes rust-lang#60218
…ure-doctests, r=QuietMisdreavus Prevent rustdoc feature doctests Part of rust-lang#61351 cc @ollie27
…pe-param-default, r=alexreg Disallow Self in type param defaults of ADTs Fix rust-lang#61631 (also includes a drive-by fix to a typo in some related diagnostic output.)
Replace mentions of IRC with Discord Revival of rust-lang#61531 closes rust-lang#61524 what was the outcome of this? rust-lang#61531 (comment) should this be changed in this PR as well? rust-lang#61531 (comment)
…ikomatsakis Set RUST_BACKTRACE=0 in tests that include a backtrace in stderr This removes the implicit dependency on the environment variables set when running `./x.py test`
…-E0556, r=petrochenkov Add long error explanation for E0556 Part of rust-lang#61137
…s, r=oli-obk Make visit projection iterative r? @oli-obk /cc @nikomatsakis
typo: fix typo in E0392 See rust-lang#64931. --- Cc: @Centril @estebank
@bors r+ p=11 rollup=never |
📌 Commit cc5dcfa has been approved by |
Rollup of 11 pull requests Successful merges: - #61879 (Stabilize todo macro) - #64675 (Deprecate `#![plugin]` & `#[plugin_registrar]`) - #64690 (proc_macro API: Expose `macro_rules` hygiene) - #64706 (add regression test for #60218) - #64741 (Prevent rustdoc feature doctests) - #64842 (Disallow Self in type param defaults of ADTs) - #65004 (Replace mentions of IRC with Discord) - #65018 (Set RUST_BACKTRACE=0 in tests that include a backtrace in stderr) - #65055 (Add long error explanation for E0556) - #65056 (Make visit projection iterative) - #65057 (typo: fix typo in E0392) Failed merges: r? @ghost
☀️ Test successful - checks-azure |
📣 Toolstate changed by #65076! Tested on commit 31d75c4. 💔 rls on windows: test-pass → build-fail (cc @Xanewok, @rust-lang/infra). |
Tested on commit rust-lang/rust@31d75c4. Direct link to PR: <rust-lang/rust#65076> 💔 rls on windows: test-pass → build-fail (cc @Xanewok, @rust-lang/infra). 💔 rls on linux: test-pass → build-fail (cc @Xanewok, @rust-lang/infra). 💔 rustfmt on windows: test-pass → build-fail (cc @topecongiro, @rust-lang/infra). 💔 rustfmt on linux: test-pass → build-fail (cc @topecongiro, @rust-lang/infra).
Successful merges:
#![plugin]
&#[plugin_registrar]
#64675 (Deprecate#![plugin]
&#[plugin_registrar]
)macro_rules
hygiene #64690 (proc_macro API: Exposemacro_rules
hygiene)Failed merges:
r? @ghost