Michael Goulet
dbedf4003f
Reformat type_of
2023-03-19 23:46:09 +00:00
Michael Goulet
252fa78283
Only expect a GAT const arg
2023-03-19 23:46:09 +00:00
bors
ab9bb3ea36
Auto merge of #109326 - nikic:revert-llvm-16, r=the8472
...
Revert "Auto merge of #107224 - nikic:llvm-16, r=cuviper"
This reverts commit 4a04d086ca
, reversing changes made to 2d0a7def33
.
The LLVM 16 upgrade is almost certainly responsible for the CI segfaults that were observed after it landed, looking something like this:
```
Building stage1 library artifacts (x86_64-unknown-linux-gnu)
error: failed to run `rustc` to learn about target-specific information
Caused by:
process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc - --crate-name ___ --print=file-names -Csymbol-mangling-version=legacy -Zunstable-options -Zunstable-options '--check-cfg=values(bootstrap)' '--check-cfg=values(stdarch_intel_sde)' '--check-cfg=values(no_fp_fmt_parse)' '--check-cfg=values(no_global_oom_handling)' '--check-cfg=values(no_rc)' '--check-cfg=values(no_sync)' '--check-cfg=values(freebsd12)' '--check-cfg=values(backtrace_in_libstd)' '--check-cfg=values(target_env,"libnx")' '--check-cfg=values(target_arch,"asmjs","spirv","nvptx","xtensa")' -Zmacro-backtrace -Clink-args=-Wl,-z,origin '-Clink-args=-Wl,-rpath,$ORIGIN/../lib' -Csplit-debuginfo=off -Cprefer-dynamic -Cembed-bitcode=yes '-Zcrate-attr=doc(html_root_url="https://doc.rust-lang.org/nightly/ ")' --target x86_64-unknown-linux-gnu --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=split-debuginfo --print=crate-name --print=cfg` (exit status: 254)
--- stderr
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-fdca23ff32bf7124.so(+0x97f0b3)[0x7faee84e60b3]
/lib/x86_64-linux-gnu/libc.so.6(+0x43090)[0x7faee77f2090]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/libLLVM-16-rust-1.70.0-nightly.so(+0x7262e06)[0x7faee608fe06]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-fdca23ff32bf7124.so(+0xd10ad4)[0x7faee8877ad4]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-fdca23ff32bf7124.so(+0xbcb6cc)[0x7faee87326cc]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-fdca23ff32bf7124.so(+0xbca804)[0x7faee8731804]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-fdca23ff32bf7124.so(_RNvXs5_Cs7DTEPoQIU0M_18rustc_codegen_llvmNtB5_18LlvmCodegenBackendNtNtNtCsiydnvZ3aRh1_17rustc_codegen_ssa6traits7backend14CodegenBackend15target_features+0x1b)[0x7faee879183b]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-fdca23ff32bf7124.so(_RNvNtCsbMR7lNZiyEF_15rustc_interface4util17add_configuration+0x37)[0x7faee85d38f7]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-fdca23ff32bf7124.so(_RNvNtCsbMR7lNZiyEF_15rustc_interface4util14create_session+0x89d)[0x7faee85d439d]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-fdca23ff32bf7124.so(+0x989600)[0x7faee84f0600]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-fdca23ff32bf7124.so(+0x984380)[0x7faee84eb380]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-fdca23ff32bf7124.so(+0x985ec3)[0x7faee84ecec3]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/libstd-2268eb07c4da6a07.so(rust_metadata_std_e292dd3bffb96032+0xca4ae)[0x7faee7a6f4ae]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8609)[0x7faedec0d609]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43)[0x7faee78ce133]
[RUSTC-TIMING] ___ test:false 0.203
rustc exited with signal: 11 (SIGSEGV) (core dumped)
```
r? `@ehuss`
2023-03-18 23:54:40 +00:00
Nikita Popov
4192743ab7
Revert "Auto merge of #107224 - nikic:llvm-16, r=cuviper"
...
This reverts commit 4a04d086ca
, reversing
changes made to 2d0a7def33
.
2023-03-18 23:49:24 +01:00
bors
4a04d086ca
Auto merge of #107224 - nikic:llvm-16, r=cuviper
...
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`
2023-03-18 18:14:35 +00:00
bors
2d0a7def33
Auto merge of #108802 - nikic:bolt-update, r=Mark-Simulacrum
...
Update host compiler to LLVM 16
Update the host compiler for dist-x86_64-linux to LLVM 16. In particular, this pulls in 1de305da42
, which is needed to update Rust's own LLVM (https://github.com/rust-lang/rust/pull/107224 ).
2023-03-18 15:01:35 +00:00
bors
f177b7cb91
Auto merge of #109303 - matthiaskrgr:rollup-usj4ef5, r=matthiaskrgr
...
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
2023-03-18 11:19:30 +00:00
Matthias Krüger
49a152885d
Rollup merge of #109288 - jmillikin:linux-abstract-socket-addr, r=joshtriplett
...
Stabilise `unix_socket_abstract`
Fixes https://github.com/rust-lang/rust/issues/85410
2023-03-18 12:04:24 +01:00
Matthias Krüger
0aa0043141
Rollup merge of #109287 - scottmcm:hash-slice-size-of-val, r=oli-obk
...
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.
2023-03-18 12:04:24 +01:00
Matthias Krüger
e81a07268b
Rollup merge of #109283 - notriddle:notriddle/visibility-to-src-with-space, r=jsha
...
rustdoc: reduce allocations in `visibility_to_src_with_space`
2023-03-18 12:04:24 +01:00
Matthias Krüger
8417c93092
Rollup merge of #109238 - spastorino:new-rpitit-12, r=compiler-errors
...
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``
2023-03-18 12:04:23 +01:00
Matthias Krüger
a48d83d556
Rollup merge of #109234 - tmiasko:overflow-checks, r=cjgillot
...
Tweak implementation of overflow checking assertions
Extract and reuse logic controlling behaviour of overflow checking assertions instead of duplicating it three times.
r? `@cjgillot`
2023-03-18 12:04:23 +01:00
Matthias Krüger
a79925d63f
Rollup merge of #109193 - spastorino:new-rpitit-11, r=compiler-errors
...
Add revisions for -Zlower-impl-trait-in-trait-to-assoc-ty fixed tests
Needs to go on top of #109198
r? ``@compiler-errors``
2023-03-18 12:04:22 +01:00
Matthias Krüger
7ebf2cd2b8
Rollup merge of #108772 - jyn514:faster-tidy, r=the8472
...
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)
![image](https://user-images.githubusercontent.com/23638587/222965319-352ad2c8-367c-4d74-960a-e4bb161a6aff.png )
after (8 threads) ![image](https://user-images.githubusercontent.com/23638587/222965323-fa846f4e-727a-4bf8-8e3b-1b7b40505cc3.png )
before (64 threads) ![image](https://user-images.githubusercontent.com/23638587/222965302-dc88020c-19e9-49d9-a87d-cad054d717f3.png )
after (64 threads) ![image](https://user-images.githubusercontent.com/23638587/222965335-e73d7622-59de-41d2-9cc4-1bd67042a349.png )
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`
2023-03-18 12:04:21 +01:00
Matthias Krüger
9599f3cc54
Rollup merge of #107416 - czzrr:issue-80618, r=GuillaumeGomez
...
Error code E0794 for late-bound lifetime parameter error.
This PR addresses [#80618 ](https://github.com/rust-lang/rust/issues/80618 ).
2023-03-18 12:04:21 +01:00
bors
df61fcaec1
Auto merge of #108815 - the8472:process-obligations-fast-skip, r=nnethercote
...
fast path for process_obligations
Speeds up `keccak` and `cranelift-codegen` in perf.rlo.
2023-03-18 07:07:53 +00:00
Joshua Nelson
675c4aa2c1
address review comments
2023-03-18 00:43:37 -05:00
Joshua Nelson
3a58b2b3b0
Let tidy use more threads
...
This has a significant speedup for me locally, from about 1.3 seconds to
.9 seconds.
2023-03-18 00:38:17 -05:00
Joshua Nelson
19b272a94b
Use a single WalkBuilder for multiple paths
2023-03-18 00:38:17 -05:00
Joshua Nelson
d26a15563d
Make ui_tests
non-quadratic
...
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.
2023-03-18 00:38:17 -05:00
Joshua Nelson
9b606a3203
Speed up file walking in tidy
...
- 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
2023-03-18 00:38:17 -05:00
Joshua Nelson
c76e260fa7
Use named threads in tidy
...
This makes it easier to profile.
2023-03-18 00:38:16 -05:00
John Millikin
a3f3db842d
Stabilise unix_socket_abstract
...
Fixes https://github.com/rust-lang/rust/issues/85410
2023-03-18 12:32:09 +09:00
bors
85123d2504
Auto merge of #109284 - matthiaskrgr:rollup-aaublsx, r=matthiaskrgr
...
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
2023-03-18 03:16:32 +00:00
Scott McMurray
35088797ae
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 nuw`, so why not.
2023-03-17 19:55:49 -07:00
Matthias Krüger
0d4a56cc21
Rollup merge of #109257 - petrochenkov:bindebug, r=WaffleLapkin
...
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 .
2023-03-18 00:05:55 +01:00
Matthias Krüger
01edab6024
Rollup merge of #109256 - chaitanyav:fix_108948, r=albertlarsan68
...
Check for llvm-tools before install
Fixes #108948
````@jpalus```` Please review
2023-03-18 00:05:55 +01:00
Matthias Krüger
7e5705e5c6
Rollup merge of #109251 - MU001999:master, r=Nilstrieb
...
Suggest surrounding the macro with `{}` to interpret as a statement
Fixes #109237
2023-03-18 00:05:54 +01:00
Matthias Krüger
d91858b080
Rollup merge of #109248 - compiler-errors:get_fn_decl-aaa, r=WaffleLapkin
...
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.
2023-03-18 00:05:54 +01:00
Matthias Krüger
2a3c0e34cb
Rollup merge of #109235 - chaitanyav:master, r=ChrisDenton
...
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
2023-03-18 00:05:53 +01:00
Matthias Krüger
dfd2b6493a
Rollup merge of #109222 - chenyukang:yukang/fix-109143, r=petrochenkov
...
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.
2023-03-18 00:05:53 +01:00
Matthias Krüger
e7d6369ed4
Rollup merge of #109211 - mili-l:mili_l/update_e0206_description, r=WaffleLapkin
...
E0206 - update description
added `union` to description
2023-03-18 00:05:52 +01:00
Matthias Krüger
55d5cd5e95
Rollup merge of #109200 - compiler-errors:issue-109191, r=WaffleLapkin
...
Fix index out of bounds in `suggest_trait_fn_ty_for_impl_fn_infer`
Fixes #109191
2023-03-18 00:05:52 +01:00
Matthias Krüger
0ee7539e96
Rollup merge of #109102 - compiler-errors:ambig-assoc-in-non-lt-binder, r=jackh726
...
Erase escaping late-bound regions when probing for ambiguous associated types
Fixes #109090
2023-03-18 00:05:52 +01:00
Michael Howell
8628e27da3
rustdoc: reduce allocations in visibility_to_src_with_space
2023-03-17 15:43:01 -07:00
Santiago Pastorino
e0302bbc3b
Add revisions for -Zlower-impl-trait-in-trait-to-assoc-ty fixed tests
2023-03-17 16:01:53 -03:00
bors
13afbdaa06
Auto merge of #108862 - Mark-Simulacrum:bootstrap-bump, r=pietroalbini
...
Bump bootstrap compiler to 1.69 beta
r? `@pietroalbini`
2023-03-17 19:00:38 +00:00
The 8472
7cce618d18
Fast path that skips over unchanged obligations in process_obligations
...
- 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
2023-03-17 19:56:03 +01:00
Santiago Pastorino
ae7fa1d269
Add generic parameters mismatch test for async in traits
2023-03-17 15:45:57 -03:00
Santiago Pastorino
c7cc1c7442
Fix generics mismatch errors for RPITITs on -Zlower-impl-trait-in-trait-to-assoc-ty
2023-03-17 15:36:02 -03:00
NagaChaitanya Vellanki
32c589b236
Modify code style as per comments
2023-03-17 10:44:22 -07:00
Michael Goulet
08c913279f
Pass the right HIR back from get_fn_decl
2023-03-17 15:39:05 +00:00
Michael Goulet
79ad7cca45
Erase escaping late-bound regions when probing for ambiguous associated types
2023-03-17 15:33:24 +00:00
bors
03b01c5bec
Auto merge of #109253 - matthiaskrgr:rollup-2xmv5zk, r=matthiaskrgr
...
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
2023-03-17 14:56:30 +00:00
Jamilya Shurukhova
c4bb47ac36
Update compiler/rustc_error_codes/src/error_codes/E0206.md
...
Co-authored-by: Waffle Maybe <waffle.lapkin@gmail.com>
2023-03-17 15:50:37 +01:00
Jamilya Shurukhova
05dc132adb
E0206 - code review changes
2023-03-17 14:54:39 +01:00
bors
c50c62d225
Auto merge of #109241 - saethlin:miri, r=oli-obk
...
update Miri
r? `@oli-obk`
2023-03-17 12:01:17 +00:00
Vadim Petrochenkov
2a5208011d
resolve: Improve debug impls for NameBinding
...
Print at least the Some/None/Ok/Err status of the nested bindings if not the bindings themselves.
2023-03-17 13:34:15 +04:00
NagaChaitanya Vellanki
97740a648f
Check for llvm-tools before install
2023-03-17 02:33:31 -07:00
Nikita Popov
b238a76f65
Increase array size in array-map.rs
...
Make sure that the loop is not fully unrolled (which allows
eliminating the allocas) in LLVM 16 either.
2023-03-17 09:43:24 +01:00