Commit graph

226905 commits

Author SHA1 Message Date
Ralf Jung
dfd5037fa5 Preparing for merge from rustc 2023-06-17 17:42:11 +02:00
bors
20a2a24e11 Auto merge of #2932 - RalfJung:comment, r=RalfJung
comment tweaks
2023-06-16 13:56:46 +00:00
Ralf Jung
5c9ad8bda0 comment tweaks 2023-06-16 15:56:05 +02:00
bors
6f771c8f44 Auto merge of #2929 - RalfJung:tls-panic, r=RalfJung
add tests for panicky drop in thread_local destructor

Adds a test for https://github.com/rust-lang/rust/issues/112285
2023-06-16 10:18:38 +00:00
Ralf Jung
f3b52fdb74 make test work cross-platform 2023-06-16 12:17:33 +02:00
Ralf Jung
e2d22666e9 add tests for panicky drop in thread_local destructor 2023-06-16 11:34:25 +02:00
bors
c853744f66 Auto merge of #2930 - RalfJung:rustup, r=RalfJung
Rustup
2023-06-16 06:57:33 +00:00
Ralf Jung
508675b0fd Merge from rustc 2023-06-16 08:44:52 +02:00
Ralf Jung
8e930fdf69 Preparing for merge from rustc 2023-06-16 08:44:41 +02:00
bors
c84d5e7078 Auto merge of #112346 - saethlin:no-comment, r=oli-obk
Remove comments from mir-opt MIR dumps

See https://rust-lang.zulipchat.com/#narrow/stream/189540-t-compiler.2Fwg-mir-opt/topic/Line.20numbers.20in.20mir-opt.20tests/near/363849874

In https://github.com/rust-lang/rust/pull/99780 there is mention that "there has been a zulip conversation about disabling line numbers with mixed opinions" which to me means that some people opposed this. I can't find the referenced conversation so... here we go.

The current situation is quite chaotic. It's not hard to find MIR diffs which contain

* Absolute line numbers
* Relative line numbers
* Substituted line numbers (LL)
For example: 408bbd0406/tests/mir-opt/inline/inline_shims.drop.Inline.diff (L10-L17)

And sometimes adding a comment at the top of a mir-opt test generates a diff in the test because a line number changed: https://github.com/rust-lang/rust/pull/98112/files#diff-b8cf4bcce95078e6a3faf075e9abf6864872fb28a64d95c04f04513b9e3bbd81

And irrelevant changes to the standard library can generate diffs in mir-opt tests: https://github.com/rust-lang/rust/pull/110694/files#diff-bf96b0e7c67b8b272814536888fd9428c314991e155beae1f0a2a67f0ac47b2c
769886cc35

I think we should, specifically in mir-opt tests, completely remove the comments, or insert placeholders for all line and column numbers.
2023-06-16 01:55:34 +00:00
bors
0252b4093f Auto merge of #112681 - GuillaumeGomez:rollup-rwn4086, r=GuillaumeGomez
Rollup of 8 pull requests

Successful merges:

 - #112403 (Prevent `.eh_frame` from being emitted for `-C panic=abort`)
 - #112517 (`suspicious_double_ref_op`: don't lint on `.borrow()`)
 - #112529 (Extend `unused_must_use` to cover block exprs)
 - #112614 (tweak suggestion for argument-position `impl ?Sized`)
 - #112654 (normalize closure output in equate_inputs_and_outputs)
 - #112660 (Migrate GUI colors test to original CSS color format)
 - #112664 (Add support for test tmpdir to fuchsia test runner)
 - #112669 (Fix comment for ptr alignment checks in codegen)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-06-15 22:54:43 +00:00
Guillaume Gomez
05d5449522
Rollup merge of #112669 - Nilstrieb:typo, r=jyn514
Fix comment for ptr alignment checks in codegen
2023-06-15 22:04:58 +02:00
Guillaume Gomez
56a5b7e504
Rollup merge of #112664 - djkoloski:fuchsia_test_runner_tmpdir, r=tmandry
Add support for test tmpdir to fuchsia test runner

Also format the script to keep the code nice.

This fixes the `tests/ui/std/switch-stdout.rs` test on Fuchsia.

