Commit graph

221126 commits

Author SHA1 Message Date
Oli Scherer e3828777a6 rust-analyzer guided tuple field to named field 2023-04-04 09:44:50 +00:00
Oli Scherer b08a557f80 rust-analyzer guided enum variant structification 2023-04-04 09:44:45 +00:00
bors 35d06f9c74 Auto merge of #109599 - notriddle:notriddle/use-redundant-glob, r=petrochenkov
diagnostics: account for glob shadowing when linting redundant imports

Fixes #92904
2023-04-04 06:41:27 +00:00
bors bd991d9953 Auto merge of #109888 - Mark-Simulacrum:balanced-compression, r=pietroalbini
Remove optimal xz settings from CI

This is a companion PR to rust-lang/promote-release#58, which moves the relevant optimal code to rust-lang/promote-release. As mentioned in the comments of that PR, this is expected to cut CI costs (and time, though predominantly felt on fast builders) and reduce wasted resources due to in-practice single-threaded compression not using the full 8+ vCPU builders we have available.

This probably shouldn't land before that PR + a simpleinfra change to enable the recompression of xz artifacts. But if it does land, it's just a matter of a few nightlies with slightly larger artifacts, so not a big deal.

r? `@pietroalbini`
2023-04-04 03:54:22 +00:00
bors eb48e9771a Auto merge of #109876 - jsha:uniquify-intra-doc, r=notriddle
rustdoc: make intra-doc link pass non-quadratic for repeated links

In the collect_intra_doc_links pass, links to a given item that occurred repeatedly were getting inserted into a `Vec<clean::ItemLink>` repeatedly. This led to n^2 behavior (where n = the number of pages generated), particularly for the intra-doc link on the `Into<U> for T where U: From<T>` blanket implementation, since that link appears on every single struct page.

Fixes #109851
2023-04-04 01:12:24 +00:00
bors cf7ada217c Auto merge of #109911 - JohnTitor:rollup-7gjiqim, r=JohnTitor
Rollup of 6 pull requests

Successful merges:

 - #109783 (Update contributing links for rustc-dev-guide changes)
 - #109883 (Add links to <cell.rs>)
 - #109889 (Update book, rustc-dev-guide, rust-by-example)
 - #109896 (Never consider int and float vars for `FnPtr` candidates)
 - #109902 (Add async-await test for #107414)
 - #109903 (Add Chris Denton to `.mailmap`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-03 22:29:54 +00:00
Yuki Okushi b691507b73
Rollup merge of #109903 - ChrisDenton:map-me, r=compiler-errors
Add Chris Denton to `.mailmap`
2023-04-04 05:52:36 +09:00
Yuki Okushi 52dad9933b
Rollup merge of #109902 - Nilstrieb:107414test, r=compiler-errors
Add async-await test for #107414

fixes #107414

r? `@cjgillot`
2023-04-04 05:52:36 +09:00
Yuki Okushi 7d3207be97
Rollup merge of #109896 - Nilstrieb:integers-are-not-fn-ptrs-remember-this-dear-transmuter, r=compiler-errors
Never consider int and float vars for `FnPtr` candidates

This solves a regression where `0.0.cmp()` was ambiguous when a custom trait with a `cmp` method was in scope.

For integers it shouldn't be a problem in practice so I wasn't able to add a test.

I'm not sure whether there could be more issues hidden in the shadows as mentioned in the issue, but this should at least fix the problematic regression immediately.

fixes #109892

r? oli-obk
2023-04-04 05:52:35 +09:00
Yuki Okushi 4e25d20f95
Rollup merge of #109889 - ferrocene:pa-update-books, r=ehuss
Update book, rustc-dev-guide, rust-by-example

Changes from `rust-lang/book`:

* https://github.com/rust-lang/book/pull/3598

Changes from `rust-lang/rust-by-example`:

* https://github.com/rust-lang/rust-by-example/pull/1695
* https://github.com/rust-lang/rust-by-example/pull/1694
* https://github.com/rust-lang/rust-by-example/pull/1693
* https://github.com/rust-lang/rust-by-example/pull/1688
* https://github.com/rust-lang/rust-by-example/pull/1696

Changes from `rust-lang/rustc-dev-guide`:

