Commit Graph

267745 Commits

Author SHA1 Message Date
Ding Xiang Fei
ed5443fcdf
apply suggestions 2024-09-30 22:21:45 +08:00
bors
c3ce4e66a5 Auto merge of #131063 - matthiaskrgr:rollup-hfs3fo1, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - #130895 (make type-check-4 asm tests about non-const expressions)
 - #131057 (Reject leading unsafe in `cfg!(...)` and `--check-cfg`)
 - #131060 (Drop conditionally applied cargo `-Zon-broken-pipe=kill` flags to fix stage 1 cargo rebuilds)
 - #131061 (replace manual verbose checks with `Config::is_verbose`)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-09-30 13:33:35 +00:00
Matthias Krüger
5ba81d723a
Rollup merge of #131061 - onur-ozkan:verbose-checks, r=Kobzol
replace manual verbose checks with `Config::is_verbose`

self-explanatory
2024-09-30 14:33:48 +02:00
Matthias Krüger
d97c661155
Rollup merge of #131060 - jieyouxu:rmake-rebuild, r=onur-ozkan
Drop conditionally applied cargo `-Zon-broken-pipe=kill` flags to fix stage 1 cargo rebuilds

The conditionally applied `-Zon-broken-pipe=kill` flag trigger rebuilds because they can invalidate previous tool build cache due to differing flags. This PR removes those flags to stop tool build cache invalidation.

> The build cache for clippy will be broken because bootstrap sets `-Zon-broken-pipe=kill` for every invocation except for cargo. Which means building cargo will invalidate any tool build cache which was built previously.
>
> *From <https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/Modifying.20run-make.20tests.20unnecessarily.20rebuild.20stage.201.20cargo/near/473486972>*

Fixes #130980.
But introduces #131059 (breaks 2 cargo tests that relied upon some behavior related to `-Zon-broken-pipe=kill` being set).

r? `@onur-ozkan` (or bootstrap)
2024-09-30 14:33:47 +02:00
Matthias Krüger
90fdb11f51
Rollup merge of #131057 - Urgau:cfg-erronous-unsafe, r=jieyouxu
Reject leading unsafe in `cfg!(...)` and `--check-cfg`

This PR reject leading unsafe in `cfg!(...)` and `--check-cfg`.

Fixes (after-backport) https://github.com/rust-lang/rust/issues/131055
r? `@jieyouxu`
2024-09-30 14:33:46 +02:00
Matthias Krüger
fd2785f67a
Rollup merge of #130895 - RalfJung:asm-tests, r=nnethercote
make type-check-4 asm tests about non-const expressions

These tests recently got changed in https://github.com/rust-lang/rust/pull/129759. I asked the PR author to make the tests read from a `static mut` (rather than just making them "pass"), but I now think that was a mistake: previously the tests failed because the const was not a valid const expression, after the PR they failed because the const failed to evaluate.

So this PR restores the tests to "fail because the const is not a valid const expression". That can be done in a target-independent way so I unified the x86 and aarch64 tests into one.

Cc `@oli-obk` as the original [author](0d88631059) of these tests -- not sure if you still remember what they were intended to test.
2024-09-30 14:33:46 +02:00
Ralf Jung
ac2e318034 make type-check-4 asm tests about non-const expressions 2024-09-30 13:47:36 +02:00
onur-ozkan
fd1429a56b replace manual verbose checks with Config::is_verbose
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-30 14:20:12 +03:00
许杰友 Jieyou Xu (Joe)
5a7058c5a5 Drop conditionally applied cargo -Zon-broken-pipe=kill flags
These conditionally applied flags trigger rebuilds because they can
invalidate previous cargo build cache.
2024-09-30 19:09:29 +08:00
bors
b529e278bb Auto merge of #131044 - EnzymeAD:enzyme-testinfra, r=jieyouxu
add has_enzyme/needs-enzyme to the test infra

This unblocks merging the Enzyme / Autodiff frontend.
For the full implementation, see: https://github.com/rust-lang/rust/pull/129175

We don't want to run tests that require Enzyme / Autodiff support when we build rustc without the required features.

It correctly filtered out a test which started with `//@ needs-enzyme`.
```
running 80 tests
i...............................................................................

test result: ok. 79 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 380.41ms
```

Tracking:

- https://github.com/rust-lang/rust/issues/124509

