Commit Graph

151003 Commits

Author SHA1 Message Date
Oneirical fe4cd9aa8d rewrite long-linker-command-lines-cmd-exe to rmake 2024-08-06 11:03:18 -04:00
Oneirical fe6feb8c6e rewrite long-linker-command-lines to rmake 2024-08-06 11:03:17 -04:00
Oneirical 342b807e1a rewrite cross-lang-lto-upstream-rlibs to rmake 2024-08-06 11:03:17 -04:00
bors 60d146580c Auto merge of #128245 - Oneirical:total-linkage-ownage, r=jieyouxu
Migrate `cdylib-dylib-linkage` `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).

~~Those sysroot tests are always fun. I'm getting local errors that don't make a lot of sense about my own sysroot not existing, so I am trying this in CI to see what happens.~~

~~EDIT: I am getting the same error here. The strange thing is, when I try to navigate to `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib` on my personal computer, the directory does exist, but the error message is that the directory does not.~~

EDIT 2: The sysroot path just needed to be trimmed!

Please try:

// try-job: x86_64-msvc // passed previously
try-job: x86_64-mingw
try-job: x86_64-gnu-llvm-18
try-job: i686-msvc
try-job: aarch64-apple
2024-08-06 11:15:31 +00:00
bors b586701f78 Auto merge of #128707 - matthiaskrgr:rollup-63klywk, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #122049 (Promote riscv64gc-unknown-linux-musl to tier 2)
 - #128580 (Use `ParamEnv::reveal_all` in CFI)
 - #128688 (custom MIR: add support for tail calls)
 - #128694 (Normalize when equating `dyn` tails in MIR borrowck)
 - #128697 (interpret: move nullary-op evaluation into operator.rs)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-05 22:53:14 +00:00
Matthias Krüger c53698b399 Rollup merge of #128697 - RalfJung:nullary-op, r=compiler-errors
interpret: move nullary-op evaluation into operator.rs

We call it an operator, so we might as well treat it like one. :)

Also use more consistent naming for the "evaluate intrinsic" functions. "emulate" is really the wrong term, this *is* a genuine implementation of the intrinsic semantics after all.
2024-08-05 23:35:24 +02:00
Matthias Krüger 8cbf1c1b22 Rollup merge of #122049 - Amanieu:riscv64-musl-tier2, r=Mark-Simulacrum
Promote riscv64gc-unknown-linux-musl to tier 2
2024-08-05 23:35:22 +02:00
Ralf Jung 46896d6f66 interpret: move nullary-op evaluation into operator.rs 2024-08-05 22:42:34 +02:00
bors e57f3090ae Auto merge of #128699 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2024-08-05 20:22:35 +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
Matthias Krüger 86798401df Rollup merge of #128686 - onur-ozkan:unnecessary-type-cast, r=Kobzol
fix the invalid argument type

It was obviously wrong..
2024-08-05 18:36:03 +02:00
Matthias Krüger 9d924d11c4 Rollup merge of #128631 - onur-ozkan:hotfix, r=Mark-Simulacrum
handle crates when they are not specified for std docs

Fixes a regression from https://github.com/rust-lang/rust/pull/128182.

Resolves #128610
2024-08-05 18:36:02 +02:00
Matthias Krüger 376a6f9f43 Rollup merge of #128385 - its-the-shrimp:fix_114039, r=aDotInTheVoid
rustdoc-json: discard non-local inherent impls for primitives

Fixes #114039
at least it should
r? `@aDotInTheVoid`
2024-08-05 18:36:01 +02:00
onur-ozkan ab690d31ce fix the invalid argument type in helpers::get_closest_merge_base_commit
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-08-05 17:55:42 +03:00
Oneirical 20332dae2f rewrite cdylib-dylib-linkage to rmake 2024-08-05 10:39:17 -04:00
bors 83e9b93c90 Auto merge of #127095 - Oneirical:testiary-education, r=jieyouxu
Migrate `reproducible-build-2` and `stable-symbol-names` `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 try-jobs.