* https://github.com/rust-lang/rustc-dev-guide/pull/1655
* https://github.com/rust-lang/rustc-dev-guide/pull/1657
* https://github.com/rust-lang/rustc-dev-guide/pull/1659
* d436bf134e...fca8af6c15

r? `@ehuss`
2023-04-04 05:52:35 +09:00
Yuki Okushi ed5e2ddeed
Rollup merge of #109883 - skaunov:patch-1, r=thomcc
Add links to <cell.rs>

`UnsafeCell` page could benefit too from having links to these most popular structs in the module.
2023-04-04 05:52:34 +09:00
Yuki Okushi bce7253178
Rollup merge of #109783 - jyn514:dev-guide-links, r=Mark-Simulacrum
Update contributing links for rustc-dev-guide changes

Companion PR to https://github.com/rust-lang/rustc-dev-guide/pull/1653.

- Remove unused reference link in CONTRIBUTING.md
- Change the contributing_url for triagebot to the getting started page
2023-04-04 05:52:34 +09:00
bors 48829ea74b Auto merge of #109771 - uweigand:s390x-miri-libffi, r=oli-obk
Increase libffi version to 3.2 to support s390x

libffi versions prior to 3.2 have no support for s390x, causing the Miri build to fail on our platform.
2023-04-03 19:53:24 +00:00
Chris Denton 07e3bd1ffb
Add Chris Denton to .mailmap 2023-04-03 20:07:35 +01:00
Nilstrieb 9e579cc10c Add test 2023-04-03 20:45:02 +02:00
bors bf41e753ec Auto merge of #109819 - scottmcm:index-slice, r=WaffleLapkin
Use `&IndexSlice` instead of `&IndexVec` where possible

All the same reasons as for `[T]`: more general, less pointer chasing, and `&mut IndexSlice` emphasizes that it doesn't change *length*.

r? `@ghost`
2023-04-03 16:41:49 +00:00
Nilstrieb ca79b82c6c Never consider int and float vars for FnPtr candidates
This solves a regression where `0.0.cmp()` was ambiguous when a custom
trait with a `cmp` method was in scope.

FOr integers it shouldn't be a problem in practice so I wasn't able to
add a test.
2023-04-03 15:25:06 +00:00
bors 1767585509 Auto merge of #109756 - cr1901:msp-shift, r=Mark-Simulacrum
Update compiler-builtins to 0.1.91 to bring in msp430 shift primitive…

… fixes.

This fixes unsoundness on MSP430 where `compiler-builtins` and LLVM didn't agree on the width of the shift amount argument of the shifting primitives (4 bytes vs 2 bytes). See https://github.com/rust-lang/compiler-builtins/pull/522 for more details.
2023-04-03 13:09:08 +00:00
Pietro Albini a6431e96b1
update rust-by-example 2023-04-03 14:12:48 +02:00
Pietro Albini 49795b40cf
update rustc dev guide 2023-04-03 14:12:13 +02:00
Mark Rousskov 0da526b5f3 Remove optimal xz settings from CI
This is a companion PR to rust-lang/promote-release#58, which moves the
relevant optimal code to rust-lang/promote-release. As mentioned in the
comments of that PR, this is expected to cut CI costs (and time, though
predominantly felt on fast builders) and reduce wasted resources due to
in-practice single-threaded compression not using the full 8+ vCPU
builders we have available.
2023-04-03 07:44:58 -04:00
Ulrich Weigand 09541b5e1b Increase libffi version to 3.2 to support s390x 2023-04-03 13:27:51 +02:00
bors f13ccefb5b Auto merge of #108448 - ishitatsuyuki:binary-heap, r=Mark-Simulacrum
binary_heap: Optimize Extend implementation.

This PR makes the `Extend` implementation for `BinaryHeap` no longer rely on specialization, so that it always use the bulk rebuild optimization that was previously only available for the `Vec` specialization.
2023-04-03 10:30:20 +00:00
Pietro Albini 5d842a6f32
update book 2023-04-03 11:44:06 +02:00
bors 932c173ca1 Auto merge of #109884 - matthiaskrgr:rollup-5wapig9, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #109526 (LIBPATH is used as dylib's path environment variable on AIX)
 - #109642 (check for missing codegen backeng config)
 - #109722 (Implement read_buf for RustHermit)
 - #109856 (fix(middle): emit error rather than delay bug when reaching limit)
 - #109868 (Improve PR job names in Github Actions preview)
 - #109871 (Include invocation start times)
 - #109873 (Move some UI tests into subdirectories)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-03 07:27:58 +00:00