r? `@tmandry`
2023-06-15 22:04:58 +02:00
Guillaume Gomez
b36ddeedc0
Rollup merge of #112660 - GuillaumeGomez:migrate-gui-test-color-15, r=notriddle
Migrate GUI colors test to original CSS color format

Follow-up of https://github.com/rust-lang/rust/pull/111459.

r? `@notriddle`
2023-06-15 22:04:57 +02:00
Guillaume Gomez
6b9b55ac98
Rollup merge of #112654 - aliemjay:closure-output-normalize, r=compiler-errors
normalize closure output in equate_inputs_and_outputs

Fixes #112604
2023-06-15 22:04:57 +02:00
Guillaume Gomez
af955a647e
Rollup merge of #112614 - lukas-code:apit-unsized-suggestion, r=compiler-errors
tweak suggestion for argument-position `impl ?Sized`

fixes this invalid suggestion:
```text
help: consider removing the `?Sized` bound to make the type parameter `Sized`
  |
1 - fn foo(_: impl ?Sized) {}
1 + fn foo(_: impl ) {}
  |
```
2023-06-15 22:04:56 +02:00
Guillaume Gomez
d233522418
Rollup merge of #112529 - jieyouxu:block-expr-unused-must-use, r=oli-obk
Extend `unused_must_use` to cover block exprs

Given code like

```rust
#[must_use]
fn foo() -> i32 {
    42
}

fn warns() {
    {
        foo();
    }
}

fn does_not_warn() {
    {
        foo()
    };
}

fn main() {
    warns();
    does_not_warn();
}
```

### Before This PR

```
warning: unused return value of `foo` that must be used
 --> test.rs:8:9
  |
8 |         foo();
  |         ^^^^^
  |
  = note: `#[warn(unused_must_use)]` on by default
help: use `let _ = ...` to ignore the resulting value
  |
8 |         let _ = foo();
  |         +++++++

warning: 1 warning emitted
```

### After This PR

```
warning: unused return value of `foo` that must be used
 --> test.rs:8:9
  |
8 |         foo();
  |         ^^^^^
  |
  = note: `#[warn(unused_must_use)]` on by default
help: use `let _ = ...` to ignore the resulting value
  |
8 |         let _ = foo();
  |         +++++++

warning: unused return value of `foo` that must be used
  --> test.rs:14:9
   |
14 |         foo()
   |         ^^^^^
   |
help: use `let _ = ...` to ignore the resulting value
   |
14 |         let _ = foo();
   |         +++++++      +