try-job: x86_64-msvc
try-job: armhf-gnu
try-job: test-various
try-job: aarch64-apple
try-job: i686-msvc
try-job: x86_64-mingw
2024-08-05 12:16:05 +00:00
schvv31n 7499e21a1e rustdoc-json: discard non-local inherent impls 2024-08-05 11:19:22 +01: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 4d48a6be74 Auto merge of #128673 - matthiaskrgr:rollup-gtvpkm7, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #128026 (std:🧵 available_parallelism implementation for vxWorks proposal.)
 - #128471 (rustdoc: Fix handling of `Self` type in search index and refactor its representation)
 - #128607 (Use `object` in `run-make/symbols-visibility`)
 - #128609 (Remove unnecessary constants from flt2dec dragon)
 - #128611 (run-make: Remove cygpath)
 - #128619 (Correct the const stabilization of `<[T]>::last_chunk`)
 - #128630 (docs(resolve): more explain about `target`)
 - #128660 (tests: more crashes)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-05 06:55:50 +00:00
Matthias Krüger baa00e5fb2 Rollup merge of #128611 - ChrisDenton:cygpath, r=jieyouxu
run-make: Remove cygpath

Remove cygpath from run-make-support.
2024-08-05 08:22:23 +02:00
Matthias Krüger 4adefa4334 Rollup merge of #128471 - camelid:rustdoc-self, r=notriddle
rustdoc: Fix handling of `Self` type in search index and refactor its representation

### Summary

- Add enum variant `clean::Type::SelfTy` and use it instead of `clean::Type::Generic(kw::SelfUpper)`.
- Stop treating `Self` as a generic in the search index.
- Remove struct formerly known as `clean::SelfTy` (constructed as representation of function receiver type). We're better off without it.

### Before