Matthias Krüger 22df7107bd
Rollup merge of #109873 - jyn514:subdirectories, r=compiler-errors
Move some UI tests into subdirectories
2023-04-03 08:58:55 +02:00
Matthias Krüger 41cd454228
Rollup merge of #109871 - Mark-Simulacrum:metrics-timestamp, r=ozkanonur
Include invocation start times

For multi-invocation builders (e.g., dist-x86_64-linux) this timestamp is necessary to correlate the data in the metrics JSON with other data sources (e.g., logs, cpu-usage CSV, etc.). Such correlation may not be perfect but is sometimes helpful and awkward to do otherwise.
2023-04-03 08:58:54 +02:00
Matthias Krüger 9007ee9f1c
Rollup merge of #109868 - jyn514:ci-names, r=Mark-Simulacrum
Improve PR job names in Github Actions preview

Fixes https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/PR.20CI.20job.20names.

Before: `CI / PR (mingw-check, false, ubuntu-20.04-16core-64gb) (pull_request)`
After:  `CI / PR - mingw-check (pull_request)`

r? ``@jyn514``
2023-04-03 08:58:54 +02:00
Matthias Krüger 99a71dc4d6
Rollup merge of #109856 - bvanjoi:fix-issue-109304, r=compiler-errors
fix(middle): emit error rather than delay bug when reaching limit

close #109304
2023-04-03 08:58:53 +02:00
Matthias Krüger f2f5efce9c
Rollup merge of #109722 - hermitcore:read, r=Mark-Simulacrum
Implement read_buf for RustHermit

In principle, this PR extends rust-lang/rust#108326 for RustyHermit.
2023-04-03 08:58:53 +02:00
Matthias Krüger cc6a279f05
Rollup merge of #109642 - lenko-d:rust_codegen-backends_interacts_confusingly_with_paths, r=Mark-Simulacrum
check for missing codegen backeng config

