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 9 pull requests #64944

Closed
wants to merge 50 commits into from
Closed

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Oct 1, 2019

Successful merges:

Failed merges:

r? @ghost

AnthonyMikh and others added 30 commits September 25, 2019 22:55
1. Rewrite `if let` into `match` to return earl and avoid indenting giant block 
2. Assign `spans_updated` only once
`taken` is actually used afterwards
Add some tests for macros in extern blocks, remove duplicate tests
 - Refactors the Emscripten target spec to share code with other wasm
   targets.
 - Replaces the incorrect wasm32 C call ABI with the old asmjs
   version, which is correct for both wasm32 and JS.
 - Updates the varargs ABI used by Emscripten and deletes the old one.
 - Removes the obsolete wasm32-experimental-emscripten target.
 - Temporarily makes Emscripten targets use panic=abort by default
   because supporting unwinding will require an LLVM patch.
This commit silences the unreachable code lint when it originates from
within a await desugaring.

Signed-off-by: David Wood <[email protected]>
petrochenkov and others added 17 commits October 1, 2019 01:10
Reborrowing doesn't work for loops
Closure typing obligations flow in both direcitons to properly infer
types. Because of this, we will get 2 type errors whenever there's
an unfulfilled obligation. To avoid this, we deduplicate them in the
`InferCtxt`.
…, r=alexcrichton

Upgrade Emscripten targets to use upstream LLVM backend

 - Refactors the Emscripten target spec to share code with other wasm
   targets.
 - Replaces the incorrect wasm32 C call ABI with the old asmjs
   version, which is correct for both wasm32 and JS.
 - Updates the varargs ABI used by Emscripten and deletes the old one.
 - Removes the obsolete wasm32-experimental-emscripten target.
 - Temporarily makes Emscripten targets use panic=abort by default
   because supporting unwinding will require an LLVM patch.
syntax: Support modern attribute syntax in the `meta` matcher

Where "modern" means rust-lang#57367:
```
PATH
PATH `(` TOKEN_STREAM `)`
PATH `[` TOKEN_STREAM `]`
PATH `{` TOKEN_STREAM `}`
```

Unfortunately, `meta` wasn't future-proofed using the `FOLLOW` token set like other matchers (rust-lang#34011), so code like `$meta:meta {` or `$meta:meta [` may break, and we need a crater run to find out how often this happens in practice.

Closes rust-lang#49629 (by fully supporting `meta` rather than removing it.)
Stabilize macros in some more positions

- Fn-like macros and attribute macros in `extern` blocks
- Fn-like procedural macros in type positions
- ~Attribute macros on inline modules~ (moved to rust-lang#64273)

Stabilization report: rust-lang#63931 (comment).

Closes rust-lang#49476
cc rust-lang#54727
…tebank

syntax: recover trailing `|` in or-patterns

Fixes rust-lang#64879.

For example (this also shows that we are sensitive to the typo `||`):

```
error: a trailing `|` is not allowed in an or-pattern
  --> $DIR/remove-leading-vert.rs:33:11
   |
LL |         A || => {}
   |         - ^^ help: remove the `||`
   |         |
   |         while parsing this or-pattern starting here
   |
   = note: alternatives in or-patterns are separated with `|`, not `||`
```

r? @estebank
A small amount of tidying-up factored out from PR rust-lang#64648

As requested by @Mark-Simulacrum, I put this in a separate commit to make it easier to review. (As far as I can tell, no violations of the policy here, and they are simply in a separate PR because they're not directly related to the import of that PR.)

r? @Mark-Simulacrum
…it, r=petrochenkov

Silence unreachable code lint from await desugaring

Fixes rust-lang#61798.

This PR silences the unreachable code lint when it originates from within an await desugaring.
…__code-clarity, r=estebank

Improve code clarity

No commit except 55b5428 address performance, just making the existing code more clear.

r? @estebank
Deduplicate closure type errors

Closure typing obligations flow in both direcitons to properly infer
types. Because of this, we will get 2 type errors whenever there's
an unfulfilled obligation. To avoid this, we deduplicate them in the
`InferCtxt`.
@Centril
Copy link
Contributor Author

Centril commented Oct 1, 2019

@bors r+ p=9 rollup=never

@bors
Copy link
Contributor

bors commented Oct 1, 2019

📌 Commit 7ca64cc has been approved by Centril

@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 1, 2019
@bors
Copy link
Contributor

bors commented Oct 1, 2019

⌛ Testing commit 7ca64cc with merge b8906f55a6bc6e75c410de5a31a988827965fc63...

@bors
Copy link
Contributor

bors commented Oct 1, 2019

💔 Test failed - checks-azure

@rust-highfive
Copy link
Collaborator

The job test-various 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.
2019-10-01T07:44:28.8453689Z Building test helpers
2019-10-01T07:44:28.8459934Z running: "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-o" "/checkout/obj/build/wasm32-unknown-unknown/native/rust-test-helpers/rust_test_helpers.o" "-c" "/checkout/src/test/auxiliary/rust_test_helpers.c"
2019-10-01T07:44:28.8469275Z thread 'main' panicked at '
2019-10-01T07:44:28.8469419Z 
2019-10-01T07:44:28.8469536Z Internal error occurred: Failed to find tool. Is `clang` installed?
2019-10-01T07:44:28.8469978Z ', /cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.35/src/lib.rs:2398:5
2019-10-01T07:44:28.8471164Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-10-01T07:44:28.8519851Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --target wasm32-unknown-unknown src/test/run-make src/test/ui src/test/compile-fail src/test/mir-opt src/test/codegen-units src/libcore
2019-10-01T07:44:28.8521090Z Build completed unsuccessfully in 1:11:19
2019-10-01T07:44:28.8521090Z Build completed unsuccessfully in 1:11:19
2019-10-01T07:44:28.8585963Z == clock drift check ==
2019-10-01T07:44:28.8603001Z   local time: Tue Oct  1 07:44:28 UTC 2019
2019-10-01T07:44:29.0127364Z   network time: Tue, 01 Oct 2019 07:44:29 GMT
2019-10-01T07:44:29.0127580Z == end clock drift check ==
2019-10-01T07:44:30.0385225Z ##[error]Bash exited with code '1'.
2019-10-01T07:44:30.0431477Z ##[section]Starting: Upload CPU usage statistics
2019-10-01T07:44:30.0450531Z ==============================================================================
2019-10-01T07:44:30.0450636Z Task         : Bash
2019-10-01T07:44:30.0450731Z Description  : Run a Bash script on macOS, Linux, or Windows

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 @TimNN. (Feature Requests)

@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 Oct 1, 2019
@Centril Centril closed this Oct 1, 2019
@Centril Centril deleted the rollup-juw4x7w branch October 1, 2019 07:56
@Centril Centril added the rollup A PR which is a rollup label Oct 24, 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-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants