Commit graph

13068 commits

Author SHA1 Message Date
The Miri Cronjob Bot
2431949e2a Preparing for merge from rustc 2024-08-06 04:57:39 +00:00
bors
a554f4d715 Auto merge of #3789 - RalfJung:deps, r=RalfJung
bump dependencies

In particular pick up https://github.com/RalfJung/rustc-build-sysroot/pull/22 to fix the fallout from https://github.com/rust-lang/rust/pull/128534.
2024-08-05 17:54:48 +00:00
Ralf Jung
014fdb56b4 bump dependencies 2024-08-05 19:29:37 +02:00
Ralf Jung
b113bbec4f use a Miri-specific folder for ui tests 2024-08-05 19:25:56 +02:00
Ralf Jung
9213c6c93f bump rustc-build-sysroot dependency 2024-08-05 19:00:29 +02:00
Ralf Jung
61463fd042 fmt 2024-08-05 11:06:36 +02:00
Ralf Jung
34aa09aa53 Merge from rustc 2024-08-05 11:06:36 +02:00
Ralf Jung
d28083728d Preparing for merge from rustc 2024-08-05 10:49:01 +02:00
bors
176e545209 Auto merge of #128534 - bjorn3:split_stdlib_workspace, r=Mark-Simulacrum
Move the standard library to a separate workspace

This ensures that the Cargo.lock packaged for it in the rust-src component is up-to-date, allowing rust-analyzer to run cargo metadata on the standard library even when the rust-src component is stored in a read-only location as is necessary for loading crates.io dependencies of the standard library.

This also simplifies tidy's license check for runtime dependencies as it can now look at all entries in library/Cargo.lock without having to filter for just the dependencies of runtime crates. In addition this allows removing an exception in check_runtime_license_exceptions that was necessary due to the compiler enabling a feature on the object crate which pulls in a dependency not allowed for the standard library.

While cargo workspaces normally enable dependencies of multiple targets to be reused, for the standard library we do not want this reusing to prevent conflicts between dependencies of the sysroot and of tools that are built using this sysroot. For this reason we already use an unstable cargo feature to ensure that any dependencies which would otherwise be shared get a different -Cmetadata argument as well as using separate build dirs.

This doesn't change the situation around vendoring. We already have several cargo workspaces that need to be vendored. Adding another one doesn't change much.

There are also no cargo profiles that are shared between the root workspace and the library workspace anyway, so it doesn't add any extra work when changing cargo profiles.
2024-08-04 18:40:03 +00:00
bors
ebd08d8ed5 Auto merge of #128634 - matthiaskrgr:rollup-l5a2v5k, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #128305 (improve error message when `global_asm!` uses `asm!` operands)
 - #128526 (time.rs: remove "Basic usage text")
 - #128531 (Miri: add a flag to do recursive validity checking)
 - #128578 (rustdoc: Cleanup `CacheBuilder` code for building search index)
 - #128589 (allow setting `link-shared` and `static-libstdcpp` with CI LLVM)
 - #128615 (rustdoc: make the hover trail for doc anchors a bit bigger)
 - #128620 (Update rinja version to 0.3.0)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-04 11:57:59 +00:00
Matthias Krüger
19bceedd78
Rollup merge of #128531 - RalfJung:miri-recursive-validity, r=saethlin
Miri: add a flag to do recursive validity checking

The point of this flag is to allow gathering experimental data for https://github.com/rust-lang/unsafe-code-guidelines/issues/412.
2024-08-04 11:32:34 +02:00
Jerry Wang
1ca959e3f0
Migrate print-target-list to rmake 2024-08-03 22:36:08 -04:00
Jerry Wang
3a41a11a8f
Migrate run-make/print-calling-conventions to ui-test 2024-08-03 20:09:42 -04:00
bors
ad0a2b7180 Auto merge of #128595 - matthiaskrgr:rollup-7a4qa8b, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #126704 (Added SHA512, SM3, SM4 target-features and `sha512_sm_x86` feature gate)
 - #127586 (Add `#[must_use]` to some `into_raw*` functions.)
 - #128161 (nested aux-build in tests/rustdoc/ tests)
 - #128303 (Enable `std::io::copy` specialisation for `std::pipe::{PipeReader, PipeWriter}`)
 - #128368 (Formatting tweaks)
 - #128483 (Still more `cfg` cleanups)
 - #128557 (chore: use shorthand initializer)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-03 10:40:36 +00:00
Matthias Krüger
47a795bbd3
Rollup merge of #128161 - EtomicBomb:just-compiletest, r=notriddle
nested aux-build in tests/rustdoc/ tests

* Fixes bug that prevented using nested aux-build in `tests/rustdoc/` tests. Before, `fn document` and the auxiliary builder disagreed about where to find the nested aux-build source file (`auxiliary/auxiliary/aux.rs` vs `auxiliary/aux.rs`), preventing them from building. Picked the latter in line with other builders in compiletest.
* Adds `//@ doc-flags` header, which forwards flags to rustdoc and not rustc.
* Adds `//@ unique-doc-out-dir` header, which sets the --out-dir for the rustdoc invocation to a unique directory: `<root out dir>/docs/<test name>/doc`
* Changes working directory of the rustdoc invocation to the root out directory (common among all aux-builds). Prior art: exec_compiled_test in runtest.rs
* Adds tests that use nested aux builds and new headers

These changes provide useful capabilities for writing rustdoc tests on their own. They are also needed to test the implementation for the [mergable-rustdoc-cross-crate-info](https://github.com/rust-lang/rfcs/pull/3662) RFC.

try-job: x86_64-msvc
2024-08-03 11:17:42 +02:00
Ralf Jung
21c02517c3 Miri: add a flag to do recursive validity checking 2024-08-03 10:33:58 +02:00
bors
a6043039ad Auto merge of #128356 - Oneirical:real-estate-reaLTOr, r=jieyouxu
Migrate `cross-lang-lto-clang` and `cross-lang-lto-pgo-smoketest` `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).

This has the same problem outlined by #126180, where the tests do not actually run as no test-running CI enviroment has `RUSTBUILD_FORCE_CLANG_BASED_TESTS` set.

However, I still find it interesting to turn the Makefiles into the rmake format until the Clang issue is fixed.

This should technically be tested on MSVC... if MSVC actually ran Clang tests.

try-job: x86_64-gnu-debug
2024-08-03 08:07:00 +00:00
The Miri Cronjob Bot
62e2800ee4 Merge from rustc 2024-08-03 05:11:07 +00:00
The Miri Cronjob Bot
6aab319def Preparing for merge from rustc 2024-08-03 05:03:34 +00:00
bors
eefd2eac52 Auto merge of #128576 - weihanglo:update-cargo, r=weihanglo
Update cargo

15 commits in 257b72b8adfb1f2aa9916cefca67285c21666276..fa646583675d7c140482bd906145c71b7fb4fc2b
2024-07-30 15:08:27 +0000 to 2024-08-02 16:08:06 +0000
- refactor(toml): Rename 'resolved' to 'normalized' (rust-lang/cargo#14342)
- faq: rephrase offline usage. (rust-lang/cargo#14336)
- docs(unstable): Improve nightly link (rust-lang/cargo#14344)
- Fix a typo in 1.81 changes (rust-lang/cargo#14343)
- Change tests to support `rustc` wording changes (rust-lang/cargo#14341)
- chore(deps): update rust crate windows-sys to 0.59 (rust-lang/cargo#14335)
- chore(deps): update rust crate gix to 0.64.0 (rust-lang/cargo#14332)
- chore(deps): update compatible (rust-lang/cargo#14331)
- chore(deps): update rust crate rusqlite to 0.32.0 (rust-lang/cargo#14334)
- fix: also build manpage for cargo.md (rust-lang/cargo#14339)
- fix(config): Adjust MSRV resolve config field name / values (rust-lang/cargo#14296)
- fix(toml): Resolve regression from toml_edit 0.22.18 (rust-lang/cargo#14329)
- test(publish): More dev-dep stripping cases (rust-lang/cargo#14327)
- Use gmake on AIX (rust-lang/cargo#14323)
- fix(publish): Don't strip non-dev features (rust-lang/cargo#14325)

r? ghost
2024-08-03 03:46:44 +00:00
Weihang Lo
05111c90be
Update cargo 2024-08-02 20:36:03 -04:00
bors
1df0458781 Auto merge of #128528 - workingjubilee:you-dont-need-to-see-this-cpuid-move-along, r=Amanieu
Finish removing `has_cpuid`

The one use of it was guaranteed to be always true.

try-job: test-various
2024-08-03 00:18:15 +00:00
bors
fd8d6fbe50 Auto merge of #128361 - Oneirical:testle-deforestation, r=jieyouxu
Migrate `link-cfg` and `rustdoc-default-output` `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).

try-job: aarch64-apple
try-job: x86_64-msvc
try-job: x86_64-mingw
try-job: x86_64-gnu-llvm-18
try-job: i686-msvc
2024-08-02 18:24:21 +00:00
Oneirical
290a260721 run cross-lang-lto-pgo-smoketest in CI by renaming it 2024-08-02 11:54:20 -04:00
Oneirical
560e86d753 rewrite cross-lang-lto-pgo-smoketest to rmake 2024-08-02 11:53:32 -04:00
Oneirical
c0d9357a4c rewrite cross-lang-lto-clang to rmake 2024-08-02 11:53:32 -04:00
Oneirical
c27fa5c332 rewrite rustdoc-default-output to rmake 2024-08-02 11:50:19 -04:00
Oneirical
46b4083e6f rewrite foreign-exceptions to rmake 2024-08-02 10:06:20 -04:00
Oneirical
5b44f800f3 rewrite and rename issue-36710 to rmake 2024-08-02 10:06:07 -04:00
Oneirical
8f641b1b95 rewrite foreign-double-unwind to rmake 2024-08-02 10:05:55 -04:00
bors
5852b24490 Auto merge of #3769 - primoly:miri-start, r=RalfJung
Add `miri_start` support

This PR uses a function with the exported symbol `miri_start` as a drop-in alternative to `#[start]`. So the signature stays the same as suggested in [this comment](https://github.com/rust-lang/miri/issues/3498#issuecomment-2088560526). <del>I’ve also removed Miri’s restriction  to only work on bin crates as I don’t think this is necessary anymore.</del>

Closes #3758
2024-08-02 12:17:59 +00:00
Ralf Jung
6bb119764b docs 2024-08-02 14:16:36 +02:00
primoly
c4b7417754 Add miri_start support 2024-08-02 14:02:34 +02:00
bors
5367673014 Auto merge of #128352 - Oneirical:daLTOnist-vision, r=jieyouxu
Migrate `cross-lang-lto` `run-make` test 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).

Please try:

try-job: x86_64-msvc
try-job: i686-mingw
try-job: x86_64-mingw
try-job: armhf-gnu
try-job: test-various
try-job: aarch64-apple
try-job: x86_64-gnu-llvm-18
2024-08-02 10:59:19 +00:00
bjorn3
1f3be75f56 Move the standard library to a separate workspace
This ensures that the Cargo.lock packaged for it in the rust-src
component is up-to-date, allowing rust-analyzer to run cargo metadata on
the standard library even when the rust-src component is stored in a
read-only location as is necessary for loading crates.io dependencies of
the standard library.

This also simplifies tidy's license check for runtime dependencies as it
can now look at all entries in library/Cargo.lock without having to
filter for just the dependencies of runtime crates. In addition this
allows removing an exception in check_runtime_license_exceptions that
was necessary due to the compiler enabling a feature on the object crate
which pulls in a dependency not allowed for the standard library.

While cargo workspaces normally enable dependencies of multiple targets
to be reused, for the standard library we do not want this reusing to
prevent conflicts between dependencies of the sysroot and of tools that
are built using this sysroot. For this reason we already use an unstable
cargo feature to ensure that any dependencies which would otherwise be
shared get a different -Cmetadata argument as well as using separate
build dirs.

This doesn't change the situation around vendoring. We already have
several cargo workspaces that need to be vendored. Adding another one
doesn't change much.

There are also no cargo profiles that are shared between the root
workspace and the library workspace anyway, so it doesn't add any extra
work when changing cargo profiles.
2024-08-02 10:48:12 +00:00
bjorn3
7742be0095 Handle virtual workspaces in the tidy edition check 2024-08-02 10:02:02 +00:00
Jubilee Young
36527d691e rustfmt: Remove has_cpuid from test 2024-08-02 02:12:29 -07:00
The Miri Cronjob Bot
fc260e163a fmt 2024-08-02 05:05:50 +00:00
The Miri Cronjob Bot
85ed3fe55d Merge from rustc 2024-08-02 05:04:35 +00:00
The Miri Cronjob Bot
7d7c4db474 Preparing for merge from rustc 2024-08-02 04:56:48 +00:00
bors
2cec7a85ed Auto merge of #128529 - matthiaskrgr:rollup-gzq2slo, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #126818 (Better handle suggestions for the already present code and fix some suggestions)
 - #128436 (Update sysinfo version to 0.31.2)
 - #128453 (raw_eq: using it on bytes with provenance is not UB (outside const-eval))
 - #128491 ([`macro_metavar_expr_concat`] Dogfooding)
 - #128494 (MIR required_consts, mentioned_items: ensure we do not forget to fill these lists)
 - #128521 (rustdoc: Remove dead opaque_tys rendering logic)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-02 04:53:45 +00:00
Matthias Krüger
67fcb58347
Rollup merge of #128453 - RalfJung:raw_eq, r=saethlin
raw_eq: using it on bytes with provenance is not UB (outside const-eval)

The current behavior of raw_eq violates provenance monotonicity. See https://github.com/rust-lang/rust/pull/124921 for an explanation of provenance monotonicity. It is violated in raw_eq because comparing bytes without provenance is well-defined, but adding provenance makes the operation UB.

So remove the no-provenance requirement from raw_eq. However, the requirement stays in-place for compile-time invocations of raw_eq, that indeed cannot deal with provenance.

Cc `@rust-lang/opsem`
2024-08-02 06:43:43 +02:00
Matthias Krüger
2dabaa01aa
Rollup merge of #128436 - GuillaumeGomez:update-sysinfo, r=clubby789
Update sysinfo version to 0.31.2

I needed to update `memchr` version (which was pinned in 36a16798f7). So let's see if it triggers the linker issue.

try-job: x86_64-mingw
2024-08-02 06:43:42 +02:00
Matthias Krüger
d1d57bd104
Rollup merge of #126818 - estebank:suggestions-fix, r=wesleywiser
Better handle suggestions for the already present code and fix some suggestions

When a suggestion part is for code that is already present, skip it. If all the suggestion parts for a suggestion are for code that is already there, do not emit the suggestion.

Fix two suggestions that treat `span_suggestion` as if it were `span_help`.
2024-08-02 06:43:41 +02:00
bors
05e692ae02 Auto merge of #128147 - lolbinarycat:fmt-write-bloat-rmake, r=jieyouxu
migrate fmt-write-bloat to rmake

try-job: aarch64-apple
try-job: x86_64-gnu-llvm-18
try-job: dist-x86_64-linux
2024-08-02 02:28:59 +00:00
bors
425ae69588 Auto merge of #127624 - Oneirical:a-test-of-lime, r=jieyouxu
Migrate and rename `issue-47551`, `issue-35164` and `issue-69368` `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).

try-job: dist-x86_64-msvc
2024-08-02 00:03:42 +00:00
bors
8e86c95671 Auto merge of #127276 - aDotInTheVoid:no-opaque, r=camelid
rustdoc: Remove OpaqueTy

r? `@ghost`

Apparently this works lol?!?

try-job: aarch64-apple
2024-08-01 19:45:25 +00:00
Esteban Küber
8ce8c42e0b Do not underline suggestions for code that is already there
When a suggestion part is for already present code, do not highlight it. If after that there are no highlights left, do not show the suggestion at all.

Fix clippy lint suggestion incorrectly treated as `span_help`.
2024-08-01 18:53:42 +00:00
Matthias Krüger
8671b0bfbd
Rollup merge of #128482 - RalfJung:ptr-signed-offset, r=oli-obk
interpret: on a signed deref check, mention the right pointer in the error

When a negative offset (like `ptr.offset(-10)`) goes out-of-bounds, we currently show an error saying that we expect the *resulting* pointer to be inbounds for 10 bytes. That's confusing, so this PR makes it so that instead we say that we expect the *original* pointer `ptr` to have 10 bytes *to the left*.

I also realized I can simplify the pointer arithmetic logic and handling of "staying inbounds of a target `usize`" quite a bit; the second commit does that.
2024-08-01 18:43:40 +02:00
Alona Enraght-Moony
73ac5e0c6e rustdoc: Remove OpaqueTy 2024-08-01 15:57:45 +00:00