warning: 2 warnings emitted
```

Fixes #104253.
2023-06-15 22:04:56 +02:00
Guillaume Gomez
db7d8374c1
Rollup merge of #112517 - fee1-dead-contrib:sus-op-no-borrow, r=compiler-errors
`suspicious_double_ref_op`: don't lint on `.borrow()`

closes #112489
2023-06-15 22:04:55 +02:00
Guillaume Gomez
ab314a57fa
Rollup merge of #112403 - nbdd0121:eh_frame, r=Nilstrieb
Prevent `.eh_frame` from being emitted for `-C panic=abort`

Since `CheckAlignment` pass is after the `AbortUnwindingCalls` pass, the `UnwindAction::Terminate` inserted in it has no chance to be converted to `UnwindAction::Unreachable` anymore, causing us to emit landing pads that are not necessary. Although these landing pads can themselves be eliminated by LLVM, `.eh_frame` sections are still generated. This causes trouble for Rust-for-Linux project recently.

This PR changes it to generate `UnwindAction::Terminate` when we opt for `-Cpanic=unwind`, and `UnwindAction::Unreachable` for `-Cpanic=abort`.

`@ojeda`
2023-06-15 22:04:55 +02:00
Ben Kimock
0a1fa411ed Remove comments from mir-opt MIR dumps 2023-06-15 15:19:11 -04:00
bors
114fb86ca0 Auto merge of #112671 - bjorn3:sync_cg_clif-2023-06-15, r=bjorn3
Sync rustc_codegen_cranelift

The main highlights this time are a cranelift update, some x86 vendor intrinsic implementations and preparations for testing cg_clif in CI here.

r? `@ghost`

`@rustbot` label +A-codegen +A-cranelift +T-compiler
2023-06-15 19:04:13 +00:00
bjorn3
8a120cc867 Update tidy allowed deps list 2023-06-15 17:56:46 +00:00
bjorn3
82b497286d Merge commit '8830dccd1d' into sync_cg_clif-2023-06-15 2023-06-15 17:56:01 +00:00
bjorn3
8830dccd1d Rustup to rustc 1.72.0-nightly (8c74a5d27 2023-06-14) 2023-06-15 17:45:30 +00:00
bjorn3
c1fa3cf6c4 Sync from rust 8c74a5d27c 2023-06-15 17:40:32 +00:00
bjorn3
f2895f3143
Merge pull request #1357 from bjorn3/build_system_rework6
Support testing of cg_clif in rust's CI
2023-06-15 19:37:23 +02:00
Nilstrieb
465e4d9c9c Fix comment for ptr alignment checks in codegen 2023-06-15 19:27:31 +02:00
bjorn3
e9bd63af3c Ignore -Clink-arg=-import-instr-limit 2023-06-15 17:14:49 +00:00
David Koloski
71db99935a Add support for test tmpdir to fuchsia test runner
Also format the script to keep the code nice.
2023-06-15 12:17:40 -04:00
bors
331249a949 Auto merge of #112661 - matthiaskrgr:rollup-9u5i2zy, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #111212 (Add casting suggestion when assigning negative 2's complement bin or hex literal to a size compatible signed integer)
 - #112304 (Add chapter in rustdoc book for re-exports and add a regression test for `#[doc(hidden)]` behaviour)
 - #112486 (Fix suggestion for E0404 not dealing with multiple generics)
 - #112562 (rustdoc-gui: allow running on Windows)
 - #112621 (Mention `env!` in `option_env!`'s docs)
 - #112634 (add InlineConst check)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-06-15 16:05:33 +00:00
Matthias Krüger
c0a089e118
Rollup merge of #112634 - mj10021:issue-112438-fix, r=compiler-errors
add InlineConst check

add check to close #112438
2023-06-15 17:52:38 +02:00
Matthias Krüger
c4c5e0baee
Rollup merge of #112621 - GrigorenkoPV:env, r=jyn514
Mention `env!` in `option_env!`'s docs

`env!` mentions that there is an alternative that returns an `Option<...>` instead of emitting a compile error.

Now `option_env!` also mentions that there is an alternative that emits a compile error instead of returning an `Option<...>`.
2023-06-15 17:52:37 +02:00
Matthias Krüger
9fe4630797
Rollup merge of #112562 - klensy:rd-gui-test-win, r=GuillaumeGomez
rustdoc-gui: allow running on Windows

This adds few fixes to allow running `python x.py test rustdoc-gui` on Windows.

