| Age | Commit message (Collapse) | Author | Lines |
|
Generate shell completions for bootstrap with Clap
Now that #110693 has been merged, we can look at generating shell completions for x.py with `clap_complete`. Leaving this as draft for now as I'm not sure of the best way to integration the completion generator. Additionally, the generated completions for zsh are completely broken (will need to be resolved upstream, it doesn't seem to handle subcommands + global arguments well).
I don't have Fish installed and would be interested to know how well completions work there.
Alternative to #107827
|
|
Add a tidy check to find unexpected files in UI tests, and clean up the results
While looking at UI tests, I noticed several weird files that were not being tested, some from even pre-1.0. I added a tidy check that fails if any files not known to compiletest or not used in tests (via manual list) are present in the ui tests.
Unfortunately the root entry limit had to be raised by 1 to accommodate the stderr file for one of the tests.
r? `@fee1-dead`
|
|
support array return types in simd_bitmask
Fixes https://github.com/rust-lang/miri/issues/2734
As usual I am stomped by the simd_bitmask behavior wrt endianess. I confirmed that for little endian, Miri matches what rustc currently does, but I can't test rustc on big endian. `@workingjubilee` `@calebzulawski` could you have a look whether those new tests make sense?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
update Miri
and run mir-opt-level=4 tests in rustc CI so issues like https://github.com/rust-lang/rust/issues/111422 are caught before they land.
r? `@oli-obk` due to the bootstrap changes
|
|
Add `./miri run-dep` for running a file with test dependencies available
fixes #2443
|
|
|
|
|
|
|
|
Uplift `clippy::{drop,forget}_{ref,copy}` lints
This PR aims at uplifting the `clippy::drop_ref`, `clippy::drop_copy`, `clippy::forget_ref` and `clippy::forget_copy` lints.
Those lints are/were declared in the correctness category of clippy because they lint on useless and most probably is not what the developer wanted.
## `drop_ref` and `forget_ref`
The `drop_ref` and `forget_ref` lint checks for calls to `std::mem::drop` or `std::mem::forget` with a reference instead of an owned value.
### Example
```rust
let mut lock_guard = mutex.lock();
std::mem::drop(&lock_guard) // Should have been drop(lock_guard), mutex
// still locked
operation_that_requires_mutex_to_be_unlocked();
```
### Explanation
Calling `drop` or `forget` on a reference will only drop the reference itself, which is a no-op. It will not call the `drop` or `forget` method on the underlying referenced value, which is likely what was intended.
## `drop_copy` and `forget_copy`
The `drop_copy` and `forget_copy` lint checks for calls to `std::mem::forget` or `std::mem::drop` with a value that derives the Copy trait.
### Example
```rust
let x: i32 = 42; // i32 implements Copy
std::mem::forget(x) // A copy of x is passed to the function, leaving the
// original unaffected
```
### Explanation
Calling `std::mem::forget` [does nothing for types that implement Copy](https://doc.rust-lang.org/std/mem/fn.drop.html) since the value will be copied and moved into the function on invocation.
-----
Followed the instructions for uplift a clippy describe here: https://github.com/rust-lang/rust/pull/99696#pullrequestreview-1134072751
cc `@m-ou-se` (as T-libs-api leader because the uplifting was discussed in a recent meeting)
|
|
|
|
|
|
|
|
|
|
Rollup of 6 pull requests
Successful merges:
- #111179 (Fix instrument-coverage tests by using Python to sort instantiation groups)
- #111393 (bump windows crate 0.46 -> 0.48)
- #111441 (Verify copies of mutable pointers in 2 stages in ReferencePropagation)
- #111456 (Update cargo)
- #111490 (Don't ICE in layout computation for placeholder types)
- #111492 (use by ref TokenTree iterator to avoid a few clones)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Update cargo
2 commits in 26b73d15a68fb94579f6d3590585ec0e9d81d3d5..13413c64ff88dd6c2824e9eb9374fc5f10895d28
2023-05-09 20:28:03 +0000 to 2023-05-10 13:46:18 +0000
* Update libc to 0.2.144 (rust-lang/cargo#12098)
* changelog: add entries of some behavior changes (rust-lang/cargo#12119)
r? ``````@weihanglo``````
|
|
bump windows crate 0.46 -> 0.48
This drops duped version of crate(0.46), reduces `rustc_driver.dll` ~800kb and reduces exported functions number from 26k to 22k.
Also while here, added `tidy-alphabetical` sorting to lists in tidy allowed lists.
|
|
Rollup of 7 pull requests
Successful merges:
- #106038 (use implied bounds when checking opaque types)
- #111366 (Make `NonUseContext::AscribeUserTy` carry `ty::Variance`)
- #111375 (CFI: Fix SIGILL reached via trait objects)
- #111439 (Fix backtrace normalization in ice-bug-report-url.rs)
- #111444 (Only warn single-use lifetime when the binders match.)
- #111459 (Update browser-ui-test version to 0.16.0)
- #111460 (Improve suggestion for `self: Box<self>`)
Failed merges:
- #110454 (Require impl Trait in associated types to appear in method signatures)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Update browser-ui-test version to 0.16.0
This new version brings one major improvement: it allows to use the original color format in checks (I plan to slowly continue converting colors back to their "original" format, ie the one used in CSS).
It also provides some improvements in some commands API.
r? `````@notriddle`````
|
|
It isn't clear to me why these error patterns do not trigger,
but I am not going to waste time analyzing bugs in compiletest.
|
|
Compiletest was switched to querying all targets using
`--print=all-target-specs-json` and `--print=target-spec-json`
in #108905. This unintentionally prevented codegen flags like `-Cpanic`
from being reflected in the current target configuration. This change
gets the current compiletest target config using `--print=cfg` like it
was previously while still using the faster prints for getting
information on all other targets.
Fixes #110850.
|
|
|
|
|
|
|
|
Co-authored-by: Ralf Jung <post@ralfj.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
object -> 0.31.1
thorin-dwp -> 0.6.0
Required to fix watchOS breakage.
|
|
|
|
Include the current Crate name in the measureme output name
See https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/measureme.20flamegraph.20panics/near/356367013
cc `@andjo403`
Currently, attempting to use `MIRIFLAGS=-Zmiri-measureme=miri cargo miri test` on a crate with multiple test targets (which is very common) will produce a corrupted measureme output file, because the various interpreter processes will stomp each other's output.
This change does not entirely prevent this, but the various test targets seem to always have different crate names, so if nothing else this will make the broken measureme files much harder to encounter by accident, while also making it clear what they are all for.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rustup
|
|
|
|
|