Commit graph

142537 commits

Author SHA1 Message Date
bors
2c718d1259 Auto merge of #113738 - jyn514:rollup-mjcya4c, r=jyn514
Rollup of 3 pull requests

Successful merges:

 - #113643 (bootstrap: Clean up try_run)
 - #113731 (Remove unused `bootstrap::util::CiEnv` enum)
 - #113737 (update mailmap for myself)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-07-16 00:05:49 +00:00
jyn
0a299f6512
Rollup merge of #113731 - jyn514:ci-env, r=ozkanonur
Remove unused `bootstrap::util::CiEnv` enum

the right one is `build_helper::CiEnv`; this one wasn't even used.
2023-07-15 18:52:32 -05:00
jyn
90c74e20ce
Rollup merge of #113643 - jyn514:try-run, r=ozkanonur
bootstrap: Clean up try_run

r? `@ozkanonur` since you reviewed `@GuillaumeGomez's` PR

i recommend reviewing commit-by-commit
2023-07-15 18:52:31 -05:00
bors
4124617c6e Auto merge of #113606 - jyn514:parallel-compiler-cleanup, r=cjgillot
Don't require each rustc_interface tool to opt-in to parallel_compiler

Previously, forgetting to call `interface::set_thread_safe_mode` would cause the following ICE:
```
thread 'rustc' panicked at 'uninitialized dyn_thread_safe mode!', /rustc/dfe0683138de0959b6ab6a039b54d9347f6a6355/compiler/rustc_data_structures/src/sync.rs:74:18
```

This calls `set_thread_safe_mode` in `interface::run_compiler` to avoid requiring it in the caller.

Fixes `tests/run-make-fulldeps/issue-19371` when parallel-compiler is enabled.

r? `@SparrowLii` cc https://github.com/rust-lang/rust/issues/75760
2023-07-15 22:23:05 +00:00
bors
4c8bb79d9f Auto merge of #113697 - GuillaumeGomez:rm-unneeded-externallocation-handling, r=lqd
Remove unneeded handling for `ExternalLocation::Unknown` in rustdoc render context

Should fix perf regression introduced in https://github.com/rust-lang/rust/pull/113623.

r? `@lqd`
2023-07-15 20:31:40 +00:00
Matthias Krüger
331b5baddd
Rollup merge of #113709 - notriddle:notriddle/src, r=GuillaumeGomez
rustdoc: use src consistently over source in CSS/JS

The two terms have been used, inconsistently, in closely related spots like the `src/` directory vs `source-files.js`, and with things like `src-sidebar-toggle` vs the `source-sidebar`. This PR changes most use of `source` to `src` instead (except the localStorage configuration variables, which would be very complicated to migrate).