* path to npm required to be `npm.cmd` on Windows (otherwise don't work for me)
* properly parse node module version on Windows
* properly provide path to browser-ui-test runner (fixed in #112613)

r? `@GuillaumeGomez`
2023-06-15 17:52:37 +02:00
Matthias Krüger
82eb4a0208
Rollup merge of #112486 - jieyouxu:issue-112472, r=oli-obk
Fix suggestion for E0404 not dealing with multiple generics

Fixes #112472.
2023-06-15 17:52:36 +02:00
Matthias Krüger
9bc95a4bc9
Rollup merge of #112304 - GuillaumeGomez:re-exports, r=notriddle
Add chapter in rustdoc book for re-exports and add a regression test for `#[doc(hidden)]` behaviour

Fixes https://github.com/rust-lang/rust/issues/109449.
Fixes https://github.com/rust-lang/rust/issues/53417.

After the discussion in #109697, I made a few PRs to fix a few corner cases:
 * https://github.com/rust-lang/rust/pull/112178
 * https://github.com/rust-lang/rust/pull/112108
 * https://github.com/rust-lang/rust/pull/111997

With this I think I covered all cases. Only thing missing at this point was a chapter covering re-exports in the rustdoc book.

r? `@notriddle`
2023-06-15 17:52:36 +02:00
Matthias Krüger
f530016f50
Rollup merge of #111212 - nicklimmm:issue-107896-fix, r=pnkfelix
Add casting suggestion when assigning negative 2's complement bin or hex literal to a size compatible signed integer

Fixes #107896

The issue stated the case for `iX::MIN` variants. This PR extends the cases for other negative values (in the 2's complement).

Leveraged sign bits to detect such cases.

Example cases:
- <img width="845" alt="image" src="https://user-images.githubusercontent.com/65026286/236289682-19859f59-a9c5-48c5-b15f-78a935fbfcec.png">
- <img width="831" alt="image" src="https://user-images.githubusercontent.com/65026286/236289805-5b16488d-9138-4363-a1b6-a5c027c50aba.png">
- <img width="912" alt="image" src="https://user-images.githubusercontent.com/65026286/236290065-685a9777-034b-4def-83a8-cc4e20b1ed0c.png">
2023-06-15 17:52:35 +02:00
Guillaume Gomez
c560dbc95d Migrate GUI colors test to original CSS color format 2023-06-15 17:38:15 +02:00
bors
f9097f87c9 Auto merge of #112633 - Kobzol:ci-msvc-merge, r=pietroalbini
CI: merge `msvc` test CI jobs

Merges `msvc` jobs together to save CI time. Currently, both runners take about 1h 15 minutes, but nowadays it should be possible to just run everything in a single job.

CI run: https://github.com/rust-lang/rust/actions/runs/5272144087/jobs/9534015536?pr=112633 (both finish under ~1h 35 minutes)

After this change, we no longer test both `x.py` and `x.ps1`, but I don't suppose that it's worth it to spend 1.5 hours of additional CI time just for that. I suggest to run all tests using e.g. `x.py` and then run just `x.ps1 test --stage 2 --force-rerun tests/<single-quick-test>`.
Also I'm not sure if it's worth it to keep using the Makefile for this.
2023-06-15 13:02:47 +00:00
Ali MJ Al-Nasrawy
c75e6e0f6c normalize closure output before relation 2023-06-15 12:49:49 +00:00
James Dietz
b1f7ab2ea2 add test 2023-06-15 06:50:56 -04:00
许杰友 Jieyou Xu (Joe)
32ae8810fc
Fix suggestion for E0404 not dealing with multiple generics 2023-06-15 18:19:09 +08:00
Lukas Markeffsky
b6a3f126c0 change std::marker::Sized to just Sized 2023-06-15 12:01:38 +02:00
Lukas Markeffsky
ee7e717322 tweak suggestion for argument-position impl ?Sized 2023-06-15 12:00:57 +02:00
bors
b4b7cd63d7 Auto merge of #2661 - DrMeepster:deref_operand_as, r=oli-obk
Dereference pointers in shims as correct types

Currently, shims will dereference pointers as the type written by the user. This can cause false positives, incorrect behavior such as #2136, and even ICEs if a field is not present.

This PR fixes this by having shims dereference pointers with types from `std` or `libc` that we can rely on the layout and field names of instead of with whatever the user passed in.

Fixes #1123
2023-06-15 10:00:38 +00:00
许杰友 Jieyou Xu (Joe)
72b3b58efc
Extend unused_must_use to cover block exprs 2023-06-15 17:59:13 +08:00
bors
4996b56ba9 Auto merge of #106343 - the8472:slice-iter-fold, r=scottmcm
optimize slice::Iter::fold

Fixes 2 of 4 cases from #106288

```
OLD: test slice::fold_to_last                                           ... bench:         248 ns/iter (+/- 3)
NEW: test slice::fold_to_last                                           ... bench:           0 ns/iter (+/- 0)
```
2023-06-15 09:38:53 +00:00
bors
52036f5a45 Auto merge of #2928 - oli-obk:rustup, r=oli-obk
Rustup
2023-06-15 06:40:58 +00:00
Oli Scherer
24595f5db6 Merge from rustc 2023-06-15 06:31:45 +00:00
Scott McMurray
44789b626b Add an ensure_sufficient_stack to LateContextAndPass::visit_expr
This is apparently where it's busting stack, and the comments for `ensure_sufficient_stack` say that

> E.g. almost any call to visit_expr or equivalent can benefit from this.
2023-06-15 09:57:47 -07:00
Oli Scherer
36e0c42603 Preparing for merge from rustc 2023-06-15 06:30:20 +00:00