![image](https://github.com/user-attachments/assets/d257bdd8-3a62-4c71-84a5-9c950f2e4f00)

### After

![image](https://github.com/user-attachments/assets/8f6d3f22-92c1-41e3-9ab8-a881b66816c0)

r? ```@notriddle```
cc https://github.com/rust-lang/rust/pull/127589#issuecomment-2259715841
2024-08-05 08:22:21 +02:00
Matthias Krüger f6c8b7a60a Rollup merge of #127974 - onur-ozkan:force-std-builds, r=Mark-Simulacrum
force compiling std from source if modified

This allows the standard library to be compiled even with `download-rustc` enabled. Which means it's no longer a requirement to compile `rustc` in order to compile `std`.

Ref. https://github.com/rust-lang/rust/pull/127322#discussion_r1666418280.
Blocker for https://github.com/rust-lang/rust/pull/122709.
2024-08-05 05:40:20 +02:00
Noah Lev b4f77df9f8 rustdoc: Delete ReceiverTy (formerly known as SelfTy)
It was barely used, and the places that used it are actually clearer
without it since they were often undoing some of its work. This also
avoids an unnecessary clone of the receiver type and removes a layer of
logical indirection in the code.
2024-08-04 12:49:28 -07:00
Noah Lev e452e3def6 Use match instead of sequence of if lets
This is much more readable and idiomatic, and also may help performance
since `match`es usually use switches while `if`s may not.

I also fixed an incorrect comment.
2024-08-04 12:49:28 -07:00
Noah Lev 4e348fa803 rustdoc: Stop treating Self as a generic in search index
We already have special-cased code to handle inlining `Self` as the type
or trait it refers to, and this was just causing glitches like the
search `A -> B` yielding blanket `Into` impls.
2024-08-04 12:49:28 -07:00
Noah Lev 664b3ffbe9 rustdoc: Create SelfTy to replace Generic(kw::SelfUpper)
Rustdoc often has to special-case `Self` because it is, well, a special
type of generic parameter (although it also behaves as an alias in
concrete impls). Instead of spreading this special-casing throughout the
code base, create a new variant of the `clean::Type` enum that is for
`Self` types.

This is a refactoring that has almost no impact on rustdoc's behavior,
except that `&Self`, `(Self,)`, `&[Self]`, and other similar occurrences
of `Self` no longer link to the wrapping type (reference primitive,
tuple primitive, etc.) as regular generics do. I felt this made more
sense since users would expect `Self` to link to the containing trait or
aliased type (though those are usually expanded), not the primitive that
is wrapping it. For an example of the change, see the docs for
`std::alloc::Allocator::by_ref`.
2024-08-04 12:49:27 -07:00
Noah Lev 249d686c70 rustdoc: Rename SelfTy to ReceiverTy
`SelfTy` makes it sound like it is literally the `Self` type, whereas in
fact it may be `&Self` or other types. Plus, I want to use the name
`SelfTy` for a new variant of `clean::Type`. Having both causes
resolution conflicts or at least confusion.
2024-08-04 12:48:49 -07: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
bjorn3 178886e923 Update incorrect comment 2024-08-04 15:25:59 +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 f1c4c0f548 Rollup merge of #128620 - GuillaumeGomez:update-rinja, r=notriddle
Update rinja version to 0.3.0

r? ```@notriddle```
2024-08-04 11:32:36 +02:00
Matthias Krüger badf983c96 Rollup merge of #128615 - notriddle:notriddle/anchor-a11y, r=GuillaumeGomez
rustdoc: make the hover trail for doc anchors a bit bigger

https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/Weird.20markdown.20heading.20rendering.3F

r? ```@GuillaumeGomez```

### Screenshots (the purple part is the padding, which the mouse can pass through to hover over it)

| Before | After |
|--|--|
| ![image](https://github.com/user-attachments/assets/5070eebe-84ac-4f5d-8950-58664370191c) | ![image](https://github.com/user-attachments/assets/55340161-ad8a-41bd-a120-8cdab11f4af0)
2024-08-04 11:32:36 +02:00
Matthias Krüger ad5b9c24c0 Rollup merge of #128589 - onur-ozkan:llvm-configs, r=cuviper
allow setting `link-shared` and `static-libstdcpp` with CI LLVM

These options also affect `compiler/rustc_llvm` builds. They should be configurable even when using CI LLVM.

r? ```@cuviper```
2024-08-04 11:32:35 +02:00
Matthias Krüger 8c826923ae Rollup merge of #128578 - camelid:cache-index-cleanup, r=notriddle
rustdoc: Cleanup `CacheBuilder` code for building search index

This code was very convoluted and hard to reason about. It is now (I hope) much
clearer and more suitable for both future enhancements and future cleanups.

I'm doing this as a precursor, with no UI changes, to changing rustdoc to
[ignore blanket impls][1] in type-based search.

[1]: https://github.com/rust-lang/rust/pull/128471#discussion_r1699475342

r? ``@notriddle``
2024-08-04 11:32:35 +02: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
onur-ozkan 2ac09692e7 handle crates when they are not specified for std docs
This fixes a regression from https://github.com/rust-lang/rust/pull/128182.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-08-04 12:15:52 +03:00
Noah Lev 007d9e1c26 rustdoc: Re-add missing stripped_mod check; explain orphan impls
Co-authored-by: Michael Howell <michael@notriddle.com>
2024-08-03 20:51:28 -07:00
Jerry Wang 1ca959e3f0 Migrate print-target-list to rmake 2024-08-03 22:36:08 -04:00
Chris Denton f9d7e4c0a9 Remove cygpath from run-make-support 2024-08-04 00:40:51 +00:00
Jerry Wang 3a41a11a8f Migrate run-make/print-calling-conventions to ui-test 2024-08-03 20:09:42 -04:00
Guillaume Gomez cb7c596681 Update rinja version to 0.3.0 2024-08-04 01:08:10 +02:00
Amanieu d'Antras 9963a6c400 Add platform support document for riscv64gc-unknown-linux-musl 2024-08-03 23:26:10 +01:00
Amanieu d'Antras de26ad1a2a Promote riscv64gc-unknown-linux-musl to tier 2 2024-08-03 23:26:10 +01:00
Michael Howell eb2de64aa1 rustdoc: make the hover trail for doc anchors a bit bigger
https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/Weird.20markdown.20heading.20rendering.3F
2024-08-03 12:39:36 -07:00
Matthias Krüger e488ee7efd Rollup merge of #128573 - GuillaumeGomez:simplify-body, r=notriddle
Simplify `body` usage in rustdoc

No changes, just a little less code.

r? `@notriddle`
2024-08-03 20:51:53 +02:00