It also renames `.srclink` to `.src`. This is mostly aiming to cut out one of those many little peanut-butter bits of bloat, and is consistent with how other link classes are done (like how you have `a.mod` stylesheet rules, but there's also a `mod` class put on the body tag).
2023-07-15 19:42:53 +02:00
Matthias Krüger
d0ef799156
Rollup merge of #113683 - ozkanonur:polished, r=jyn514
remove outdated `FIXME`s in bootstrap internals

self-explanatory
2023-07-15 19:42:52 +02:00
Matthias Krüger
e76ae3e4c5
Rollup merge of #113644 - jyn514:bootstrap-cleanups, r=albertlarsan68
misc bootstrap cleanups

- rename `detail_exit_macro` to `exit`
- remove unnecessary `Builder::new_standalone` function
- support `x suggest` with build-metrics
2023-07-15 19:42:51 +02:00
jyn
6f589d53ba Remove unused bootstrap::util::CiEnv enum
the right one is `build_helper::CiEnv`; this one wasn't even used.
2023-07-15 12:37:11 -05:00
jyn
c0c6a24f89 Replace builder::try_run_quiet with run_quiet_delaying_failure
It was only used when a `builder` is available, and I want to encourage using the version that supports `--no-fail-fast`.
2023-07-15 12:31:31 -05:00
jyn
78f51a4be0 Rename Builder::try_run to run_delaying_failure 2023-07-15 12:31:31 -05:00
jyn
63d7992353 Deduplicate Builder::try_run and mark Config::try_run as deprecated
This does three things:
1. Remove `forward!(Build, fn try_run())`. Having `try_run` behave differently as a free function than an associated function is confusing, and `Builder::try_run` is a very desirable name.
2. Move `test::try_run` and `run::try_run` to `Builder::try_run`. These functions are different than `Config::try_run` - they delay the failure and print it out at the end of the build.
3. Mark `Config::try_run` as deprecated to encourage people to use `Builder::try_run` instead.
2023-07-15 12:27:53 -05:00
Michael Howell
d7d0a4533c rustdoc: rename to src-script.js
This is a separate commit to keep Git happy.
2023-07-14 16:54:14 -07:00
Michael Howell
e72fba4160 rustdoc: use src consistently over source in JavaScript
Since the directory that contains source files is called `src`,
it makes sense to name the scripts that way, too.
2023-07-14 16:54:14 -07:00
Michael Howell
34bc8fbea3 rustdoc: use src consistently over source in code
The CSS uses an inconsistent mix of both. This commit switches
it to always use `src`.
2023-07-14 16:38:01 -07:00
jyn
3a0caed188 fix another nesting issue 2023-07-14 17:34:27 -05:00
jyn
02ae14c972 fix another GHA log panic 2023-07-14 17:32:27 -05:00
jyn
ce843aa24c add a couple more groups
- group rustdoc-js-std
- group rust-installer/test.sh
2023-07-14 17:32:25 -05:00
jyn
3e306c2ddb Add track_caller to builder.msg
this makes the panics on nested GHA groups more useful
2023-07-14 17:32:05 -05:00
jyn
9851a141a3 put configure behind a group 2023-07-14 17:27:20 -05:00
jyn
dcd8d376cb don't print download progress in CI 2023-07-14 17:27:20 -05:00
jyn
26cdf7566c Add must_use to msg_ functions
This caught several places which weren't waiting until the command finished to drop the Group.

I also took the liberty of calling `msg_sysroot_tool` from `run_cargo_test` to reduce code duplication and make errors like this less likely in the future.
2023-07-14 17:27:20 -05:00
jyn
fff8223584 Add GHA log groups for tool tests 2023-07-14 17:27:20 -05:00
jyn
a5de56a95e Make sure toolstates.json ends in a newline
This avoids the following broken logging in CI:
```
{"book":"test-pass","reference":"test-pass","rustbook":"test-fail","rust-by-example":"test-pass","nomicon":"test-pass","embedded-book":"test-pass","edition-guide":"test-pass"}::group::Building bootstrap
```
2023-07-14 17:27:20 -05:00
jyn
df5cc59a68 fix nested GHA groups (redux) 2023-07-14 17:27:20 -05:00
jyn
fb3ac44dd8 Don't checkout the LLVM submodule in x dist --dry-run
We don't actually need it and it's quite slow.
2023-07-14 17:27:20 -05:00
jyn
2b3db1cd5a Don't nest GHA groups in check::Std 2023-07-14 17:27:20 -05:00
jyn
d3cdf27184 Add even more GHA log groups
This also adds a dynamic check that we don't emit nested groups, since GHA currently doesn't support them.
2023-07-14 17:27:20 -05:00
jyn
dc48a8b72c Fix x suggest --run
i broke this in the previous commit; and metrics never worked until i switched from `execute_cli` to build
2023-07-14 17:26:02 -05:00
ozkanonur
5e1ac1eb8b remove outdated FIXMEs on bootstrap
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-07-14 21:03:34 +03:00
Matthias Krüger
97c73b6ffc
Rollup merge of #113699 - RalfJung:miri, r=RalfJung
update Miri

This fixes a pretty nasty bug in the tag GC.

r? ghost
2023-07-14 19:33:30 +02:00
Matthias Krüger
dae9e40213
Rollup merge of #113685 - Kobzol:opt-dist-binary-sizes, r=Mark-Simulacrum
Print artifact sizes in `opt-dist`

The Python PGO script printed a nice table of artifact sizes (`librustc_driver.so`, `libLLVM.so`, ...) at the end of the CI run, which was useful to quickly see the sizes of important files. I forgot to port this functionality into the Rust (`opt-dist`) version in https://github.com/rust-lang/rust/pull/112235. This PR fixes that.

r? bootstrap
2023-07-14 19:33:28 +02:00
bors
5767cad9b8 Auto merge of #113591 - mdibaiee:genericargs-cleanup, r=oli-obk
refactor(rustc_middle): Substs -> GenericArg

resolves #110793

- [x] rename `SubstsRef` and `InternalSubsts` to `GenericArgsRef<'tcx>` and `GenericArgs<'tcx>`.
- [x] rename variables and fields currently using `substs` to `args`.
- [x] update the module name of `ty::subst` to `ty::generic_args` or sth. Make that module private and publicly reexport its content in the ty module.
- [x] rename `EarlyBinder::subst(_identity)` to `EarlyBinder::instantiate(_identity)`.
- [x] types called `[a-zA-Z]+Substs` renamed to `XArgs`.
- [x] functions containing `substs` now use `args` or `generic_args` (mostly the former).

However, the verb of "substituting" is still being used here and there, mostly in comments. I think that can be a separate PR as part of https://github.com/rust-lang/rust/issues/110254 to change the verb to `replace_generics` or something similar.
2023-07-14 15:31:15 +00:00
Guillaume Gomez
1fa8b9aa56 Remove unneeded handling for ExternalLocation::Unknown in rustdoc render context 2023-07-14 17:04:29 +02:00
Jakub Beránek
18305eae8e
Print artifact sizes in opt-dist 2023-07-14 16:07:24 +02:00
Ralf Jung
b88bcda35a remove compile-flags that are no longer needed 2023-07-14 15:40:22 +02:00
Mahdi Dibaiee
e55583c4b8 refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
Ralf Jung
40cef615c0 work around custom_mir span 2023-07-14 12:12:27 +02:00
Lukas Markeffsky
b1a5423ff8 bootstrap: update defaults for compiler and library aliases 2023-07-14 09:41:35 +00:00
Matthias Krüger
aa2002ea0a
Rollup merge of #113668 - kupiakos:patch-1, r=calebcartwright
Correct `the` -> `there` typo in items.md
2023-07-14 01:03:09 +02:00
Matthias Krüger
8d6d566093
Rollup merge of #113640 - jyn514:nodejs-defaults, r=GuillaumeGomez
Make `nodejs` control the default for RustdocJs tests instead of a hard-off switch

If someone says `x test rustdoc-js-std` explicitly on the command line, it's because they want to run the tests. Give an error instead of doing nothing and reporting success.

Before:
```
; x t rustdoc-js
No nodejs found, skipping "tests/rustdoc-js" tests
Build completed successfully in 0:00:00
```

After:
```
; x t rustdoc-js
thread 'main' panicked at 'need nodejs to run js-doc-test suite', test.rs:1566:13
Build completed unsuccessfully in 0:00:00
```

I recommend viewing the diff with whitespace changes disabled.

r? ````@GuillaumeGomez````
2023-07-14 01:03:08 +02:00
Matthias Krüger
361461150b
Rollup merge of #113623 - GuillaumeGomez:add-jump-to-doc, r=notriddle
Add jump to doc

I'm using the source code pages of the compiler quite a lot, but one thing missing is the possibility to jump back from the source code to the item documentation. Since I also got a few others complaining about it, I think it's fine to add it since this option is nightly only.

This PR adds a link to jump back to item's documentation on the item definition (so on `Bar` in `struct Bar {... }`, as described in the unofficial [RFC](https://github.com/GuillaumeGomez/rfcs/blob/rustdoc-jump-to-definition/text/000-rustdoc-jump-to-definition.md)).

r? ````@notriddle````
2023-07-13 22:33:24 +02:00
Alyssa Haroldsen
3ce5f6eb44
Correct the -> there typo in items.md 2023-07-13 12:00:46 -07:00
bors
a161ab00db Auto merge of #113637 - Mark-Simulacrum:bootstrap-bump, r=ozkanonur
Bump bootstrap to 1.72 beta
2023-07-13 18:15:14 +00:00
Matthias Krüger
7ea4387a93
Rollup merge of #113616 - edg-l:fix_bootstrap, r=albertlarsan68
Fix bootstrap.py uname error

The x.py script fails with `ValueError: too many values to unpack (expected 3)` when uname -smp gives more than 3 words

The error I got:
```
❯ ./x check
Traceback (most recent call last):
  File "/data1/edgar/rust/x.py", line 50, in <module>
    bootstrap.main()
  File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 1113, in main
    bootstrap(args)
  File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 1070, in bootstrap
    build = RustBuild(config_toml, args)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 505, in __init__
    self.build = args.build or self.build_triple()
                               ^^^^^^^^^^^^^^^^^^^
  File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 976, in build_triple
    return config or default_build_triple(self.verbose)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 259, in default_build_triple
    kernel, cputype, processor = uname.decode(default_encoding).split()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: too many values to unpack (expected 3)
```

This is because

```
❯ uname -smp
Linux x86_64 AMD Ryzen 7 5800X 8-Core Processor
```
Returns more than 3 space separated words.
2023-07-13 12:19:25 +02:00
Matthias Krüger
253a4ca43f
Rollup merge of #113613 - GuillaumeGomez:allow-dash-in-file-name, r=notriddle
Allow to have `-` in rustdoc-json test file name

I extracted this commit from https://github.com/rust-lang/rust/pull/113574.

When I added the test, it kept saying that the JSON file couldn't be found. After investigating for a while, I discovered that we were expecting files to always use `_`, which is quite bad. So I added support for `-` in file names.

r? ``@notriddle``
2023-07-13 12:19:24 +02:00
Matthias Krüger
fc72c0fe8f
Rollup merge of #113603 - workingjubilee:test-for-98016, r=oli-obk
Test simd-wide-sum for codegen error

This adds the necessary test infrastructure to "build-pass" codegen tests, for the purpose of doing that for a single revision of a codegen test. When mir-opts are tested, the output may vary from the usual, and maybe for positive reasons... but we don't necessarily want to output such bad LLVMIR that LLVM starts crashing on it.

Currently when enabling MIR opts at higher levels this LLVMIR is still emitted, but it was previously disabled for getting in mir-opt's way and as this new revision without `// [mir-opt3]build-pass` would make it more likely to, I would like to not see the testing for the actual results regress again just because it was bundled with an ICE check as well.

This fixes https://github.com/rust-lang/rust/issues/98016
2023-07-13 12:19:23 +02:00
Matthias Krüger
a6fed6a0ca
Rollup merge of #113598 - weihanglo:update-cargo, r=weihanglo
Update cargo

10 commits in 45782b6b8afd1da042d45c2daeec9c0744f72cc7..694a579566a9a1482b20aff8a68f0e4edd99bd28
2023-07-05 16:54:51 +0000 to 2023-07-11 22:28:29 +0000
- fix(embedded): Always generate valid package names (rust-lang/cargo#12349)
- fix(embedded): Error on unsupported commands (rust-lang/cargo#12350)
- chore(ci): Automatically test new packages by using `--workspace` (rust-lang/cargo#12342)
- contrib docs: Add some more detail about how publishing works (rust-lang/cargo#12344)
- docs: Put cargo-add change under nightly (rust-lang/cargo#12343)
- Minor: Use "number" instead of "digit" when explaining Cargo's use of semver (rust-lang/cargo#12340)
- Update criterion (rust-lang/cargo#12338)
- Add profile strip to config docs. (rust-lang/cargo#12337)
- update re: multiple versions that differ only in the metadata tag (rust-lang/cargo#12335)
- doc: state `PackageId`/`SourceId` string is opaque (rust-lang/cargo#12313)

r? ``@ghost``
2023-07-13 12:19:23 +02:00
Matthias Krüger
893a5d2b32
Rollup merge of #113353 - compiler-errors:select-better, r=lcnr
Implement selection for `Unsize` for better coercion behavior

In order for much of coercion to succeed, we need to be able to deal with partial ambiguity of `Unsize` traits during selection. However, I pessimistically implemented selection in the new trait solver to just bail out with ambiguity if it was a built-in impl:
9227ff28af/compiler/rustc_trait_selection/src/solve/eval_ctxt/select.rs (L126)

This implements a proper "rematch" procedure for dealing with built-in `Unsize` goals, so that even if the goal is ambiguous, we are able to get nested obligations which are used in the coercion selection-like loop:
9227ff28af/compiler/rustc_hir_typeck/src/coercion.rs (L702)

Second commit just moves a `resolve_vars_if_possible` call to fix a bug where we weren't detecting a trait upcasting to occur.

r? ``@lcnr``
2023-07-13 12:19:22 +02:00
jyn
e4135d4cd4 Support x suggest with build-metrics 2023-07-13 03:24:08 -05:00