Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 14 pull requests #91650

Closed
wants to merge 34 commits into from

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

ehuss and others added 30 commits November 3, 2021 16:41
There's a few spots where semicolons are checked for to do error recovery,
and should not be suggested (or checked for other stuff).

Fixes rust-lang#87647
This commit also updates `stdarch` git submodule.
Notably, the passes at the end of `make_shim` aren't applied to them.
Also add a test case for inserting a semicolon on extern fns.

Without this fix, we got an error like this:

    error: expected one of `->`, `where`, or `{`, found `}`
     --> chk.rs:3:1
      |
    2 |   fn foo()
      |      ---  - expected one of `->`, `where`, or `{`
      |      |
      |      while parsing this `fn`
    3 | }
      | ^ unexpected token

Since this is inside an extern block, you're required to write function
prototypes with no body. This fixes a regression, and adds a test case
for it.
When we point at a binding to suggest giving it a type, erase all the
type for ADTs that have been resolved, leaving only the ones that could
not be inferred. For small shallow types this is not a problem, but for
big nested types with lots of params, this can otherwise cause a lot of
unnecessary visual output.
When the value of a const param isn't inferred, replace it with the
param name from the definition.
Prevent spurious build failures and other bugs caused by parallel runs of
x.py. We back the lock with sqlite, so that we have a cross-platform locking
strategy, and which can be done nearly first in the build process (from Python),
which helps move the lock as early as possible.
This one is a heavy `'tcx` user.

Two interesting ones:

This one had the `'tcx` declared on the function, despite the trait taking a `'tcx`:
```diff
-impl Visitor<'_> for UsedLocals {
+impl<'tcx> Visitor<'tcx> for UsedLocals {
     fn visit_statement(&mut self, statement: &Statement<'tcx>, location: Location) {
```

This one use in-band for one, and underscore for the other:
```diff
-pub fn remove_dead_blocks(tcx: TyCtxt<'tcx>, body: &mut Body<'_>) {
+pub fn remove_dead_blocks<'tcx>(tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
```
…e_name, r=Mark-Simulacrum

Deprecate crate_type and crate_name nested inside #![cfg_attr]

This implements the proposal in rust-lang#83676 (comment), with a future compatibility lint imposed on usage of crate_type/crate_name inside cfg's.

This is a compromise between removing `#![crate_type]` and `#![crate_name]` completely and keeping them as a whole, which requires somewhat of a hack in rustc and is impossible to support by gcc-rust. By only removing `#![crate_type]` and `#![crate_name]` nested inside `#![cfg_attr]` it becomes possible to parse them before a big chunk of the compiler has started.

Replaces rust-lang#83676

```rust
#![crate_type = "lib"] // remains working
#![cfg_attr(foo, crate_type = "bin")] // will stop working
```

# Rationale

As it currently is it is possible to try to access the stable crate id before it is actually set, which will panic. The fact that the Session contains mutable state beyond debugging things also doesn't completely sit well with me. Especially once parallel rustc becomes the default.

I think there is currently also a cyclic dependency where you need to set the stable crate id to be able to load crates, but you need to load crates to expand proc macro attributes that may define #![crate_name] or #![crate_type]. Currently crate level proc macro attributes are unstable or completely unsupported (can't remember which), so this is not a problem, but it may become an issue in the future.

Finally if we want to add incremental compilation to macro expansion or even parsing, we need the StableCrateId to be created together with the Session or even earlier as incremental compilation determines the incremental compilation session dir based on the StableCrateId.
…Simulacrum

Lock bootstrap (x.py) build directory

Closes rust-lang#76661,  closes rust-lang#80849,
`x.py` creates a lock file at `project_root/lock.db`

r? `@jyn514` , because he was one that told me about this~
Update certificates in some Ubuntu 16 images.

These images use crosstool-ng, which needs to download various things off the internet. The certificate for `www.kernel.org` no longer works with the ca-certificates in Ubuntu 16. This resolves the issue by grabbing from a newer image a certificate bundle from https://curl.se/ca/cacert.pem, which is usually somewhat up to date.
…=nagisa