r? jieyouxu
2024-09-30 10:54:45 +00:00
Urgau
9cb540a13c Reject leading unsafe in cfg!(...) and --check-cfg. 2024-09-30 12:15:08 +02:00
onur-ozkan
874d55cea8 enable compiler fingerprint logs in verbose mode
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-30 13:14:05 +03:00
Urgau
020bd6d323 Improve --print=check-cfg documentation 2024-09-30 11:15:05 +02:00
lcnr
15ac698393 canonicalizer: rm region uniquification, add caching 2024-09-30 10:18:27 +02:00
bors
0245b0ca1e Auto merge of #131009 - klensy:wu, r=Kobzol
weekly update: add header to compiler deps update

Look at #131000: library and rustbook have nice headers for deps updates (i.e. `library dependencies:`), but not compiler one. Fixes this.
2024-09-30 07:28:48 +00:00
Ralf Jung
4b8a5bd511 panic when an interpreter error gets unintentionally discarded 2024-09-30 08:37:00 +02:00
Barrett Ray
c5598d6a9e fix(hir_analysis/wfcheck): don't leak {type error}
avoid `{type error}` being leaked in user-facing messages,
particularly when using the `adt_const_params` feature
2024-09-29 23:40:43 -05:00
bors
e9df22f51d Auto merge of #131036 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2024-09-30 03:16:29 +00:00
bors
4e91cedaed Auto merge of #129499 - fee1-dead-contrib:supereffects, r=compiler-errors
properly elaborate effects implied bounds for super traits

Summary: This PR makes it so that we elaborate `<T as Tr>::Fx: EffectsCompat<somebool>` into `<T as SuperTr>::Fx: EffectsCompat<somebool>` when we know that `trait Tr: ~const SuperTr`.

Some discussion at https://github.com/rust-lang/project-const-traits/issues/2.

r? project-const-traits
`@rust-lang/project-const-traits:` how do we feel about this approach?
2024-09-30 00:30:09 +00:00
Manuel Drehwald
bc2a913a9b add has_enzyme/needs-enzyme to the test infra 2024-09-29 18:27:33 -04:00
Samuel Moelius
54e4761d05 Address review comment
https://github.com/rust-lang/rust-clippy/pull/13286#discussion_r1780038602
2024-09-29 18:21:47 -04:00
bors
0d6e130196 Auto merge of #131002 - steffahn:rustdoc-long-names-fix, r=notriddle
In redesigned rustdoc toolbar: Adjust spacings and sizing to improve behavior with over-long names

Fixes #130993.

Some additional adjustments also fix more issues I’ve noticed such as:

