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 5 pull requests #62080

Closed
wants to merge 23 commits into from
Closed

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Jun 23, 2019

Successful merges:

Failed merges:

r? @ghost

petrochenkov and others added 23 commits June 16, 2019 12:23
It's more efficient than the fs::read_dir API
compiletest: Introduce `// {check,build,run}-pass` pass modes

Pass UI tests now have three modes
```
// check-pass
// build-pass
// run-pass
```
mirroring equivalent well-known `cargo` commands.

`// check-pass` will compile the test skipping codegen (which is expensive and isn't supposed to fail in most cases).
`// build-pass` will compile and link the test without running it.
`// run-pass` will compile, link and run the test.
Tests without a "pass" annotation are still considered "fail" tests.

Most UI tests would probably want to switch to `check-pass`.
Tests validating codegen would probably want to run the generated code as well and use `run-pass`.
`build-pass` should probably be rare (linking tests?).

rust-lang#61755 will provide a way to run the tests with any mode, e.g. bump `check-pass` tests to `run-pass` to satisfy especially suspicious people, and be able to make sure that codegen doesn't breaks in some entirely unexpected way.
Tests marked with any mode are expected to pass with any other mode, if that's not the case for some legitimate reason, then the test should be made a "fail" test rather than a "pass" test.
Perhaps some secondary CI can verify this invariant, but that's not super urgent.

`// compile-pass` still works and is equivalent to `build-pass`.
Why is `// compile-pass` bad - 1) it gives an impression that the test is only compiled, but not linked, 2) it doesn't mirror a cargo command.
It can be removed some time in the future in a separate PR.

cc rust-lang#61712
Speed up tidy

master:
  Time (mean ± σ):      3.478 s ±  0.033 s    [User: 3.298 s, System: 0.178 s]
  Range (min … max):    3.425 s …  3.525 s    10 runs

This PR:
  Time (mean ± σ):      1.098 s ±  0.006 s    [User: 783.7 ms, System: 310.2 ms]
  Range (min … max):    1.092 s …  1.113 s    10 runs

Alleviates rust-lang#59884. For the most part each commit stands on its own. Timings are on warm filesystem cache.

r? @eddyb
submodules: Update clippy from 5a11ed7 to c5d1ecd

Changes:
```console
% git shortlog --no-merges 5a11ed7..
Daniele D'Orazio (4):
      make needless_return work with void functions
      update tests and fix lints in clippy
      more idiomatic code
      cargo fmt

Jeremy Stucki (1):
      Remove needless lifetimes

Lzu Tao (1):
      Fix fallout cause NodeId pruning

Matthias Krüger (1):
      readme: update

flip1995 (1):
      Remove another unnecessary lifetime
```

r? @oli-obk
Run rustfmt on some libsyntax files

As part of rust-lang#62008, run rustfmt on:
- src/libsyntax/ext/tt/macro_rules.rs
- src/libsyntax/ext/tt/quoted.rs

There is no semantic change. To fix potential merge conflicts, simply choose the other side then run rustfmt and fix any tidy check (like line length).
…rochenkov

Remove `ast::Guard`

With the introduction of `ast::ExprKind::Let` in rust-lang#60861, the `ast::Guard` structure is now redundant in terms of representing [`if let` guards](rust-lang#51114) in AST since it can be represented by `ExprKind::Let` syntactically. Therefore, we remove `ast::Guard` here.

However, we keep `hir::Guard` because the semantic representation is a different matter and this story is more unclear right now (might involve `goto 'arm` in HIR or something...).

r? @petrochenkov
@Centril
Copy link
Contributor Author

Centril commented Jun 23, 2019

@bors r+ p=5 rollup=never

@bors
Copy link
Contributor

bors commented Jun 23, 2019

📌 Commit a8b4d1d 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 Jun 23, 2019
@bors
Copy link
Contributor

bors commented Jun 23, 2019

⌛ Testing commit a8b4d1d with merge 14ff2f5...

bors added a commit that referenced this pull request Jun 23, 2019
Rollup of 5 pull requests

Successful merges:

 - #61778 (compiletest: Introduce `// {check,build,run}-pass` pass modes)
 - #62037 (Speed up tidy)
 - #62052 (submodules: Update clippy from 5a11ed7 to c5d1ecd)
 - #62070 (Run rustfmt on some libsyntax files)
 - #62075 (Remove `ast::Guard`)

Failed merges:

r? @ghost
@bors
Copy link
Contributor

bors commented Jun 23, 2019

💔 Test failed - checks-travis

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-tools of your PR failed on Travis (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.
[01:51:54] Verifying status of rustfmt...
[01:51:54] Verifying status of clippy-driver...
[01:51:54] This PR updated 'src/tools/clippy', verifying if status is 'test-pass'...
[01:51:54] 
[01:51:54] ⚠️ We detected that this PR updated 'clippy-driver', but its tests failed.
[01:51:54] 
[01:51:54] If you do intend to update 'clippy-driver', please check the error messages above and
[01:51:54] commit another update.
[01:51:54] 
[01:51:54] If you do NOT intend to update 'clippy-driver', please ensure you did not accidentally
[01:51:54] change the submodule at 'src/tools/clippy'. You may ask your reviewer for the
[01:51:54] proper steps.
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 3.
travis_time:start:107aed9d
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sun Jun 23 17:08:04 UTC 2019
---
travis_time:end:00cf1d13:start=1561309685543240894,finish=1561309685550531744,duration=7290850
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0395c6f0
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:12ff8d60
travis_time:start:12ff8d60
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:196d35fb
$ dmesg | grep -i kill

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 Jun 23, 2019
@Centril Centril closed this Jun 23, 2019
@Centril Centril deleted the rollup-1wmgoy8 branch June 23, 2019 17:12
@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.

7 participants