Only shown relevant type params in E0283 label

When we point at a binding to suggest giving it a type, erase all the
type for ADTs that have been resolved, leaving only the ones that could
not be inferred. For small shallow types this is not a problem, but for
big nested types with lots of params, this can otherwise cause a lot of
unnecessary visual output.
…, r=wesleywiser

Print a suggestion when comparing references to primitive types in `const fn`

Fixes rust-lang#90870.
…Mark-Simulacrum

Emphasise that an OsStr[ing] is not necessarily a platform string

Fixes rust-lang#53261

Since that issue was filed, rust-lang#56141 added a further clarification to the `OsString` docs. However the ffi docs may still leave the impression that an `OsStr` is in the platform native form. This PR aims to further emphasise that an `OsStr` is not necessarily a platform string.
…ected-semicolon, r=estebank

Do not add `;` to expected tokens list when it's wrong

There's a few spots where semicolons are checked for to do error recovery, and should not be suggested (or checked for other stuff).

Fixes rust-lang#87647
…anieu

Add spin_loop hint for RISC-V architecture

This commit uses the PAUSE instruction (rust-lang/stdarch#1262) to implement RISC-V spin loop, and updates `stdarch` submodule to use the merged PAUSE instruction.
Evaluate inline const pat early and report error if too generic

Fix rust-lang#90150

`@rustbot` label: T-compiler F-inline_const
…crum

Remove unneeded access to pretty printer's `s` field in favor of deref

I found it taxing in some of my recent PRs touching the pretty printer to maintain consistency with the surrounding code, since the current code is all over the place about whether it uses `self.s.…()` or `self.…()` for invoking methods of `rustc_ast_pretty::pp::Printer`.

This PR standardizes on `self.…()` &mdash; relying on the `Deref` and `DerefMut` impls introduced by [rust-lang#62532](rust-lang@cab4532).
…anup, r=oli-obk

Address some FIXMEs left over from rust-lang#91475

This shouldn't change behavior, only clarify what we're currently doing. I filed rust-lang#91576 to see if the treatment of generator drop shims is intentional.

cc rust-lang#91475
…r=notriddle

Add missing whitespace before disabled HTML attribute

On the [w3c HTML checker](https://validator.w3.org/nu/#textarea), with the current generated HTML we get:

![Screenshot from 2021-12-07 15-10-38](https://user-images.githubusercontent.com/3050060/145044653-b38fb679-da76-4890-853f-b696d8fdc06e.png)

The problem was that we were telling tera to remove too many whitespace.

r? `@notriddle`
…rochenkov

Remove `in_band_lifetimes` from `rustc_mir_transform`

Like rust-lang#91580, this was inspired by the conversation in rust-lang#44524 about possibly removing the feature from the compiler.  This crate is a heavy `'tcx` user, so is a nice case study.

r? `@petrochenkov`

Three interesting ones:

This one had the `'tcx` declared on the function, despite the trait taking a `'tcx`:
```diff
-impl Visitor<'_> for UsedLocals {
+impl<'tcx> Visitor<'tcx> for UsedLocals {
     fn visit_statement(&mut self, statement: &Statement<'tcx>, location: Location) {
```

This one use in-band for one, and underscore for the other:
```diff
-pub fn remove_dead_blocks(tcx: TyCtxt<'tcx>, body: &mut Body<'_>) {
+pub fn remove_dead_blocks<'tcx>(tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
```

A spurious name, since there's no single-use-lifetime warning:
```diff
-pub fn run_passes(tcx: TyCtxt<'tcx>, body: &'mir mut Body<'tcx>, passes: &[&dyn MirPass<'tcx>]) {
+pub fn run_passes<'tcx>(tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>, passes: &[&dyn MirPass<'tcx>]) {
```
Define c_char using cfg_if rather than repeating 40-line cfg

Libstd has a 40-line cfg that defines the targets on which `c_char` is unsigned, and then repeats the same cfg with `not(…)` for the targets on which `c_char` is signed.

This PR replaces it with a `cfg_if!` in which an `else` takes care of the signed case.

I confirmed that `x.py doc library/std` inlines the type alias because c_char_definition is not a publicly accessible path:

![Screenshot from 2021-12-07 13-42-07](https://user-images.githubusercontent.com/1940490/145110596-f1058406-9f32-44ff-9a81-1dfd19b4a24f.png)
@rustbot rustbot added the rollup A PR which is a rollup label Dec 8, 2021
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=14

@bors
Copy link
Contributor

bors commented Dec 8, 2021

📌 Commit 46010eb has been approved by matthiaskrgr

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Dec 8, 2021
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-tools failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
  IMAGE: x86_64-gnu-tools
##[endgroup]
From https://github.com/rust-lang/rust
 * branch              master     -> FETCH_HEAD
Searching for toolstate changes between 11fb21fd0e4c42490d42f1baf6bc51516e5dc5f5 and 45b53b9d9ba81d984bfc5f1c43745fd29d53d5fb
Rustdoc was updated
##[group]Run src/ci/scripts/verify-channel.sh
src/ci/scripts/verify-channel.sh
shell: /bin/bash --noprofile --norc -e -o pipefail {0}
env:
---



The actual stderr differed from the expected stderr.
Actual stderr saved to /tmp/compiletestY5lnzi/portable-simd.stage-id.stderr
To only update this specific test, also pass `--test-args portable-simd.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/miri" "tests/run-pass/portable-simd.rs" "-L" "/tmp/compiletestY5lnzi" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-C" "prefer-dynamic" "-o" "/tmp/compiletestY5lnzi/portable-simd.stage-id" "-A" "unused" "--edition" "2018" "-Astable-features" "--sysroot" "/home/user/.cache/miri/HOST" "-L" "/tmp/compiletestY5lnzi/portable-simd.stage-id.aux"
------------------------------------------

------------------------------------------
stderr:
---

---- compile_test stdout ----
diff of stderr:

 error: casting integer literal to `i32` is unnecessary
   --> $DIR/unnecessary_cast.rs:6:5
 LL |     1i32 as i32;
    |     ^^^^^^^^^^^ help: try: `1_i32`
    |
    |
    = note: `-D clippy::unnecessary-cast` implied by `-D warnings`
 
 error: casting float literal to `f32` is unnecessary
   --> $DIR/unnecessary_cast.rs:7:5
 LL |     1f32 as f32;
    |     ^^^^^^^^^^^ help: try: `1_f32`
 
 
 error: casting to the same type is unnecessary (`bool` -> `bool`)
   --> $DIR/unnecessary_cast.rs:8:5
 LL |     false as bool;
 LL |     false as bool;
    |     ^^^^^^^^^^^^^ help: try: `false`
-error: aborting due to 3 previous errors
-error: aborting due to 3 previous errors
+error: casting integer literal to `i8` is unnecessary
+  --> $DIR/unnecessary_cast.rs:25:5
+LL |     1 as std::os::raw::c_char;
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `1_i8`
+
+error: aborting due to 4 previous errors
---
To only update this specific test, also pass `--test-args unnecessary_cast.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/clippy-driver" "tests/ui/unnecessary_cast.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/test" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/test/unnecessary_cast.stage-id" "-A" "unused" "--emit=metadata" "-Dwarnings" "-Zui-testing" "-L" "dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps" "-L" "dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "--extern" "parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libparking_lot-03199b31ca772f2d.rlib" "--extern" "quote=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libquote-a2cb7849bbc8a2a2.rlib" "--extern" "itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libitertools-041fb6ac880e1ce0.rlib" "--extern" "derive_new=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps/libderive_new-12319133577eb155.so" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libregex-8ccd5459decf8e02.rlib" "--extern" "serde_derive=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps/libserde_derive-f91723cecf6d8a5f.so" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libserde-a8c1b2a71f554c3c.rlib" "--extern" "if_chain=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libif_chain-a436811527635382.rlib" "--extern" "clippy_utils=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libclippy_utils-8a400cd14c1fc33b.rlib" "--extern" "syn=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libsyn-c2a1ca34edf818c9.rlib" "--edition=2021" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/test/unnecessary_cast.stage-id.aux"
------------------------------------------

------------------------------------------
stderr:
stderr:
error: test failed, to rerun pass '--test compile-test'
------------------------------------------
{"message":"casting integer literal to `i32` is unnecessary","code":{"code":"clippy::unnecessary_cast","explanation":null},"level":"error","spans":[{"file_name":"tests/ui/unnecessary_cast.rs","byte_start":110,"byte_end":121,"line_start":6,"line_end":6,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":"    1i32 as i32;","highlight_start":5,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`-D clippy::unnecessary-cast` implied by `-D warnings`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"try","code":null,"level":"help","spans":[{"file_name":"tests/ui/unnecessary_cast.rs","byte_start":110,"byte_end":121,"line_start":6,"line_end":6,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":"    1i32 as i32;","highlight_start":5,"highlight_end":16}],"label":null,"suggested_replacement":"1_i32","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: casting integer literal to `i32` is unnecessary\n  --> tests/ui/unnecessary_cast.rs:6:5\n   |\nLL |     1i32 as i32;\n   |     ^^^^^^^^^^^ help: try: `1_i32`\n   |\n   = note: `-D clippy::unnecessary-cast` implied by `-D warnings`\n\n"}
{"message":"casting float literal to `f32` is unnecessary","code":{"code":"clippy::unnecessary_cast","explanation":null},"level":"error","spans":[{"file_name":"tests/ui/unnecessary_cast.rs","byte_start":127,"byte_end":138,"line_start":7,"line_end":7,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":"    1f32 as f32;","highlight_start":5,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try","code":null,"level":"help","spans":[{"file_name":"tests/ui/unnecessary_cast.rs","byte_start":127,"byte_end":138,"line_start":7,"line_end":7,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":"    1f32 as f32;","highlight_start":5,"highlight_end":16}],"label":null,"suggested_replacement":"1_f32","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: casting float literal to `f32` is unnecessary\n  --> tests/ui/unnecessary_cast.rs:7:5\n   |\nLL |     1f32 as f32;\n   |     ^^^^^^^^^^^ help: try: `1_f32`\n\n"}
{"message":"casting to the same type is unnecessary (`bool` -> `bool`)","code":{"code":"clippy::unnecessary_cast","explanation":null},"level":"error","spans":[{"file_name":"tests/ui/unnecessary_cast.rs","byte_start":144,"byte_end":157,"line_start":8,"line_end":8,"column_start":5,"column_end":18,"is_primary":true,"text":[{"text":"    false as bool;","highlight_start":5,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try","code":null,"level":"help","spans":[{"file_name":"tests/ui/unnecessary_cast.rs","byte_start":144,"byte_end":157,"line_start":8,"line_end":8,"column_start":5,"column_end":18,"is_primary":true,"text":[{"text":"    false as bool;","highlight_start":5,"highlight_end":18}],"label":null,"suggested_replacement":"false","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: casting to the same type is unnecessary (`bool` -> `bool`)\n  --> tests/ui/unnecessary_cast.rs:8:5\n   |\nLL |     false as bool;\n   |     ^^^^^^^^^^^^^ help: try: `false`\n\n"}
{"message":"casting integer literal to `i8` is unnecessary","code":{"code":"clippy::unnecessary_cast","explanation":null},"level":"error","spans":[{"file_name":"tests/ui/unnecessary_cast.rs","byte_start":478,"byte_end":503,"line_start":25,"line_end":25,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    1 as std::os::raw::c_char;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try","code":null,"level":"help","spans":[{"file_name":"tests/ui/unnecessary_cast.rs","byte_start":478,"byte_end":503,"line_start":25,"line_end":25,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    1 as std::os::raw::c_char;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":"1_i8","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"error: casting integer literal to `i8` is unnecessary\n  --> tests/ui/unnecessary_cast.rs:25:5\n   |\nLL |     1 as std::os::raw::c_char;\n   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `1_i8`\n\n"}

------------------------------------------

thread 'compile_test' panicked at 'Some tests failed', /cargo/registry/src/git.luolix.top-1ecc6299db9ec823/compiletest_rs-0.7.1/src/lib.rs:105:22

@fee1-dead
Copy link
Member

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 8, 2021
@matthiaskrgr
Copy link
Member Author

urgh...

Building stage1 tool cargo (x86_64-unknown-linux-gnu)
   Compiling curl-sys v0.4.51+curl-7.80.0
   Compiling libnghttp2-sys v0.1.4+1.41.0
   Compiling url v2.2.2
   Compiling serde_json v1.0.59
   Compiling cargo-platform v0.1.2 (/home/matthias/vcs/github/rust/src/tools/cargo/crates/cargo-platform)
thread 'rustc' panicked at 'assertion failed: sentinel == STR_SENTINEL', /home/matthias/vcs/github/rust/compiler/rustc_serialize/src/opaque.rs:669:9
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: <rustc_metadata::rmeta::decoder::DecodeContext as rustc_serialize::serialize::Decoder>::read_str
   4: <rustc_metadata::rmeta::Lazy<alloc::string::String, ()>>::decode::<&rustc_metadata::rmeta::decoder::MetadataBlob>
   5: <rustc_metadata::locator::CrateLocator>::extract_one
   6: <rustc_metadata::locator::CrateLocator>::extract_lib
   7: <rustc_metadata::locator::CrateLocator>::find_library_crate
   8: <rustc_metadata::locator::CrateLocator>::maybe_load_library_crate
   9: <rustc_metadata::creader::CrateLoader>::load
  10: <rustc_metadata::creader::CrateLoader>::maybe_resolve_crate
  11: <rustc_metadata::creader::CrateLoader>::maybe_resolve_crate
  12: <rustc_metadata::creader::CrateLoader>::resolve_crate
  13: <rustc_metadata::creader::CrateLoader>::process_path_extern
  14: <rustc_resolve::Resolver>::extern_prelude_get
  15: <rustc_resolve::Resolver>::early_resolve_ident_in_lexical_scope
  16: <rustc_resolve::Resolver>::resolve_ident_in_lexical_scope
  17: <rustc_resolve::Resolver>::resolve_path_with_ribs::{closure#1}
  18: <rustc_resolve::Resolver>::resolve_path_with_ribs
  19: <rustc_resolve::late::LateResolutionVisitor>::resolve_qpath_anywhere
  20: <rustc_resolve::late::LateResolutionVisitor>::smart_resolve_path_fragment
  21: <rustc_resolve::late::LateResolutionVisitor as rustc_ast::visit::Visitor>::visit_item
  22: <rustc_resolve::Resolver>::late_resolve_crate
  23: <rustc_session::session::Session>::time::<(), <rustc_resolve::Resolver>::resolve_crate::{closure#0}>
  24: rustc_interface::passes::configure_and_expand
  25: <rustc_interface::queries::Queries>::expansion
  26: <rustc_interface::interface::Compiler>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_errors::ErrorReported>>
  27: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorReported>, rustc_interface::interface::create_compiler_and_run<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#1}>
  28: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorReported>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: internal compiler error: unexpected panic

note: 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.59.0-dev running on x86_64-unknown-linux-gnu

note: compiler flags: -Z symbol-mangling-version=v0 -Z macro-backtrace -Z tls-model=initial-exec -Z binary-dep-depinfo -C opt-level=3 -C embed-bitcode=no -C codegen-units=4 -C debuginfo=0 -C link-args=-Wl,-rpath,$ORIGIN/../lib --crate-type rlib

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack

@matthiaskrgr
Copy link
Member Author

So, not sure what this is actually caused by, I'll try to split the rollup and see if that helps a bit. :/

@matthiaskrgr
Copy link
Member Author

Filed #91663 for the cargo build failure.
Seems this does not trigger on ci though, hm.

@matthiaskrgr matthiaskrgr deleted the rollup-z7my25c branch December 12, 2021 09:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author.
Projects
None yet
Development

Successfully merging this pull request may close these issues.