* on small screens, opening search made the 3 bottons move down very slightly (because the row with the crate picker got larger, enlarging the whole grid), this is fixed with a `min-height: 60px` on the toolbar
* with long names in the “breadcrumps” area, wrapping was very broken
  * ![Screenshot_20240929_031831](https://github.com/user-attachments/assets/6f46bbb7-004b-4606-bf17-8a6f3289a8f7)
  * fixed:
  * ![Screenshot_20240929_035312](https://github.com/user-attachments/assets/4e2f8dd2-043e-4279-b588-0a72c7533f8e)
* the left grid area has a minimal width (105px); like before, that leaves about enough space for crate names becoming as short as “all cra…”;
    to save even more space, there’s support for a little bit of extra squeezing of the buttons
  * ![Screenshot_20240929_034511](https://github.com/user-attachments/assets/7c6788ee-8ec1-4a38-b341-8d67704f5575)
  * ![Screenshot_20240929_034525](https://github.com/user-attachments/assets/e141756d-37a9-4205-bc4d-235ddd1c0609)
  * ![Screenshot_20240929_034535](https://github.com/user-attachments/assets/526447f3-48b6-47aa-8a60-e5b0d4d055f0)

I’m really not super good with HTML or CSS stuff at all; there seem to be many magical numbers already, I’ve just used `px` values until things look right, I hope that’s okay 🤷‍♂️

r? `@GuillaumeGomez`

cc `@notriddle`
2024-09-29 22:04:32 +00:00
bors
061004aa01 Auto merge of #13469 - nyurik:apply-ref-option, r=llogiq
Convert `&Option<T>` to `Option<&T>`

Run `ref_option` (#13336) on the Clippy's own code, quiet a few hits. Per mentioned video, this may actually improve performance as well.  Switch lint to `pedantic`

----

changelog: [`ref_option`]: upgrade lint to `pedantic`
2024-09-29 21:34:13 +00:00
Ralf Jung
8c0adc6716 update lockfile 2024-09-29 23:08:25 +02:00
Ding Xiang Fei
6d1a25ad7e
preserve brackets around if-lets and skip while-lets 2024-09-30 04:21:10 +08:00
bors
e239d0794c Auto merge of #3927 - RalfJung:fmt-imports, r=oli-obk,saethlin
let rustfmt format imports

This matches the recent change in rustc.

`@rust-lang/miri` what do you think?
2024-09-29 20:10:23 +00:00
clubby789
5726000b2d Copy correct path to clipboard for modules/keywords/primitives 2024-09-29 19:43:09 +00:00
bors
7608018cbd Auto merge of #131029 - matthiaskrgr:rollup-rh66wir, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - #123932 (restate GlobalAlloc method safety preconditions in terms of what the caller has to do for greater clarity)
 - #129003 (Improve Ord docs)
 - #130972 (stabilize const_cell_into_inner)
 - #130990 (try to get rid of mir::Const::normalize)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-09-29 19:40:50 +00:00
Asuna
762a91b40e Simplify negative Option::{is_some_and,is_none_or} 2024-09-30 03:36:41 +08:00
Matthias Krüger
a0ae32d6a2
Rollup merge of #130990 - RalfJung:mir-const-normalize, r=compiler-errors
try to get rid of mir::Const::normalize

It was easy to make this compile, let's see if anything breaks...

r? `@compiler-errors`
2024-09-29 20:17:37 +02:00
Matthias Krüger
a061e566a6
Rollup merge of #130972 - RalfJung:const_cell_into_inner, r=dtolnay
stabilize const_cell_into_inner

This const-stabilizes
- `UnsafeCell::into_inner`
- `Cell::into_inner`
- `RefCell::into_inner`
- `OnceCell::into_inner`

`@rust-lang/wg-const-eval` this uses `rustc_allow_const_fn_unstable(const_precise_live_drops)`, so we'd be comitting to always finding *some* way to accept this code. IMO that's fine -- what these functions do is to move out the only field of a struct, and that struct has no destructor itself. The field's destructor does not get run as it gets returned to the caller.

`@rust-lang/libs-api` this was FCP'd already [years ago](https://github.com/rust-lang/rust/issues/78729#issuecomment-811409860), except that  `OnceCell::into_inner` was added to the same feature gate since then (Cc `@tgross35).` Does that mean we have to re-run the FCP? If yes, I'd honestly prefer to move `OnceCell` into its own feature gate to not risk missing the next release. (That's why it's not great to add new functions to an already FCP'd feature gate.) OTOH if this needs an FCP either way since the previous FCP was so long ago, then we might as well do it all at once.
2024-09-29 20:17:36 +02:00
Matthias Krüger
c1e54cfa40
Rollup merge of #129003 - Voultapher:improve-ord-docs, r=workingjubilee
Improve Ord docs

- Makes wording more clear and re-structures some sections that can be overwhelming for someone not already in the know.
- Adds examples of how *not* to implement Ord, inspired by various anti-patterns found in real world code.

Many of the wording changes are inspired directly by my personal experience of being confused by the `Ord` docs and seeing other people get it wrong as well, especially lately having looked at a number of `Ord` implementations as part of #128899.

Created with help by `@orlp.`

r​? `@workingjubilee`
2024-09-29 20:17:36 +02:00
Matthias Krüger
1d45203779
Rollup merge of #123932 - adamse:global-alloc-safety-preconds-positive, r=tgross35
restate GlobalAlloc method safety preconditions in terms of what the caller has to do for greater clarity
2024-09-29 20:17:35 +02:00
Ralf Jung
ad8a5ce4ca let rustfmt format imports 2024-09-29 19:26:32 +02:00
Michael Howell
c27b54ac4a rustdoc-gui: fix test cases 2024-09-29 10:02:06 -07:00
Ralf Jung
7caf2cdc2c interpret: always enable write_immediate sanity checks 2024-09-29 18:18:33 +02:00
Michael Goulet
486440fc74 Tweak comments and remove trivial return 2024-09-29 11:57:35 -04:00
Michael Goulet
40d413f9fe Don't give method suggestions when method probe fails due to bad impl of Deref 2024-09-29 11:57:18 -04:00
bors
42ff2eedb0 Auto merge of #131022 - matthiaskrgr:rollup-g9y1v11, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #130931 (Rename `standalone` doctest attribute into `standalone_crate`)
 - #131000 (Weekly `cargo update`)
 - #131011 (cleanup: don't `.into()` identical types)
 - #131013 (cleanup: don't manually `unwrap_or_default()`)
 - #131014 (cleanup: don't clone types that are Copy)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-09-29 15:52:51 +00:00
Matthias Krüger
71c96cc7d5
Rollup merge of #131014 - matthiaskrgr:no_clone_on_copy, r=chenyukang
cleanup: don't clone types that are Copy
2024-09-29 16:51:56 +02:00
Matthias Krüger
af1e24b946
Rollup merge of #131013 - matthiaskrgr:unwrapordefault, r=jieyouxu
cleanup: don't manually `unwrap_or_default()`
2024-09-29 16:51:56 +02:00
Matthias Krüger
128a7d64f8
Rollup merge of #131011 - matthiaskrgr:no_into, r=jieyouxu
cleanup: don't `.into()` identical types
2024-09-29 16:51:55 +02:00
Matthias Krüger
4bb92599da
Rollup merge of #131000 - rust-lang:cargo_update, r=clubby789
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.

The following is the output from `cargo update`:

```txt
     Locking 5 packages to latest compatible versions
    Updating autocfg v1.3.0 -> v1.4.0
    Updating flate2 v1.0.33 -> v1.0.34
    Updating portable-atomic v1.8.0 -> v1.9.0
    Updating syn v2.0.77 -> v2.0.79
    Updating tempfile v3.12.0 -> v3.13.0
note: pass `--verbose` to see 81 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 9 unchanged dependencies behind latest

rustbook dependencies:
     Locking 13 packages to latest compatible versions
    Updating autocfg v1.3.0 -> v1.4.0
    Updating cc v1.1.21 -> v1.1.22
    Updating flate2 v1.0.33 -> v1.0.34
    Updating libc v0.2.158 -> v0.2.159
    Updating pkg-config v0.3.30 -> v0.3.31
    Updating redox_syscall v0.5.4 -> v0.5.6
    Updating serde_spanned v0.6.7 -> v0.6.8
    Updating syn v2.0.77 -> v2.0.79
    Updating tempfile v3.12.0 -> v3.13.0
    Updating thiserror v1.0.63 -> v1.0.64
    Updating thiserror-impl v1.0.63 -> v1.0.64
    Updating toml_edit v0.22.21 -> v0.22.22
    Updating winnow v0.6.18 -> v0.6.20
note: pass `--verbose` to see 30 unchanged dependencies behind latest
```
2024-09-29 16:51:55 +02:00
Matthias Krüger
3097951023
Rollup merge of #130931 - GuillaumeGomez:standalone-crate, r=notriddle
Rename `standalone` doctest attribute into `standalone_crate`

Following [zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/Renaming.20code.20block.20.22standalone.22.20attribute.3F) and poll results.

r? `@notriddle`
2024-09-29 16:51:55 +02:00
bors
d194948e50 Auto merge of #130975 - matthiaskrgr:nice_ice_shall_suffice, r=jieyouxu
crashes: more tests

r? `@jieyouxu`
2024-09-29 13:09:08 +00:00
Mads Marquart
6b06ceb2fd Do not specify an SDK version in object files
This is unnecessary, since it ends up being overwritten when linking
anyhow, and it feels wrong to embed some arbitrary SDK version in here.
2024-09-29 14:45:09 +02:00
Mads Marquart
8964c48726 Add run-make test to check the SDK version(s) that rustc produces 2024-09-29 14:45:09 +02:00
Mads Marquart
0bebedd799 Document a bit more how the SDK version actually works 2024-09-29 14:45:08 +02:00
Matthias Krüger
71cd918dc7 cleanup: don't clone types that are Copy 2024-09-29 13:31:30 +02:00
Guillaume Gomez
6f5f21adfc Rename doctest attribute standalone-crate into standalone_crate for coherency 2024-09-29 13:01:41 +02:00