Commit graph

12180 commits

Author SHA1 Message Date
Alona Enraght-Moony
7e8aac553e rustdoc-json: Better representation of lifetime bounds in where clauses.
As suggested [on zulip][1], there's no need to use `GenericBound` here,
as the only bound a lifetime can have is that it outlives other
lifetimes.

While we're making breaking changes here, I also renamed it from using
"region" to "lifetime", as this is more user-aligned. See [this
comment][2] for details.

[1]: https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/.60ItemEnum.3A.3AOpaqueTy.60/near/448871430
[2]: https://github.com/rust-lang/rust/issues/100961#issuecomment-2206565556
2024-07-03 20:00:56 +00:00
bors
c872a1418a Auto merge of #125507 - compiler-errors:type-length-limit, r=lcnr
Re-implement a type-size based limit

r? lcnr

This PR reintroduces the type length limit added in #37789, which was accidentally made practically useless by the caching changes to `Ty::walk` in #72412, which caused the `walk` function to no longer walk over identical elements.

Hitting this length limit is not fatal unless we are in codegen -- so it shouldn't affect passes like the mir inliner which creates potentially very large types (which we observed, for example, when the new trait solver compiles `itertools` in `--release` mode).

This also increases the type length limit from `1048576 == 2 ** 20` to `2 ** 24`, which covers all of the code that can be reached with craterbot-check. Individual crates can increase the length limit further if desired.

Perf regression is mild and I think we should accept it -- reinstating this limit is important for the new trait solver and to make sure we don't accidentally hit more type-size related regressions in the future.

Fixes #125460
2024-07-03 11:56:36 +00:00
bors
2db4ff40af Auto merge of #127261 - jhpratt:rollup-cpoayvr, r=jhpratt
Rollup of 8 pull requests

Successful merges:

 - #123588 (Stabilize `hint::assert_unchecked`)
 - #126403 (Actually report normalization-based type errors correctly for alias-relate obligations in new solver)
 - #126917 (Disable rmake test `inaccessible-temp-dir` on riscv64)
 - #127115 (unreferenced-used-static: run test everywhere)
 - #127204 (Stabilize atomic_bool_fetch_not)
 - #127239 (remove unnecessary ignore-endian-big from stack-overflow-trait-infer …)
 - #127245 (Add a test for `generic_const_exprs`)
 - #127246 (Give remote-test-client a longer timeout)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-07-03 08:36:39 +00:00
Jacob Pratt
d801730872
Rollup merge of #127246 - ferrocene:hoverbear/remote-test-client-has-longer-timeout, r=Mark-Simulacrum
Give remote-test-client a longer timeout

In https://github.com/rust-lang/rust/pull/126959, ``@Mark-Simulacrum`` suggested we simply extend the timeout of the `remote-test-client` instead of making it configurable. This is acceptable for my use case.

I'm doing some work with a remote host running tests using `x.py`'s remote test runner system.

After building the `remote-test-server` with:

```bash
./x build src/tools/remote-test-server --target aarch64-unknown-linux-gnu
```

I can transfer the `remote-test-server` to the remote and set up a port forwarded SSH connection, then I run:

```bash
TEST_DEVICE_ADDR=127.0.0.1:12345 ./x.py test library/core --target aarch64-unknown-linux-gnu
```

This works great if the host is nearby, however if the average round trip time is over 100ms (the timeout), it creates problems as it silently trips the timeout.

This PR extends that timeout to a less strict 2s.

r? ``@Mark-Simulacrum``
2024-07-03 03:03:17 -04:00
Weihang Lo
1ca7e24e36
Update cargo 2024-07-02 23:34:50 -04:00
Michael Goulet
b1059ccda2 Instance::resolve -> Instance::try_resolve, and other nits 2024-07-02 17:28:03 -04:00
Ana Hobden
4b0b97f66d
Give remote-test-client a longer timeout 2024-07-02 10:09:40 -07:00
Matthias Krüger
a10c231118
Rollup merge of #127230 - hattizai:patch01, r=saethlin
chore: remove duplicate words

remove duplicate words in comments to improve readability.
2024-07-02 17:47:50 +02:00
Matthias Krüger
3cf567e3c0
Rollup merge of #127136 - compiler-errors:coroutine-closure-env-shim, r=oli-obk
Fix `FnMut::call_mut`/`Fn::call` shim for async closures that capture references

I adjusted async closures to be able to implement `Fn` and `FnMut` *even if* they capture references, as long as those references did not need to borrow data from the closure captures themselves. See #125259.

However, when I did this, I didn't actually relax an assertion in the `build_construct_coroutine_by_move_shim` shim code, which builds the `Fn`/`FnMut`/`FnOnce` implementations for async closures. Therefore, if we actually tried to *call* `FnMut`/`Fn` on async closures, it would ICE.

This PR adjusts this assertion to ensure that we only capture immutable references in closures if they implement `Fn`/`FnMut`. It also adds a bunch of tests and makes more of the async-closure tests into `build-pass` since we often care about these tests actually generating the right closure shims and stuff. I think it might be excessive to *always* use build-pass here, but 🤷 it's not that big of a deal.

Fixes #127019
Fixes #127012

r? oli-obk
2024-07-02 17:47:46 +02:00
hattizai
ada9fda7c3 chore: remove duplicate words 2024-07-02 11:25:31 +08:00
bors
7d97c59438 Auto merge of #126941 - GuillaumeGomez:migrate-run-make-llvm-ident, r=Kobzol
Migrate `run-make/llvm-ident` to `rmake.rs`

Part of https://github.com/rust-lang/rust/issues/121876.

r? `@Kobzol`

try-job: armhf-gnu
2024-07-01 21:55:41 +00:00
Guillaume Gomez
a509b5a0ba
Rollup merge of #127201 - GuillaumeGomez:improve-run-make-support, r=Kobzol
Improve run-make-support API

I think I'll slowly continue this work. Makes things a bit nicer for contributors, so why not. :D

r? ``@Kobzol``
2024-07-01 20:29:59 +02:00
Guillaume Gomez
61e7f05895
Rollup merge of #126880 - Rejyr:migrate-rmake-vw, r=Kobzol
Migrate `volatile-intrinsics`, `weird-output-filenames`, `wasm-override-linker`, `wasm-exceptions-nostd` to `rmake`

Also refactors `wasm-abi` and `compressed-debuginfo`.

Part of #121876.

r? ``@jieyouxu``

try-job: x86_64-gnu-debug
try-job: dist-various-2
2024-07-01 20:29:57 +02:00
Guillaume Gomez
7276499dc9 Migrate run-make/llvm-ident to rmake.rs 2024-07-01 15:12:13 +02:00
Guillaume Gomez
fc8b6c6657 Add input_file method on LlvmFileCheck 2024-07-01 15:10:13 +02:00
Guillaume Gomez
fcfac05657 Improve target method API in run-make-support 2024-07-01 10:55:57 +02:00
Guillaume Gomez
b5b97dccae Improve run-make-support API for assert* functions 2024-07-01 10:55:57 +02:00
Matthias Krüger
4037197353
Rollup merge of #127161 - GuillaumeGomez:improve-run-make-args, r=Kobzol
Improve `run-make-support` library `args` API

It allows to pass both `Vec` and slices, which makes it much better (for me at least 😉).

r? ``@Kobzol``
2024-06-30 18:25:35 +02:00
Matthias Krüger
6f5765599e
Rollup merge of #126018 - nnethercote:rm-box_pointers-lint, r=lcnr
Remove the `box_pointers` lint.

As the comment says, this lint "is mostly historical, and not particularly useful". It's not worth keeping it around.

r? ``@estebank``
2024-06-30 18:25:31 +02:00
Guillaume Gomez
4b516f599b Improve run-make-support library args API 2024-06-30 12:40:24 +02:00
bors
716752ebe6 Auto merge of #127133 - matthiaskrgr:rollup-jxkp3yf, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #123237 (Various rustc_codegen_ssa cleanups)
 - #126960 (Improve error message in tidy)
 - #127002 (Implement `x perf` as a separate tool)
 - #127081 (Add a run-make test that LLD is not being used by default on the x64 beta/stable channel)
 - #127106 (Improve unsafe extern blocks diagnostics)
 - #127110 (Fix a error suggestion for E0121 when using placeholder _ as return types on function signature.)
 - #127114 (fix: prefer `(*p).clone` to `p.clone` if the `p` is a raw pointer)
 - #127118 (Show `used attribute`'s kind for user when find it isn't applied to a `static` variable.)
 - #127122 (Remove uneccessary condition in `div_ceil`)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-06-30 02:20:01 +00:00
Michael Goulet
90143b0be8 Fix FnMut/Fn shim for coroutine-closures that capture references 2024-06-29 17:38:02 -04:00
Matthias Krüger
6d74ffd238
Rollup merge of #127002 - Kobzol:bootstrap-perf-tool, r=onur-ozkan
Implement `x perf` as a separate tool

