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 8 pull requests #54660

Merged
merged 24 commits into from
Sep 29, 2018
Merged

Rollup of 8 pull requests #54660

merged 24 commits into from
Sep 29, 2018

Conversation

kennytm
Copy link
Member

@kennytm kennytm commented Sep 29, 2018

Successful merges:

alexcrichton and others added 18 commits September 25, 2018 10:48
Forward-port of rust-lang#54397, should have included it earlier!
The debuginfo tests are exposed to the environment in a couple of
ways: the path to the gdb executable matters, as does the Python path
used when loading lldb.

This patch incorporates these paths into the hash that is written to
the stamp file, so that changing the path will cause the tests to be
re-run.
Proc-macros don't emit their attributes or source spans across crates.
This means that rustdoc can't actually see the docs of a proc-macro if
it wasn't defined in the active crate, and attempting to inline it
creates an empty page with no docs or source link. In lieu of attempting
to fix that immediately, this commit forces proc-macro re-exports to
never inline, which at least creates usable links to complete
documentation.
It's meant for breakpoints, so if it gets inlined we can't set a
breakpoint on it easily!
compiletest has special code for running gdb for Android targets.  In
particular it computes a different path to gdb.  However, this gdb is
not used for the version test, which results in some tests being run
when they should not be.  You can see this in rust-lang#54004.

This patch moves the special case to analyze_gdb and a new helper
function to decide whether the case applies.  This causes the version
check to work properly.

Note that the bulk of the runtest.rs change is just reindentation
caused by moving from a "match" to an "if" -- but there is a (small)
change buried in there.
Add 1.29.1 release notes

Forward-port of rust-lang#54397, should have included it earlier!
…k-Simulacrum

Include path in stamp hash for debuginfo tests

The debuginfo tests are exposed to the environment in a couple of
ways: the path to the gdb executable matters, as does the Python path
used when loading lldb.

This patch incorporates these paths into the hash that is written to
the stamp file, so that changing the path will cause the tests to be
re-run.
@kennytm
Copy link
Member Author

kennytm commented Sep 29, 2018

@bors r+ p=9

@bors
Copy link
Contributor

bors commented Sep 29, 2018

📌 Commit 3afafaac9850d3fcd124e253d92dca222488af49 has been approved by kennytm

@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 Sep 29, 2018
@bors
Copy link
Contributor

bors commented Sep 29, 2018

⌛ Testing commit 3afafaac9850d3fcd124e253d92dca222488af49 with merge 4503573bd7bb25d510b35c48cd3e2f7b78cc34ad...

@bors
Copy link
Contributor

bors commented Sep 29, 2018

💔 Test failed - status-appveyor

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 29, 2018
…c, r=dtolnay

std: Don't let `rust_panic` get inlined

It's meant for breakpoints, so if it gets inlined we can't set a
breakpoint on it easily!

Will hopefully help fix at least one aspect of rust-lang#49013
Remove useless lifetimes from `Pin` `impl`s.

These were evidently left in by accident when the new API was switched over to.
…tebank

Added help message for `self_in_typedefs` feature gate

Fixes rust-lang#54563.

CC @Centril @estebank @leonardo-m
…richton

Compute Android gdb version in compiletest

compiletest has special code for running gdb for Android targets.  In
particular it computes a different path to gdb.  However, this gdb is
not used for the version test, which results in some tests being run
when they should not be.  You can see this in rust-lang#54004.

This patch moves the special case to analyze_gdb and a new helper
function to decide whether the case applies.  This causes the version
check to work properly.

Note that the bulk of the runtest.rs change is just reindentation
caused by moving from a "match" to an "if" -- but there is a (small)
change buried in there.
…uillaumeGomez

rustdoc: give proc-macros their own pages

related to rust-lang#49553 but i don't think it'll fix it

Currently, rustdoc doesn't expose proc-macros all that well. In the source crate, only their definition function is exposed, but when re-exported, they're treated as a macro! This is an awkward situation in all accounts. This PR checks functions to see whether they have any of `#[proc_macro]`, `#[proc_macro_attribute]`, or `#[proc_macro_derive]`, and exposes them as macros instead. In addition, attributes and derives are exposed differently than other macros, getting their own item-type, CSS class, and module heading.

![image](https://user-images.githubusercontent.com/5217170/46044803-6df8da00-c0e1-11e8-8c3b-25d2c3beb55c.png)

Function-like proc-macros are lumped in with `macro_rules!` macros, but they get a different declaration block (i'm open to tweaking this, it's just what i thought of given how function-proc-macros operate):

![image](https://user-images.githubusercontent.com/5217170/46044828-84069a80-c0e1-11e8-9cc4-127e5477c395.png)

Proc-macro attributes and derives get their own pages, with a representative declaration block. Derive macros also show off their helper attributes:

![image](https://user-images.githubusercontent.com/5217170/46094583-ef9f4500-c17f-11e8-8f71-fa0a7895c9f6.png)

![image](https://user-images.githubusercontent.com/5217170/46101529-cab3cd80-c191-11e8-857a-946897750da1.png)

There's one wrinkle which this PR doesn't address, which is why i didn't mark this as fixing the linked issue. Currently, proc-macros don't expose their attributes or source span across crates, so while rustdoc knows they exist, that's about all the information it gets. This leads to an "inlined" macro that has absolutely no docs on it, and no `[src]` link to show you where it was declared.

The way i got around it was to keep proc-macro re-export disabled, since we do get enough information across crates to properly link to the source page:

![image](https://user-images.githubusercontent.com/5217170/46045074-2cb4fa00-c0e2-11e8-81bc-33a8205fbd03.png)

Until we can get a proc-macro's docs (and ideally also its source span) across crates, i believe this is the best way forward.
@kennytm kennytm changed the title Rollup of 9 pull requests Rollup of 8 pull requests Sep 29, 2018
@kennytm
Copy link
Member Author

kennytm commented Sep 29, 2018

@bors r+

Removed #54639 (causing test failure)
Removed #54576 (already running)
Added #54577

@bors
Copy link
Contributor

bors commented Sep 29, 2018

📌 Commit def5f84 has been approved by kennytm

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 29, 2018
@bors
Copy link
Contributor

bors commented Sep 29, 2018

⌛ Testing commit def5f84 with merge 9653f79...

bors added a commit that referenced this pull request Sep 29, 2018
Rollup of 8 pull requests

Successful merges:

 - #54564 (Add 1.29.1 release notes)
 - #54567 (Include path in stamp hash for debuginfo tests)
 - #54577 (rustdoc: give proc-macros their own pages)
 - #54590 (std: Don't let `rust_panic` get inlined)
 - #54598 (Remove useless lifetimes from `Pin` `impl`s.)
 - #54604 (Added help message for `self_in_typedefs` feature gate)
 - #54635 (Improve docs for std::io::Seek)
 - #54645 (Compute Android gdb version in compiletest)
@bors
Copy link
Contributor

bors commented Sep 29, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: kennytm
Pushing 9653f79 to master...

@bors bors merged commit def5f84 into rust-lang:master Sep 29, 2018
@Centril Centril added the rollup A PR which is a rollup label Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

8 participants