| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Upgrade to LLVM 16
This updates Rust to LLVM 16. It also updates our host compiler for dist-x86_64-linux to LLVM 16. The reason for that is that Bolt from LLVM 15 is not capable of compiling LLVM 16 (https://github.com/llvm/llvm-project/issues/61114).
LLVM 16.0.0 has been [released](https://discourse.llvm.org/t/llvm-16-0-0-release/69326) on March 18, while Rust 1.70 will become stable on June 1.
Tested images: `dist-x86_64-linux`, `dist-riscv64-linux` (alt), `dist-x86_64-illumos`, `dist-various-1`, `dist-various-2`, `dist-powerpc-linux`, `wasm32`, `armhf-gnu`
Tested images until the usual IPv6 failures: `test-various`
|
|
Update host compiler to LLVM 16
Update the host compiler for dist-x86_64-linux to LLVM 16. In particular, this pulls in https://github.com/llvm/llvm-project/commit/1de305da428598d79b7d2d9e70962130142f7ca4, which is needed to update Rust's own LLVM (https://github.com/rust-lang/rust/pull/107224).
|
|
Rollup of 8 pull requests
Successful merges:
- #107416 (Error code E0794 for late-bound lifetime parameter error.)
- #108772 (Speed up tidy quite a lot)
- #109193 (Add revisions for -Zlower-impl-trait-in-trait-to-assoc-ty fixed tests)
- #109234 (Tweak implementation of overflow checking assertions)
- #109238 (Fix generics mismatch errors for RPITITs on -Zlower-impl-trait-in-trait-to-assoc-ty)
- #109283 (rustdoc: reduce allocations in `visibility_to_src_with_space`)
- #109287 (Use `size_of_val` instead of manual calculation)
- #109288 (Stabilise `unix_socket_abstract`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Stabilise `unix_socket_abstract`
Fixes https://github.com/rust-lang/rust/issues/85410
|
|
Use `size_of_val` instead of manual calculation
Very minor thing that I happened to notice in passing, but it's both shorter and [means it gets `mul nsw`](https://rust.godbolt.org/z/Y9KxYETv5), so why not.
|
|
r=jsha
rustdoc: reduce allocations in `visibility_to_src_with_space`
|
|
Fix generics mismatch errors for RPITITs on -Zlower-impl-trait-in-trait-to-assoc-ty
This PR stops reporting errors due to different count of generics on the new synthesized associated types for RPITITs. Those were already reported when we compare the function on the triat with the function on the impl.
r? ``@compiler-errors``
|
|
Tweak implementation of overflow checking assertions
Extract and reuse logic controlling behaviour of overflow checking assertions instead of duplicating it three times.
r? `@cjgillot`
|
|
Add revisions for -Zlower-impl-trait-in-trait-to-assoc-ty fixed tests
Needs to go on top of #109198
r? ``@compiler-errors``
|
|
Speed up tidy quite a lot
I highly recommend reviewing this commit-by-commit. Based on #106440 for convenience.
## Timings
These were collected by running `x test tidy -v` to copy paste the command, then using [`samply record`](https://github.com/mstange/samply).
before (8 threads)

after (8 threads) 
before (64 threads) 
after (64 threads) 
The last commit makes tidy use more threads, so comparing "before (8 threads)" to "after (64 threads)" is IMO the most realistic comparison. Locally, that brings the time for me to run tidy down from 4 to .9 seconds, i.e. the majority of the time for `x test tidy` is now spend running `fmt --check`.
r? `@the8472`
|
|
Error code E0794 for late-bound lifetime parameter error.
This PR addresses [#80618](https://github.com/rust-lang/rust/issues/80618).
|
|
fast path for process_obligations
Speeds up `keccak` and `cranelift-codegen` in perf.rlo.
|
|
|
|
This has a significant speedup for me locally, from about 1.3 seconds to
.9 seconds.
|
|
|
|
Previously, it would walk each directory twice: once in the main `Walk`
iterator, and once to count the number of entries in the directory. Now
it only walks each directory once.
|
|
- Skip files in `skip` wherever possible to avoid reading their contents
- Don't look for `tidy-alphabetic-start` in tests. It's never currently used and slows the check down a lot.
- Add new `filter_not_rust` helper function
|
|
This makes it easier to profile.
|
|
Fixes https://github.com/rust-lang/rust/issues/85410
|
|
Rollup of 9 pull requests
Successful merges:
- #109102 (Erase escaping late-bound regions when probing for ambiguous associated types)
- #109200 (Fix index out of bounds in `suggest_trait_fn_ty_for_impl_fn_infer`)
- #109211 (E0206 - update description )
- #109222 (Do not ICE for unexpected lifetime with ConstGeneric rib)
- #109235 (fallback to lstat when stat fails on Windows)
- #109248 (Pass the right HIR back from `get_fn_decl`)
- #109251 (Suggest surrounding the macro with `{}` to interpret as a statement)
- #109256 (Check for llvm-tools before install)
- #109257 (resolve: Improve debug impls for `NameBinding`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Very minor thing that I happened to notice in passing, but it's both shorter and means it gets `mul nuw`, so why not.
|
|
resolve: Improve debug impls for `NameBinding`
Print at least the Some/None/Ok/Err status of the nested bindings if not the bindings themselves.
Noticed while reviewing https://github.com/rust-lang/rust/pull/108729.
|
|
Check for llvm-tools before install
Fixes #108948
````@jpalus```` Please review
|
|
Suggest surrounding the macro with `{}` to interpret as a statement
Fixes #109237
|
|
Pass the right HIR back from `get_fn_decl`
Fixes #109232
Makes sure that the `fn_id: HirId` that we pass to `suggest_missing_return_type` matches up with the `fn_decl: hir::FnDecl` that we pass to it, so the late-bound vars that we fetch from the former match up with the types in the latter...
This HIR suggestion code really needs a big refactor. I've tried to do it in the past (a couple of attempts), but it's a super tangled mess. It really shouldn't be passing around things like `hir::Node` and just deal with `LocalDefId`s everywhere... Anyways, I'd rather fix this ICE, now.
|
|
fallback to lstat when stat fails on Windows
Fixes #109106
````@ChrisDenton```` please let me know if this is the expected behavior for stat on windows
|
|
Do not ICE for unexpected lifetime with ConstGeneric rib
Fixes #109143
r? ````@petrochenkov````
Combining this test with the previous test will affect the previous diagnostics, so I added a separate test case.
|
|
E0206 - update description
added `union` to description
|
|
Fix index out of bounds in `suggest_trait_fn_ty_for_impl_fn_infer`
Fixes #109191
|
|
r=jackh726
Erase escaping late-bound regions when probing for ambiguous associated types
Fixes #109090
|
|
|
|
|
|
Bump bootstrap compiler to 1.69 beta
r? `@pietroalbini`
|
|
- only borrow the refcell once per loop
- avoid complex matches to reduce branch paths in the hot loop
- use a by-ref fast path that avoids mutations at the expense of having false negatives
|
|
|
|
-Zlower-impl-trait-in-trait-to-assoc-ty
|
|
|
|
|
|
|
|
Rollup of 8 pull requests
Successful merges:
- #108958 (Remove box expressions from HIR)
- #109044 (Prevent stable `libtest` from supporting `-Zunstable-options`)
- #109155 (Fix riscv64 fuchsia LLVM target name)
- #109156 (Fix linker detection for clang with prefix)
- #109181 (inherit_overflow: adapt pattern to also work with v0 mangling)
- #109198 (Install projection from RPITIT to default trait method opaque correctly)
- #109215 (Use sort_by_key instead of sort_by)
- #109229 (Fix invalid markdown link references)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Co-authored-by: Waffle Maybe <waffle.lapkin@gmail.com>
|
|
|
|
update Miri
r? `@oli-obk`
|
|
Print at least the Some/None/Ok/Err status of the nested bindings if not the bindings themselves.
|
|
|
|
Make sure that the loop is not fully unrolled (which allows
eliminating the allocas) in LLVM 16 either.
|
|
|
|
|
|
This updates the host compiler for dist-x86_64-linux to LLVM 16,
pulling in the BOLT fix at
https://github.com/llvm/llvm-project/commit/1de305da428598d79b7d2d9e70962130142f7ca4,
which is needed to update Rust to LLVM 16.
|