Skip to content
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

Merged
merged 31 commits into from
Oct 4, 2019
Merged

Rollup of 11 pull requests #65076

merged 31 commits into from
Oct 4, 2019

Conversation

tmandry
Copy link
Member

@tmandry tmandry commented Oct 3, 2019

Successful merges:

Failed merges:

r? @ghost

Stjepan Glavina and others added 30 commits June 16, 2019 01:24
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
…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
@tmandry
Copy link
Member Author

tmandry commented Oct 3, 2019

@bors r+ p=11 rollup=never

@bors
Copy link
Contributor

bors commented Oct 3, 2019

📌 Commit cc5dcfa has been approved by tmandry

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Oct 3, 2019
@bors
Copy link
Contributor

bors commented Oct 3, 2019

⌛ Testing commit cc5dcfa with merge 31d75c4...

bors added a commit that referenced this pull request Oct 3, 2019
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
@bors
Copy link
Contributor

bors commented Oct 4, 2019

☀️ Test successful - checks-azure
Approved by: tmandry
Pushing 31d75c4 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Oct 4, 2019
@bors bors merged commit cc5dcfa into rust-lang:master Oct 4, 2019
@rust-highfive
Copy link
Collaborator

📣 Toolstate changed by #65076!

Tested on commit 31d75c4.
Direct link to PR: #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).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Oct 4, 2019
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).
@Centril Centril added the rollup A PR which is a rollup label Oct 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.