Fixes [#109610](https://github.com/rust-lang/rust/issues/109610)
2023-04-03 08:58:52 +02:00
Matthias Krüger 7192ef3efd
Rollup merge of #109526 - bzEq:aix-libpath, r=Mark-Simulacrum
LIBPATH is used as dylib's path environment variable on AIX

See https://4js.com/online_documentation/fjs-fgl-3.00.05-manual-html/c_fgl_installation_017.html.
2023-04-03 08:58:52 +02:00
Sergey Kaunov abc61d23de
Add links to <cell.rs>
`UnsafeCell` page could benefit too from having links to these most popular structs in the module.
2023-04-03 09:18:14 +03:00
bors d0eed58a1e Auto merge of #108288 - ozkanonur:hotfix-90244, r=Mark-Simulacrum
fix `build --stage 2 compiler/rustc` panic

Skip assembling(which causes panic due to not found `.librustc.stamp` file) process
for stage3(since it has problems with sysroot) if full-bootstrap isn't used.

Resolves #90244
2023-04-03 04:54:02 +00:00
Jacob Hoffman-Andrews d9edb05d44 rustdoc: fix quadratic time in intra-doc link pass
In the collect_intra_doc_links pass, links to a given item that occurred
repeatedly were getting inserted into a Vec<clean::ItemLink> repeatedly.
This led to n^2 behavior (where n = the number of pages generated), particularly
for the intra-doc link on the `Into<U> for T where U: From<T>` blanket
implementation, since that link appears on every single struct page.
2023-04-02 20:46:02 -07:00
bohan d8a4e7cf51 fix(middle): emit error rather than delay bug when reaching limit 2023-04-03 11:08:14 +08:00
bors 33289132ec Auto merge of #109770 - jyn514:run-make-fulldeps, r=Mark-Simulacrum
Move almost all run-make-fulldeps tests to run-make

They pass fine, and this avoids having to build the compiler twice.

There are few enough tests left that I think it should be possible to get rid of this test suite altogether, but I expect this PR to fail at least a few times in bors and want to get it merged before tackling further changes. cc https://github.com/rust-lang/rust/pull/83775

Fixes https://github.com/rust-lang/rust/issues/66085. Fixes https://github.com/rust-lang/rust/issues/83773.
2023-04-03 01:34:05 +00:00
Scott McMurray a2ee7592d6 Use &IndexSlice instead of &IndexVec where possible
All the same reasons as for `[T]`: more general, less pointer chasing, and `&mut IndexSlice` emphasizes that it doesn't change *length*.
2023-04-02 17:35:37 -07:00
jyn 01b75e20f2 Move some UI tests into subdirectories
to avoid going over the existing limit now that the ui-fulldeps tests have
been moved to ui.
2023-04-02 19:42:30 -04:00
Mark Rousskov dd85271ef5 Include invocation start times
For multi-invocation builders (e.g., dist-x86_64-linux) this timestamp
is necessary to correlate the data in the metrics JSON with other data
sources (e.g., logs, cpu-usage CSV, etc.). Such correlation may not be
perfect but is sometimes helpful and awkward to do otherwise.
2023-04-02 19:28:52 -04:00
jyn 423e76f1dd Improve job names in Github Actions preview
Before: `CI / PR (mingw-check, false, ubuntu-20.04-16core-64gb) (pull_request)`
After: `CI / PR - mingw-check (pull_request)`
2023-04-02 17:58:08 -04:00
jyn c45037b956 try to fix test-various 2023-04-02 17:54:24 -04:00
bors a93bcdc307 Auto merge of #109849 - scottmcm:more-fieldidx-rebase, r=oli-obk
Use `FieldIdx` in various things related to aggregates

Shrank `AggregateKind` by 8 bytes on x64, since the active field of a union is tracked as an `Option<FieldIdx>` instead of `Option<usize>`.

Part 3/? of https://github.com/rust-lang/compiler-team/issues/606

[`IndexSlice`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_index/vec/struct.IndexVec.html#deref-methods-IndexSlice%3CI,+T%3E) was added in https://github.com/rust-lang/rust/pull/109787
2023-04-02 21:40:29 +00:00
ozkanonur 5d1ee66abe fix build --stage 2 compiler/rustc panic
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-04-02 19:00:00 +03:00
bors 3a8a131e95 Auto merge of #109811 - jyn514:symlink-fixes, r=Mark-Simulacrum
Replace any existing `build/host` symlink

This has two advantages:
1. If `build.build` changes between runs, the symlink is no longer silently wrong.
2. If the entire build directory is moved, the symlink is no longer broken because it points to the wrong absolute path.
2023-04-02 14:54:31 +00:00
Jynn Nelson 28b7e6abff Replace any existing build/host symlink
This has two advantages:
1. If `build.build` changes between runs, the symlink is no longer
   silently wrong.
2. If the entire build directory is moved, the symlink is no longer
   broken because it points to the wrong absolute path.
2023-04-02 07:57:05 -05:00
bors a5a690cf4b Auto merge of #109008 - clubby789:drop-elaborate-array, r=davidtwco
Drop array patterns using subslices

Fixes #109004
Drops contiguous subslices of an array when moving elements out with a pattern, which improves perf for large arrays
r? `@compiler-errors`
2023-04-02 12:17:52 +00:00
bors 11cd4ff34d Auto merge of #109852 - Nilstrieb:rollup-g3mgxxw, r=Nilstrieb
Rollup of 4 pull requests

Successful merges:

 - #109839 (Improve grammar of Iterator.partition_in_place)
 - #109840 (Fix typo in std/src/os/fd/owned.rs)
 - #109844 (a couple clippy::complexity fixes)
 - #109846 (more clippy::complexity fixes (iter_kv_map, map_flatten, nonminimal_bool))

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-02 09:39:41 +00:00
Nilstrieb 59f394bf86
Rollup merge of #109846 - matthiaskrgr:clippy2023_04_III, r=Nilstrieb
more clippy::complexity fixes (iter_kv_map, map_flatten, nonminimal_bool)
2023-04-02 10:08:35 +02:00
Nilstrieb e2ffe151a3
Rollup merge of #109844 - matthiaskrgr:clippy2023_04, r=Nilstrieb
a couple clippy::complexity fixes

map_identity
filter_next
option_as_ref_deref
unnecessary_find_map
redundant_slicing
unnecessary_unwrap
bool_comparison
derivable_impls
manual_flatten
needless_borrowed_reference
2023-04-02 10:08:34 +02:00