Continues work from https://github.com/rust-lang/rust/pull/126318, adds a CLI for running `rustc-perf` profiling commands through a new `rustc-perf-wrapper` tool. The CLI is in a separate tool to enable experimentation outside of `bootstrap`.

This is probably most of what we can do so far, I'll add support for benchmarking once `rustc-perf` gets a terminal output for comparing benchmark results.

r? ``@onur-ozkan``
2024-06-29 22:10:56 +02:00
Matthias Krüger
6df68793f3
Rollup merge of #126960 - Kobzol:tidy-venv-message, r=tgross35
Improve error message in tidy

The old error message was wrong (there is no `venv` Python package on PyPi), and we did not specify the correct Python path in the error message.
2024-06-29 22:10:56 +02:00
bors
ba1d7f4a08 Auto merge of #120639 - fee1-dead-contrib:new-effects-desugaring, r=oli-obk
Implement new effects desugaring

cc `@rust-lang/project-const-traits.` Will write down notes once I have finished.

* [x] See if we want `T: Tr` to desugar into `T: Tr, T::Effects: Compat<true>`
* [x] Fix ICEs on `type Assoc: ~const Tr` and `type Assoc<T: ~const Tr>`
* [ ] add types and traits to minicore test
* [ ] update rustc-dev-guide

Fixes #119717
Fixes #123664
Fixes #124857
Fixes #126148
2024-06-29 20:08:10 +00:00
bors
d1b7355d3d Auto merge of #126801 - Oneirical:seek-and-testroy, r=Kobzol
Migrate `remap-path-prefix`, `debug-assertions` and `emit-stack-sizes` `run-make` tests to rmake

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

Needs OSX/MSVC try jobs.

try-job: aarch64-apple
try-job: x86_64-msvc
2024-06-29 17:50:06 +00:00
Jakub Beránek
f6f21a8f11 Review changes 2024-06-29 16:07:22 +02:00
bors
19a1d2b404 Auto merge of #127121 - GuillaumeGomez:rollup-xjjjckn, r=GuillaumeGomez
Rollup of 7 pull requests

Successful merges:

 - #126805 (Migrate `pdb-alt-path`, `mismatching-target-triples` and `mingw-export-call-convention` `run-make` tests to rmake)
 - #126995 (Migrate `pretty-print-with-dep-file`, `pretty-print-to-file` and `libtest-padding` `run-make` tests to rmake)
 - #127041 (Migrate `run-make/override-aliased-flags` to `rmake.rs`)
 - #127072 (docs: say "includes" instead of "does include")
 - #127073 (Remove unnecessary SeqCst in `impl fmt::Pointer for AtomicPtr`)
 - #127112 (Bootstrap: Don't get output if `lldb --version` errors)
 - #127116 (Migrate `run-make/return-non-c-like-enum` to `rmake.rs`)

Failed merges:

 - #127050 (Make mtime of reproducible tarballs dependent on git commit)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-06-29 14:00:29 +00:00
Jerry Wang
68b6bb27c1 Migrate wasm-exceptions-nostd to rmake 2024-06-29 08:14:54 -04:00
Jerry Wang
189232bc42 Migrate wasm-override-linker to rmake 2024-06-29 08:14:02 -04:00
Jerry Wang
56fe015d4a Migrate weird-output-filenames to rmake 2024-06-29 08:14:02 -04:00
Jerry Wang
614e04226d Migrate volatile-intrinsics to rmake 2024-06-29 08:14:00 -04:00
Guillaume Gomez
69f355a74b
Rollup merge of #127116 - GuillaumeGomez:run-make-return-non-c-like-enum, r=Kobzol,jieyouxu
Migrate `run-make/return-non-c-like-enum` to `rmake.rs`

Part of https://github.com/rust-lang/rust/issues/121876.

r? `@Kobzol`
2024-06-29 14:07:23 +02:00
Guillaume Gomez
c1fb4e5947
Rollup merge of #127041 - GuillaumeGomez:run-make-override-aliased-flags, r=Kobzol
Migrate `run-make/override-aliased-flags` to `rmake.rs`

Part of https://github.com/rust-lang/rust/issues/121876.

I voluntarily didn't use the helper methods to make it obvious what's tested.

