John Kåre Alsaker
b6943736bd
Inline tweaks
2023-04-26 07:47:37 +02:00
John Kåre Alsaker
4440e8196a
Add query accessor functions
2023-04-26 07:46:14 +02:00
John Kåre Alsaker
66d85438ca
Remove QueryEngine trait
2023-04-26 07:46:13 +02:00
John Kåre Alsaker
897a146006
Move on_disk_cache.rs
2023-04-26 07:46:13 +02:00
Nicholas Nethercote
a82ad2fed4
Derive Type{Foldable,Visitable}
for UserTypeProjection
.
...
Because the derived versions are good enough.
2023-04-26 15:19:51 +10:00
Nicholas Nethercote
671de6d62a
Remove unused TypeFoldable
/TypeVisitable
impls.
2023-04-26 15:19:50 +10:00
clundro
27c0d92f1d
add cfg SPEC declaration.
...
use name[=value] syntax.
Signed-off-by: clundro <859287553@qq.com>
2023-04-26 13:19:09 +08:00
bors
70540d5127
Auto merge of #110784 - cuviper:build-gcc-https, r=jyn514
...
Revert "Download the GCC sources insecurely"
This reverts commit 3da037f82988b8b3aca2ce13c5c81ba975923cab.
This workaround was added after TLS problems with Debian 6 were noted in <https://github.com/rust-lang/rust/pull/86586#issuecomment-868355356 >, but we should be well past that since #95026 , where our oldest images are now based on CentOS 7.
2023-04-26 04:53:49 +00:00
bors
adaac6b166
Auto merge of #110634 - saethlin:pointy-decoder, r=cjgillot
...
Rewrite MemDecoder around pointers not a slice
This is basically https://github.com/rust-lang/rust/pull/109910 but I'm being a lot more aggressive. The pointer-based structure means that it makes a lot more sense to absorb more complexity into `MemDecoder`, most of the diff is just complexity moving from one place to another.
The primary argument for this structure is that we only incur a single bounds check when doing multi-byte reads from a `MemDecoder`. With the slice-based implementation we need to do those with `data[position..position + len]` , which needs to account for `position + len` wrapping. It would be possible to dodge the first bounds check if we stored a slice that starts at `position`, but that would require updating the pointer and length on every read.
This PR also embeds the failure path in a separate function, which means that this PR should subsume all the perf wins observed in https://github.com/rust-lang/rust/pull/109867 .
2023-04-26 02:36:42 +00:00
Scott McMurray
065d81ac6f
Lower intrinsics::offset
to mir::BinOp::Offset
...
They're semantically the same, so this means the backends don't need to handle the intrinsic and means fewer MIR basic blocks in pointer arithmetic code.
2023-04-25 19:23:45 -07:00
Scott McMurray
05a665f21a
Lower intrinsics::offset
to mir::BinOp::Offset
...
They're semantically the same, so this means the backends don't need to handle the intrinsic and means fewer MIR basic blocks in pointer arithmetic code.
2023-04-25 19:23:45 -07:00
bors
84d4f16728
Auto merge of #110834 - weihanglo:update-cargo, r=weihanglo
...
Update cargo
17 commits in de80432f04da61d98dcbbc1572598071718ccfd2..9e586fbd8b931494067144623b76c37d213b1ab6
2023-04-21 13:18:32 +0000 to 2023-04-25 22:09:11 +0000
- Update home dependency (rust-lang/cargo#12037 )
- Warn instead of error in `cargo package` on empty `readme` or `license-file` in manifest (rust-lang/cargo#12036 )
- Clarify documentation around test target setting. (rust-lang/cargo#12032 )
- fix: apply `[env]` to target info discovery rustc (rust-lang/cargo#12029 )
- CI: ensure intra links for all members are checked (rust-lang/cargo#12025 )
- chore: make credential dependencies platform-specific (rust-lang/cargo#12027 )
- CI: use `-p` to specify workspace members instead of `--manifest-path` (rust-lang/cargo#12024 )
- ci: requires `test_gitoxide` and `lockfile` for both bors success and failure (rust-lang/cargo#12026 )
- Update windows-sys (rust-lang/cargo#12021 )
- Bump libc to 0.2.142 (rust-lang/cargo#12014 )
- Update openssl-src to 111.25.3+1.1.1t (rust-lang/cargo#12005 )
- Improve error message for empty dep (rust-lang/cargo#12001 )
- Remove wrong url in benchsuite manifest. (rust-lang/cargo#12020 )
- Bump versions of local crates (rust-lang/cargo#12019 )
- Add the Win32_System_Console feature since it is used (rust-lang/cargo#12016 )
- Update outdated crates.io URLs in publishing guide (rust-lang/cargo#12018 )
- Allow named debuginfo options in Cargo.toml (rust-lang/cargo#11958 )
r? `@ghost`
2023-04-26 00:20:34 +00:00
Nicholas Nethercote
8216b7f229
Make some region folders a little stricter.
...
Because certain regions cannot occur in them.
2023-04-26 10:14:16 +10:00
Dan Johnson
e7ed5ba773
Add definitions for riscv64gc-unknown-fuchsia
2023-04-25 16:42:59 -07:00
Weihang Lo
d9c176e08b
Update cargo
2023-04-26 00:28:15 +01:00
bors
f33379b0a6
Auto merge of #110811 - compiler-errors:vars-are-question-mark, r=WaffleLapkin
...
Use `?0` notation for ty/ct/int/float/region vars
Aligns the notation for infer vars that T-types and friends most often uses for inference variables with the notation in the compiler (which is kinda a sigil nightmare IMO: `_#`) by adopting `?0` style infer vars.
This mostly affects debug output since verbose infer vars shouldn't show up in user-facing places.
Does this need an MCP? It's debug output, so I'm thinking no, but happy to open one. 🤔
r? types
2023-04-25 22:11:09 +00:00
León Orell Valerian Liehr
2f354482b8
Add regression tests for const-generic IATs
2023-04-25 23:32:13 +02:00
Michael Howell
1bfbac7903
diagnostics: add test case for already-solved issue
...
Fixes #70082
2023-04-25 13:07:09 -07:00
Michael Goulet
bb99cdc7cd
vars are ?
2023-04-25 19:53:09 +00:00
bors
458d4dae84
Auto merge of #110821 - matthiaskrgr:rollup-mzxrvw7, r=matthiaskrgr
...
Rollup of 6 pull requests
Successful merges:
- #110556 (Switch to `EarlyBinder` for `explicit_item_bounds`)
- #110615 (Add `impl_tag!` macro to implement `Tag` for tagged pointer easily)
- #110649 (Fix no_global_oom_handling build)
- #110671 (Consider polarity in new solver)
- #110783 (Fix ICE on --print=... i/o errors)
- #110796 (Updating Wake example to use new 'pin!' macro)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-25 19:21:42 +00:00
Matthias Krüger
77752a0db3
Rollup merge of #110796 - madsravn:wake-example, r=Mark-Simulacrum
...
Updating Wake example to use new 'pin!' macro
Closes: https://github.com/rust-lang/rust/issues/109965
I have already had this reviewed and approved here: https://github.com/rust-lang/rust/pull/110026 . But because I had some git issues and chose the "nuke it" option as my solution it didn't get merged. I nuked it too quickly. I am sorry for trouble of reviewing twice.
2023-04-25 21:06:35 +02:00
Matthias Krüger
f5a3039add
Rollup merge of #110783 - dtolnay:safeprint, r=petrochenkov
...
Fix ICE on --print=... i/o errors
`rustc --print=cfg > /dev/full`
**Before:** ICE (see below)
**After:** exits quietly with code 1.
```console
thread 'rustc' panicked at 'failed printing to stdout: No space left on device (os error 28)', library/std/src/io/stdio.rs:1019:9
stack backtrace:
0: 0x7ffa84d68f33 - std::backtrace_rs::backtrace::libunwind::trace::h527d8d64d53ade2d
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7ffa84d68f33 - std::backtrace_rs::backtrace::trace_unsynchronized::hfb55b01517dd6379
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7ffa84d68f33 - std::sys_common::backtrace::_print_fmt::hd134e914eea0bd97
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/sys_common/backtrace.rs:65:5
3: 0x7ffa84d68f33 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1480db11ec399d77
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/sys_common/backtrace.rs:44:22
4: 0x7ffa84dc9d4f - core::fmt::write::h67ec4c4171c92b26
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/core/src/fmt/mod.rs:1247:17
5: 0x7ffa84d5bed1 - std::io::Write::write_fmt::h3b12aef0fff2463b
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/io/mod.rs:1712:15
6: 0x7ffa84d68d45 - std::sys_common::backtrace::_print::h584400135abdbd51
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/sys_common/backtrace.rs:47:5
7: 0x7ffa84d68d45 - std::sys_common::backtrace::print::hce41d3c8bd91096b
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/sys_common/backtrace.rs:34:9
8: 0x7ffa84d6b84f - std::panicking::default_hook::{{closure}}::h2043b657a3791225
9: 0x7ffa84d6b507 - std::panicking::default_hook::h99252b8d3dd5719c
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/panicking.rs:293:9
10: 0x7ffa87fdf915 - <rustc_driver_impl[d30cd2737d9d343a]::DEFAULT_HOOK::{closure#0}::{closure#0} as core[cc19a662f3570270]::ops::function::FnOnce<(&core[cc19a662f3570270]::panic::panic_info::PanicInfo,)>>::call_once::{shim:vtable#0}
11: 0x7ffa84d6c005 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h222a2b674b9f4762
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/alloc/src/boxed.rs:1976:9
12: 0x7ffa84d6c005 - std::panicking::rust_panic_with_hook::h7f49b36bf7f8ff77
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/panicking.rs:704:13
13: 0x7ffa84d6bd73 - std::panicking::begin_panic_handler::{{closure}}::haa23a7352589e31e
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/panicking.rs:595:13
14: 0x7ffa84d69376 - std::sys_common::backtrace::__rust_end_short_backtrace::h3d0cf6e3c96e3fe9
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/sys_common/backtrace.rs:150:18
15: 0x7ffa84d6ba72 - rust_begin_unwind
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/panicking.rs:584:5
16: 0x7ffa84dc5fe3 - core::panicking::panic_fmt::hf4b4ea11e3fdb110
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/core/src/panicking.rs:67:14
17: 0x7ffa84d5aa07 - std::io::stdio::print_to::h55760b9ede306280
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/io/stdio.rs:1019:9
18: 0x7ffa84d5aa07 - std::io::stdio::_print::h93deb6099db33eab
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/io/stdio.rs:1095:5
19: 0x7ffa871e163b - rustc_driver_impl[d30cd2737d9d343a]::print_crate_info
20: 0x7ffa87fb8e01 - rustc_span[9551eaa044f53f4f]::set_source_map::<(), rustc_interface[c2b70c9b1dae0906]::interface::run_compiler<(), rustc_driver_impl[d30cd2737d9d343a]::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
21: 0x7ffa87fb6d59 - std[71a32ca0600a6a04]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[c2b70c9b1dae0906]::util::run_in_thread_pool_with_globals<rustc_interface[c2b70c9b1dae0906]::interface::run_compiler<(), rustc_driver_impl[d30cd2737d9d343a]::run_compiler::{closure#0}>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
22: 0x7ffa87fe25b4 - std[71a32ca0600a6a04]::panicking::try::<(), core[cc19a662f3570270]::panic::unwind_safe::AssertUnwindSafe<<std[71a32ca0600a6a04]:🧵 :Builder>::spawn_unchecked_<rustc_interface[c2b70c9b1dae0906]::util::run_in_thread_pool_with_globals<rustc_interface[c2b70c9b1dae0906]::interface::run_compiler<(), rustc_driver_impl[d30cd2737d9d343a]::run_compiler::{closure#0}>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1}::{closure#0}>>
23: 0x7ffa87fb0cf1 - <<std[71a32ca0600a6a04]:🧵 :Builder>::spawn_unchecked_<rustc_interface[c2b70c9b1dae0906]::util::run_in_thread_pool_with_globals<rustc_interface[c2b70c9b1dae0906]::interface::run_compiler<(), rustc_driver_impl[d30cd2737d9d343a]::run_compiler::{closure#0}>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[cc19a662f3570270]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
24: 0x7ffa84d763e5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf15d802f31f86225
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/alloc/src/boxed.rs:1962:9
25: 0x7ffa84d763e5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hac564355b46c52d6
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/alloc/src/boxed.rs:1962:9
26: 0x7ffa84d763e5 - std::sys::unix:🧵 :Thread:🆕 :thread_start::h86fb3aedb7811f07
at /rustc/7f94b314cead7059a71a265a8b64905ef2511796/library/std/src/sys/unix/thread.rs:108:17
27: 0x7ffa84a94b43 - start_thread
at ./nptl/pthread_create.c:442:8
28: 0x7ffa84b26a00 - clone3
at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
29: 0x0 - <unknown>
error: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.71.0-nightly (7f94b314c 2023-04-23) running on x86_64-unknown-linux-gnu
query stack during panic:
end of query stack
```
2023-04-25 21:06:34 +02:00
Matthias Krüger
95e9f68eb5
Rollup merge of #110671 - compiler-errors:polarity, r=lcnr
...
Consider polarity in new solver
It's kinda ugly to have a polarity check in all of the builtin impls -- I guess I could consider the polarity at the top of assemble-builtin but that would require adding a polarity fn to `GoalKind`...
🤷 putting this up just so i dont forget, since it's needed to bootstrap core during coherence (this alone does not allow core to bootstrap though, additional work is needed!)
r? ``@lcnr``
2023-04-25 21:06:34 +02:00
Matthias Krüger
94dfb3ba78
Rollup merge of #110649 - arlosi:fix_no_global_oom_handling, r=Mark-Simulacrum
...
Fix no_global_oom_handling build
`provide_sorted_batch` in core is incorrectly marked with `#[cfg(not(no_global_oom_handling))]` which prevents core from building with the cfg enabled.
Nothing in `core` allocates memory (including this function). The `cfg` gate is incorrect.
cc ``@dpaoliello``
r? ``@wesleywiser``
The cfg was added by #107191
2023-04-25 21:06:33 +02:00
Matthias Krüger
8d00a8d11e
Rollup merge of #110615 - WaffleLapkin:impl_tag, r=cjgillot
...
Add `impl_tag!` macro to implement `Tag` for tagged pointer easily
r? `@Nilstrieb`
This should also lifts the need to think about safety from the callers (`impl_tag!` is robust (ish, see the macro issue)) and removes the possibility of making a "weird" `Tag` impl.
2023-04-25 21:06:33 +02:00
Matthias Krüger
297b222066
Rollup merge of #110556 - kylematsuda:earlybinder-explicit-item-bounds, r=compiler-errors
...
Switch to `EarlyBinder` for `explicit_item_bounds`
Part of the work to finish https://github.com/rust-lang/rust/issues/105779 .
This PR adds `EarlyBinder` to the return type of the `explicit_item_bounds` query and removes `bound_explicit_item_bounds`.
r? `@compiler-errors` (hope it's okay to request you, since you reviewed #110299 and #110498 😃 )
2023-04-25 21:06:32 +02:00
Tamir Duberstein
451e86c36e
simplify TrustedLen impls
...
Implement on FlattenCompat and delegate from Flatten and FlatMap.
2023-04-25 14:07:51 -04:00
clubby789
0138513635
Fix static string lints
2023-04-25 18:59:55 +01:00
Maybe Waffle
d9f842a4dc
Rename TraitRef::{_use_mk_trait_ref_instead => _use_trait_ref_new_instead}
2023-04-25 17:48:19 +00:00
clubby789
eeb527602a
Add deny lint to prevent untranslatable diagnostics using static strings
2023-04-25 18:44:49 +01:00
bjorn3
0c79ce3bac
Add two fixmes
2023-04-25 17:40:12 +00:00
bjorn3
c5be67ba36
Pass all extra args in rustc-clif before user supplied args
...
This allows the user to overwrite them and prevents confusing error
messages if the last argument supplied expects a value.
2023-04-25 17:39:20 +00:00
Maybe Waffle
bec7ce4824
Add #[inline]
in impl_tag
2023-04-25 17:37:12 +00:00
Maybe Waffle
021a12c00d
Sprinkle some #[inline]
in rustc_data_structures::tagged_ptr
2023-04-25 17:30:05 +00:00
Camille GILLOT
0ee32fb3c7
Move unstatisfaction check earlier.
2023-04-25 17:11:46 +00:00
Maybe Waffle
c727edc0b7
Remove some useless ty::Binder::dummy
calls
2023-04-25 16:47:00 +00:00
Maybe Waffle
91d495fdf4
Use ty::TraitRef::new
in clippy
2023-04-25 16:31:51 +00:00
Maybe Waffle
f0dd95c3a8
Use ty::TraitRef::new
in rustdoc
2023-04-25 16:31:30 +00:00
Maybe Waffle
8f7fe4a303
Remove tcx.mk_trait_ref
2023-04-25 16:12:44 +00:00
Maybe Waffle
46b01abbcd
Replace tcx.mk_trait_ref
with ty::TraitRef::new
2023-04-25 16:12:44 +00:00
Lukas Markeffsky
cd398a6de9
test that we format the panic message only once
2023-04-25 18:11:28 +02:00
bors
666fee2a5f
Auto merge of #110518 - loongarch-rs:update-linux-raw-sys, r=Mark-Simulacrum
...
Update linux-raw-sys to 0.3.4
To support LoongArch.
Changes:
```
Updating errno v0.2.8 -> v0.3.1
Updating is-terminal v0.4.4 -> v0.4.7
Updating linux-raw-sys v0.1.4 -> v0.3.4
Updating rustix v0.36.5 -> v0.37.7
Updating terminal_size v0.2.3 -> v0.2.6
Adding windows-sys v0.48.0
```
The changes are generated by:
```bash
cargo update -p is-terminal -p terminal_size
```
2023-04-25 15:56:58 +00:00
Maybe Waffle
2d8c905e15
Move TraitRef
constructors to the top
...
In rust `new`-ish functions are usually the first ones in an `impl` block
2023-04-25 15:36:17 +00:00
Maybe Waffle
14f832733d
Add ty::TraitRef::{new, from_lang_item}
2023-04-25 15:34:21 +00:00
Maybe Waffle
e6ed0ca3dd
Improve non-ice-error-on-worker-io-fail.rs
test
...
- Remove unrelated code
- Use a local dir path
2023-04-25 15:25:19 +00:00
Maybe Waffle
39fa192d8b
Fix ui/io-checks/inaccessbile-temp-dir.rs
test
2023-04-25 15:22:09 +00:00
David Tolnay
040e1b6b5f
Fix ICE on --print=... i/o errors
2023-04-25 08:17:18 -07:00
ozkanonur
f56b6d0b12
pass unused_extern_crates
in librustdoc::doctest::make_test
...
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-04-25 17:20:58 +03:00
bors
a7aa20517c
Auto merge of #110325 - obeis:hir-analysis-migrate-diagnostics-4, r=davidtwco
...
Migrate `rustc_hir_analysis` to session diagnostic [Part 4]
Part 4: Finishing `check/mod.rs` file
r? `@compiler-errors`
2023-04-25 13:45:20 +00:00
bjorn3
a7c797909c
Make rustdoc using run-make tests work
2023-04-25 13:43:27 +00:00