Skip to content

Rollup of 6 pull requests - #69846

Closed
Centril wants to merge 37 commits into
rust-lang:masterfrom
Centril:rollup-7j2v0dx
Closed

Rollup of 6 pull requests#69846
Centril wants to merge 37 commits into
rust-lang:masterfrom
Centril:rollup-7j2v0dx

Conversation

@Centril

Copy link
Copy Markdown
Contributor

Successful merges:

Failed merges:

r? @ghost

12101111and others added 30 commits March 3, 2020 16:17
Previously, attributes on 'if' expressions (e.g. #[attr] if true {})
were disallowed during parsing. This made it impossible for macros to
perform any custom handling of such attributes (e.g. stripping them
away), since a compilation error would be emitted before they ever had a
chance to run.
This PR permits attributes on 'if' expressions ('if-attrs' from here on).
Both built-in attributes (e.g. `#[allow]`, `#[cfg]`) are supported.
We still do *not* accept attributes on 'other parts' of an if-else
chain. That is, the following code snippet still fails to parse:
```rust
if true {} #[attr] else if false {} else #[attr] if false {} #[attr]
else {}
```
Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>
Additionally whenever possible match C API provided by the LLVM.
cuviperand others added 7 commits March 8, 2020 18:44
Although `stack_overflow::init` runs very early in the process, even
before `main`, there may already be signal handlers installed for things
like the address sanitizer. In that case, just leave it alone, and don't
bother trying to allocate our own signal stacks either.
…=Centril
Permit attributes on 'if' expressions
Previously, attributes on 'if' expressions (e.g. `#[attr] if true {}`)
were disallowed during parsing. This made it impossible for macros to
perform any custom handling of such attributes (e.g. stripping them
away), since a compilation error would be emitted before they ever had a
chance to run.
This PR permits attributes on 'if' expressions ('if-attrs' from here on).
Both built-in attributes (e.g. `#[allow]`, `#[cfg]`) and proc-macro attributes are supported.
We still do *not* accept attributes on 'other parts' of an if-else
chain. That is, the following code snippet still fails to parse:
```rust
if true {} #[attr] else if false {} else #[attr] if false {} #[attr]
else {}
```
Closesrust-lang#68618
…nison
Extend search
I realized that when looking for "struct:String" in the rustdoc search for example, the "in arguments" and "returned" tabs were always empty. After some investigation, I realized it was because we only provided the name, and not the type, making it impossible to pass the "type filtering" check.
To resolve this, I added the type alongside the name. Note for the future: we could improve this by instead only registering the path id and use the path dictionary directly. The only problem with that solution (which I already tested) is that it becomes complicated for types in other crates. It'd force us to handle both case with an id and a case with `(name, type)`. I found the current PR big enough to not want to provide it directly. However, I think this is definitely worth it to make it work this way in the future.
About the two tests I added: they don't have much interest except checking that we actually have something returned in the search in the cases of a type filtering with and without literal search.
I also had to update a bit the test script to add the new locally global (haha) variable I created (`NO_TYPE_FILTER`). I added this variable to make the code easier to read than just "-1".
r? @kinnison
cc @ollie27
…=nagisa,smaeul
Don't use static crt by default when build proc-macro
Don't check value of `crt-static` when build proc-macro crates, since they are always built dynamically.
For more information, see rust-lang/cargo#7563 (comment)
I hope this will fix issues about compiling `proc_macro` crates on musl host without bring more issues.
Note: I can't test this on my musl host locally, because I encounter this issue when bootstraping from a beta snapshot.
Fixrust-lang/cargo#7563
unix: Don't override existing SIGSEGV/BUS handlers
Although `stack_overflow::init` runs very early in the process, even
before `main`, there may already be signal handlers installed for things
like the address sanitizer. In that case, just leave it alone, and don't
bother trying to allocate our own signal stacks either.
Fixesrust-lang#69524.
Ensure that validity only raises validity errors
For now, only as a debug-assertion (similar to const-prop detecting errors that allocate).
Now includes rust-lang#69646.
[Relative diff](RalfJung/rust@layout-visitor...RalfJung:validity-errors).
r? @oli-obk
librustc_codegen_llvm: Use slices in preference to 0-terminated strings
Additionally whenever possible match C API provided by the LLVM.
@Centril

Copy link
Copy Markdown
ContributorAuthor

@bors r+ p=1001 rollup=never

@bors

bors commented Mar 9, 2020

Copy link
Copy Markdown
Collaborator

📌 Commit 6cf5a14 has been approved by Centril

@bors

bors commented Mar 9, 2020

Copy link
Copy Markdown
Collaborator

🌲 The tree is currently closed for pull requests below priority 1000, this pull request will be tested once the tree is reopened

@borsbors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Mar 9, 2020
@CentrilCentril added the rollup A PR which is a rollup label Mar 9, 2020
@bors

bors commented Mar 9, 2020

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 6cf5a14 with merge 1b40570...

bors added a commit that referenced this pull request Mar 9, 2020
Rollup of 6 pull requests
Successful merges:
- #69201 (Permit attributes on 'if' expressions)
- #69402 (Extend search)
- #69519 ( Don't use static crt by default when build proc-macro)
- #69685 (unix: Don't override existing SIGSEGV/BUS handlers)
- #69762 (Ensure that validity only raises validity errors)
- #69779 (librustc_codegen_llvm: Use slices in preference to 0-terminated strings)
Failed merges:
r? @ghost
@TimDiekmann

Copy link
Copy Markdown
Contributor

Is there a specific reason, why #69799 was left out (It's rollup=always)? In case this rollup fails, it is possible to include it as well? #69824 directly depends on it.

@rust-highfive

Copy link
Copy Markdown
Contributor

The job dist-various-1 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-03-09T09:02:28.4920543Z 2020-03-09T09:02:42.6614472Z [RUSTC-TIMING] std test:false 14.302
2020-03-09T09:02:42.6635156Z Compiling rustc-std-workspace-std v1.99.0 (/checkout/src/tools/rustc-std-workspace-std)
2020-03-09T09:02:42.6638172Z Compiling term v0.0.0 (/checkout/src/libterm)
2020-03-09T09:02:42.6787483Z error: extern location for std does not exist: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-muslabi64/release/deps/libstd-bd95e1e545976f16.so
2020-03-09T09:02:42.6788263Z 2020-03-09T09:02:42.6847280Z error: extern location for std does not exist: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-muslabi64/release/deps/libstd-bd95e1e545976f16.so
2020-03-09T09:02:42.6895687Z error: aborting due to previous error
2020-03-09T09:02:42.6896418Z 2020-03-09T09:02:42.6919228Z [RUSTC-TIMING] rustc_std_workspace_std test:false 0.024
2020-03-09T09:02:42.6920004Z error: could not compile `rustc-std-workspace-std`.
---
2020-03-09T09:02:42.8353610Z local time: Mon Mar 9 09:02:42 UTC 2020
2020-03-09T09:02:43.3735691Z network time: Mon, 09 Mar 2020 09:02:43 GMT
2020-03-09T09:02:43.3737256Z == end clock drift check ==
2020-03-09T09:02:45.0232556Z 2020-03-09T09:02:45.0293610Z ##[error]Bash exited with code '1'.
2020-03-09T09:02:45.0350599Z ##[section]Starting: Checkout rust-lang/rust@auto to s
2020-03-09T09:02:45.0355131Z ==============================================================================
2020-03-09T09:02:45.0355488Z Task : Get sources
2020-03-09T09:02:45.0355867Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @rust-lang/infra. (Feature Requests)

@bors

bors commented Mar 9, 2020

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-azure

@borsbors 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 Mar 9, 2020
@CentrilCentril closed this Mar 9, 2020
@Centril
Centril deleted the rollup-7j2v0dx branch March 9, 2020 09:18
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants

@Centril@bors@TimDiekmann@rust-highfive@12101111@GuillaumeGomez@Aaron1011@RalfJung@tmiasko@cuviper