r? `@jieyouxu`
2024-06-29 14:07:21 +02:00
Guillaume Gomez
c70a2e30dd
Rollup merge of #126995 - Oneirical:test-friends-forever, r=Kobzol
Migrate `pretty-print-with-dep-file`, `pretty-print-to-file` and `libtest-padding` `run-make` tests to rmake

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).
2024-06-29 14:07:20 +02:00
Guillaume Gomez
06aeb679f6
Rollup merge of #126805 - Oneirical:weaves-of-testiny, r=Kobzol
Migrate `pdb-alt-path`, `mismatching-target-triples` and `mingw-export-call-convention` `run-make` tests to rmake

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

Needs MSVC try jobs.

try-job: x86_64-mingw
try-job: x86_64-msvc
2024-06-29 14:07:20 +02:00
bors
f8453359bb Auto merge of #127119 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2024-06-29 11:44:01 +00:00
Guillaume Gomez
8cbeedac8d Migrate run-make/return-non-c-like-enum to rmake.rs 2024-06-29 12:29:37 +02:00
Ralf Jung
66a885b25d iter_exported_symbols: also walk used statics in local crate 2024-06-29 12:17:10 +02:00
Guillaume Gomez
4ee077aa63 Migrate run-make/override-aliased-flags to rmake.rs 2024-06-29 11:55:30 +02:00
bors
be99243afc Auto merge of #127111 - matthiaskrgr:rollup-ybzkuuv, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #126822 (Bootstrap command refactoring: port more `Command` usages to `BootstrapCmd` (step 2))
 - #126835 (Simplifications in match lowering)
 - #126953 (std: separate TLS key creation from TLS access)
 - #127045 (Rename `super_predicates_of` and similar queries to `explicit_*` to note that they're not elaborated)
 - #127075 (rustc_data_structures: Explicitly check for 64-bit atomics support)
 - #127101 (remove redundant match statement from dataflow const prop)
 - #127102 (Rename fuchsia builder and bump Fuchsia)
 - #127103 (Move binder and polarity parsing into `parse_generic_ty_bound`)
 - #127108 (unify `dylib` and `bin_helpers` and create `shared_helpers::parse_value_from_args`)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-06-29 09:29:41 +00:00
Matthias Krüger
e9d5a2f45f
Rollup merge of #127045 - compiler-errors:explicit, r=oli-obk
Rename `super_predicates_of` and similar queries to `explicit_*` to note that they're not elaborated

Rename:
* `super_predicates_of` -> `explicit_super_predicates_of`
* `implied_predicates_of` -> `explicit_implied_predicates_of`
* `supertraits_containing_assoc_item` -> `explicit_supertraits_containing_assoc_item`

This makes it clearer that, unlike (for example) [`TyCtxt::super_traits_of`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/context/struct.TyCtxt.html#method.super_traits_of), we don't automatically elaborate this set of predicates.

r? ``@lcnr`` or ``@oli-obk`` or someone from t-types idc
2024-06-29 09:14:57 +02:00
bors
38d0f87a49 Auto merge of #126698 - Oneirical:tessteract, r=Kobzol
Migrate `unknown-mod-stdin`, `issue-68794-textrel-on-minimal-lib`, `raw-dylib-cross-compilation` and `used-cdylib-macos` `run-make` tests to rmake

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

Seriously needs OSX/Windows try-jobs. If it fails, restore `only-linux` in `textrel-on-minimal-lib` and try again.

try-job: x86_64-mingw
try-job: x86_64-msvc
2024-06-29 07:12:17 +00:00
The Miri Cronjob Bot
ec7bcc0357 Merge from rustc 2024-06-29 05:20:59 +00:00
The Miri Cronjob Bot
64c8366ca2 Preparing for merge from rustc 2024-06-29 05:13:25 +00:00
Rémy Rakic
224cb3f638 Revert "Rollup merge of #126938 - RalfJung:link_section, r=compiler-errors"
This reverts commit 5c4ede88c6, reversing
changes made to 95332b8918.
2024-06-28 20:59:01 +00:00
Oneirical
1795082842 rmeta_contains functions for remap-path-prefix 2024-06-28 16:30:17 -04:00
Oneirical
4c9eeda36d rewrite used-cdylib-macos to rmake 2024-06-28 16:28:57 -04:00
Oneirical
ec1ed26263 rewrite raw-dylib-cross-compilation to rmake 2024-06-28 16:28:24 -04:00
Oneirical
a4f3e5f725 rewrite and slightly rename issue-68794-textrel-on-minimal-lib 2024-06-28 16:28:24 -04:00