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

ICE(stable): thread 'rustc' panicked at 'called Option::unwrap() on a None value', compiler/rustc_middle/src/ty/instance.rs:434:85 #80706

Closed
fominok opened this issue Jan 4, 2021 · 18 comments · Fixed by #88640
Labels
A-associated-items Area: Associated items (types, constants & functions) A-async-await Area: Async & Await AsyncAwait-Triaged Async-await issues that have been triaged during a working group meeting. C-bug Category: This is a bug. E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. glacier ICE tracked in rust-lang/glacier. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ I-monomorphization Issue: An error at monomorphization time. P-high High priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@fominok
Copy link

fominok commented Jan 4, 2021

Code

EDIT: MCVE is here.

use core::fmt::Debug;
use futures::future::BoxFuture;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let dependency = "dependency".to_owned();
    let storage = InMemoryStorage;
    run(&dependency, storage).await;
    Ok(())
}

pub(crate) struct InMemoryStorage;

struct User<'dep> {
    name: String,
    dep: &'dep str,
}

impl<'a> StorageRequest<InMemoryStorage> for SaveUser<'a> {
    fn execute(
        &self,
        storage: &InMemoryStorage,
    ) -> BoxFuture<
        Result<<Self as StorageRequestReturnType>::Output, <InMemoryStorage as Storage>::Error>,
    > {
        todo!()
    }
}

trait Storage {
    type Error;
}

impl Storage for InMemoryStorage {
    type Error = String;
}

trait StorageRequestReturnType {
    type Output;
}

trait StorageRequest<S: Storage>: StorageRequestReturnType {
    fn execute(
        &self,
        storage: &S,
    ) -> BoxFuture<Result<<Self as StorageRequestReturnType>::Output, <S as Storage>::Error>>;
}

struct SaveUser<'a> {
    name: &'a str,
}

impl<'a> StorageRequestReturnType for SaveUser<'a> {
    type Output = ();
}

impl<'dep> User<'dep> {
    async fn new<S>(storage: &S, dep: &'dep str) -> User<'dep>
    where
        S: Storage,
    {
        User {
            dep,
            name: "Joe".to_owned(),
        }
    }

    async fn save<S>(mut self, storage: &S)
    where
        S: Storage,
        for<'a> SaveUser<'a>: StorageRequest<S>,
        <S as Storage>::Error: Debug,
    {
        SaveUser { name: &self.name }
            .execute(storage)
            .await
            .unwrap();
    }
}

async fn run<S>(dep: &'_ str, storage: S)
where
    S: Storage,
    <S as Storage>::Error: Debug,
    for<'a> SaveUser<'a>: StorageRequest<S>,
{
    let user = User::new(&storage, dep).await;
    user.save(&storage).await;
}

Meta

Also reproducible on beta and nightly;

rustc --version --verbose:

rustc 1.49.0 (e1884a8e3 2020-12-29)
binary: rustc
commit-hash: e1884a8e3c3e813aada8254edfa120e85bf5ffca
commit-date: 2020-12-29
host: x86_64-unknown-linux-gnu
release: 1.49.0

Error output

thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', compiler/rustc_middle/src/ty/instance.rs:434:85
note: run with `RUST_BACKTRACE=1` environment variable to display a 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.49.0 (e1884a8e3 2020-12-29) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type bin

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

query stack during panic:
#0 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
Backtrace

thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', compiler/rustc_middle/src/ty/instance.rs:434:85
stack backtrace:
   0: rust_begin_unwind
             at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/std/src/panicking.rs:495:5
   1: core::panicking::panic_fmt
             at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/core/src/panicking.rs:92:14
   2: core::panicking::panic
             at /rustc/e1884a8e3c3e813aada8254edfa120e85bf5ffca/library/core/src/panicking.rs:50:5
   3: rustc_middle::ty::instance::Instance::resolve_drop_in_place
   4: <rustc_mir::monomorphize::collector::MirNeighborCollector as rustc_middle::mir::visit::Visitor>::visit_terminator
   5: rustc_mir::monomorphize::collector::collect_neighbours
   6: rustc_mir::monomorphize::collector::collect_items_rec
   7: rustc_mir::monomorphize::collector::collect_items_rec
   8: rustc_mir::monomorphize::collector::collect_items_rec
   9: rustc_mir::monomorphize::collector::collect_items_rec
  10: rustc_mir::monomorphize::collector::collect_items_rec
  11: rustc_mir::monomorphize::collector::collect_items_rec
  12: rustc_mir::monomorphize::collector::collect_items_rec
  13: rustc_mir::monomorphize::collector::collect_items_rec
  14: rustc_mir::monomorphize::collector::collect_items_rec
  15: rustc_mir::monomorphize::collector::collect_items_rec
  16: rustc_mir::monomorphize::collector::collect_items_rec
  17: rustc_mir::monomorphize::collector::collect_items_rec
  18: rustc_mir::monomorphize::collector::collect_items_rec
  19: rustc_mir::monomorphize::collector::collect_items_rec
  20: rustc_mir::monomorphize::collector::collect_items_rec
  21: rustc_mir::monomorphize::collector::collect_items_rec
  22: rustc_mir::monomorphize::collector::collect_items_rec
  23: rustc_mir::monomorphize::collector::collect_items_rec
  24: rustc_mir::monomorphize::collector::collect_items_rec
  25: rustc_session::utils::<impl rustc_session::session::Session>::time
  26: rustc_mir::monomorphize::collector::collect_crate_mono_items
  27: rustc_mir::monomorphize::partitioning::collect_and_partition_mono_items
  28: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::collect_and_partition_mono_items>::compute
  29: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
  30: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
  31: rustc_data_structures::stack::ensure_sufficient_stack
  32: rustc_query_system::query::plumbing::get_query_impl
  33: rustc_codegen_ssa::base::codegen_crate
  34: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
  35: rustc_interface::passes::QueryContext::enter
  36: rustc_interface::queries::Queries::ongoing_codegen
  37: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
  38: rustc_span::with_source_map
  39: rustc_interface::interface::create_compiler_and_run
  40: rustc_span::with_session_globals
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.49.0 (e1884a8e3 2020-12-29) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental --crate-type bin

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

query stack during panic:
#0 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack

@fominok fominok added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 4, 2021
@jyn514 jyn514 added the I-monomorphization Issue: An error at monomorphization time. label Jan 5, 2021
@jyn514
Copy link
Member

jyn514 commented Jan 5, 2021

Slightly smaller:

use futures::future::BoxFuture;

fn main() {
    f();
}

#[tokio::main]
async fn f() {
    run("dependency").await;
}

struct InMemoryStorage;

struct User<'dep> {
    dep: &'dep str,
}

impl<'a> StorageRequest<InMemoryStorage> for SaveUser<'a> {
    fn execute(&self) -> BoxFuture<Result<(), String>> {
        todo!()
    }
}

trait Storage {
    type Error;
}

impl Storage for InMemoryStorage {
    type Error = String;
}

trait StorageRequestReturnType {
    type Output;
}

trait StorageRequest<S: Storage>: StorageRequestReturnType {
    fn execute(
        &self,
    ) -> BoxFuture<Result<<Self as StorageRequestReturnType>::Output, <S as Storage>::Error>>;
}

struct SaveUser<'a> {
    name: &'a str,
}

impl<'a> StorageRequestReturnType for SaveUser<'a> {
    type Output = ();
}

impl<'dep> User<'dep> {
    async fn save<S>(self)
    where
        S: Storage,
        for<'a> SaveUser<'a>: StorageRequest<S>,
    {
        SaveUser { name: "Joe" }
            .execute()
            .await;
    }
}

async fn run<S>(dep: &str)
where
    S: Storage,
    for<'a> SaveUser<'a>: StorageRequest<S>,
{
    User { dep }.save().await;
}

There are a few strange things about this:

  1. If you remove .await from async fn f(), or if you remove tokio::main, it gives a different ICE:
error: internal compiler error: compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs:228:13: debuginfo: Trying to create type name for unexpected type: <SaveUser as StorageRequestReturnType>::Output

thread 'rustc' panicked at 'Box<Any>', compiler/rustc_errors/src/lib.rs:958:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Backtrace
error: internal compiler error: compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs:228:13: debuginfo: Trying to create type name for unexpected type: <SaveUser as StorageRequestReturnType>::Output

thread 'rustc' panicked at 'Box<Any>', compiler/rustc_errors/src/lib.rs:958:9
stack backtrace:
   0: std::panicking::begin_panic
   1: rustc_errors::HandlerInner::bug
   2: rustc_errors::Handler::bug
   3: rustc_middle::ty::context::tls::with_opt
   4: rustc_middle::util::bug::opt_span_bug_fmt
   5: rustc_middle::util::bug::bug_fmt
   6: rustc_codegen_ssa::debuginfo::type_names::push_debuginfo_type_name
   7: rustc_codegen_ssa::debuginfo::type_names::push_debuginfo_type_name::push_type_params
   8: rustc_codegen_ssa::debuginfo::type_names::compute_debuginfo_type_name
   9: rustc_codegen_llvm::debuginfo::metadata::prepare_enum_metadata
  10: rustc_codegen_llvm::debuginfo::metadata::type_metadata
  11: rustc_codegen_llvm::debuginfo::<impl rustc_codegen_ssa::traits::debuginfo::DebugInfoMethods for rustc_codegen_llvm::context::CodegenCx>::create_dbg_var
  12: rustc_codegen_ssa::mir::codegen_mir
  13: rustc_codegen_ssa::base::codegen_instance
  14: <rustc_middle::mir::mono::MonoItem as rustc_codegen_ssa::mono_item::MonoItemExt>::define
  15: rustc_codegen_llvm::base::compile_codegen_unit::module_codegen
  16: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
  17: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task
  18: rustc_codegen_llvm::base::compile_codegen_unit
  19: rustc_codegen_ssa::base::codegen_crate
  20: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
  21: rustc_session::utils::<impl rustc_session::session::Session>::time
  22: rustc_interface::passes::QueryContext::enter
  23: rustc_interface::queries::Queries::ongoing_codegen
  24: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
  25: rustc_span::with_source_map
  26: rustc_interface::interface::create_compiler_and_run
  27: rustc_span::with_session_globals
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

query stack during panic:
end of query stack
  1. If you make any of the functions unreachable, it compiles fine. Presumably the compiler notices they're unused and don't need to be monomorphized.
  2. If you change the trait definition of fn execute to remove the associated items and return Result<(), String> instead, it compiles fine.
  3. If you remove async fn run and manually inline it into f, it compiles fine.

@jyn514 jyn514 added the A-associated-items Area: Associated items (types, constants & functions) label Jan 5, 2021
@jyn514
Copy link
Member

jyn514 commented Jan 5, 2021

Relevant code:

Instance::resolve(tcx, ty::ParamEnv::reveal_all(), def_id, substs).unwrap().unwrap()

ty::Error(_)
| ty::Infer(_)
| ty::Placeholder(..)
| ty::Projection(..)
| ty::Bound(..)
| ty::Opaque(..)
| ty::GeneratorWitness(..) => {
bug!(
"debuginfo: Trying to create type name for \
unexpected type: {:?}",
t
);
}

@fominok
Copy link
Author

fominok commented Jan 5, 2021

Removing 'dep still gives ICE, that's weird as I left it intentionally because previously it was required to reproduce; anyway it can be removed now to simplify the example

Edit: Should it be labeled with some priority as it is an ICE on Stable?

@fominok fominok changed the title thread 'rustc' panicked at 'called Option::unwrap() on a None value', compiler/rustc_middle/src/ty/instance.rs:434:85 ICE(stable): thread 'rustc' panicked at 'called Option::unwrap() on a None value', compiler/rustc_middle/src/ty/instance.rs:434:85 Jan 5, 2021
@jyn514
Copy link
Member

jyn514 commented Jan 5, 2021

@fominok can you remove 'dep and post the new code? I don't have time right now.

Edit: Should it be labeled with some priority as it is an ICE on Stable?

Normally issues aren't prioritized unless they're regressions or unsound, but I can make an exception since you asked nicely :)

@jyn514 jyn514 added the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label Jan 5, 2021
@fominok
Copy link
Author

fominok commented Jan 5, 2021

@jyn514 it's up to you, but many thanks anyway!

I just tried to remove 'dep for a simplified example you posted and it compiles, but it doesn't compile for a snippet I posted first, so here is a version that sill larger than yours, but without lifetime parameter for a User struct:

use core::fmt::Debug;
use futures::future::BoxFuture;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let storage = InMemoryStorage;
    run(storage).await;
    Ok(())
}

pub(crate) struct InMemoryStorage;

struct User {
    name: String,
}

impl<'a> StorageRequest<InMemoryStorage> for SaveUser<'a> {
    fn execute(
        &self,
        storage: &InMemoryStorage,
    ) -> BoxFuture<
        Result<<Self as StorageRequestReturnType>::Output, <InMemoryStorage as Storage>::Error>,
    > {
        todo!()
    }
}

trait Storage {
    type Error;
}

impl Storage for InMemoryStorage {
    type Error = String;
}

trait StorageRequestReturnType {
    type Output;
}

trait StorageRequest<S: Storage>: StorageRequestReturnType {
    fn execute(
        &self,
        storage: &S,
    ) -> BoxFuture<Result<<Self as StorageRequestReturnType>::Output, <S as Storage>::Error>>;
}

struct SaveUser<'a> {
    name: &'a str,
}

impl<'a> StorageRequestReturnType for SaveUser<'a> {
    type Output = ();
}

impl User {
    async fn new<S>(storage: &S) -> User
    where
        S: Storage,
    {
        User {
            name: "Joe".to_owned(),
        }
    }

    async fn save<S>(mut self, storage: &S)
    where
        S: Storage,
        for<'a> SaveUser<'a>: StorageRequest<S>,
        <S as Storage>::Error: Debug,
    {
        SaveUser { name: &self.name }
            .execute(storage)
            .await
            .unwrap();
    }
}

async fn run<S>(storage: S)
where
    S: Storage,
    <S as Storage>::Error: Debug,
    for<'a> SaveUser<'a>: StorageRequest<S>,
{
    let user = User::new(&storage).await;
    user.save(&storage).await;
}

@SNCPlay42
Copy link
Contributor

Turns out this is a regression: the code works on 1.47 and ICEs on 1.48.

searched nightlies: from nightly-2020-08-24 to nightly-2020-11-14
regressed nightly: nightly-2020-11-09
searched commits: from b2d115f to 1773f60
regressed commit: 87a0997 (#78410, backported to 1.48 in #78783)

bisected with cargo-bisect-rustc v0.6.0

Host triple: x86_64-unknown-linux-gnu
Reproduce with:

cargo bisect-rustc --preserve --start=2020-08-24 --end=2020-11-14 -- build 

@rustbot label regression-from-stable-to-stable

also, since no-one's posted a reduction without the use of async/await:

@rustbot label A-async-await

@rustbot rustbot added regression-from-stable-to-stable Performance or correctness regression from one stable version to another. A-async-await Area: Async & Await and removed regression-from-stable-to-stable Performance or correctness regression from one stable version to another. A-async-await Area: Async & Await labels Jan 5, 2021
@SNCPlay42
Copy link
Contributor

rustbot did not like that, huh

@rustbot label A-async-await

@rustbot rustbot added the A-async-await Area: Async & Await label Jan 5, 2021
@SNCPlay42
Copy link
Contributor

Here's a no-dependency version that gives the alternate ICE from #80706 (comment). bisect-rustc says it regressed in the same commit, so probably the same root cause:

type BoxFuture<T> = std::pin::Pin<Box<dyn std::future::Future<Output=T>>>;

fn main() {
    f();
}

async fn f() {
    run("dependency").await;
}

struct InMemoryStorage;

struct User<'dep> {
    dep: &'dep str,
}

impl<'a> StorageRequest<InMemoryStorage> for SaveUser<'a> {
    fn execute(&self) -> BoxFuture<Result<(), String>> {
        todo!()
    }
}

trait Storage {
    type Error;
}

impl Storage for InMemoryStorage {
    type Error = String;
}

trait StorageRequestReturnType {
    type Output;
}

trait StorageRequest<S: Storage>: StorageRequestReturnType {
    fn execute(
        &self,
    ) -> BoxFuture<Result<<Self as StorageRequestReturnType>::Output, <S as Storage>::Error>>;
}

struct SaveUser<'a> {
    name: &'a str,
}

impl<'a> StorageRequestReturnType for SaveUser<'a> {
    type Output = ();
}

impl<'dep> User<'dep> {
    async fn save<S>(self)
    where
        S: Storage,
        for<'a> SaveUser<'a>: StorageRequest<S>,
    {
        SaveUser { name: "Joe" }
            .execute()
            .await;
    }
}

async fn run<S>(dep: &str)
where
    S: Storage,
    for<'a> SaveUser<'a>: StorageRequest<S>,
{
    User { dep }.save().await;
}

@camelid
Copy link
Member

camelid commented Jan 6, 2021

1. If you make any of the functions unreachable, it compiles fine. Presumably the compiler notices they're unused and don't need to be monomorphized.

@jyn514 To my understanding, this is expected. A function needs to be used in order to be monomorphized; otherwise what whould it be monomorphized to? So, if the bug happens during monomorphization, it should only happen for functions that are actually used (and thus instantiated).

@apiraino
Copy link
Contributor

apiraino commented Jan 7, 2021

Assigning P-high as discussed as part of the Prioritization Working Group procedure and removing I-prioritize.

@apiraino apiraino added P-high High priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Jan 7, 2021
@tmandry tmandry added the AsyncAwait-Triaged Async-await issues that have been triaged during a working group meeting. label Jan 7, 2021
@tmandry
Copy link
Member

tmandry commented Jan 14, 2021

In the minimized version above (#80706 (comment)), codegenning debuginfo fails because it doesn't know the layout of the unnormalized type <SaveUser as StorageRequestReturnType>::Output, which appears in the MIR locals for the save method. I think this type should have been normalized during monomorphization.

@lcnr, do you know why #78410 might have caused this type to remain unnormalized?

@jyn514
Copy link
Member

jyn514 commented Jan 14, 2021

normalize is a query, right? Could the backend call it on-demand instead of crashing?

@tmandry
Copy link
Member

tmandry commented Jan 14, 2021

normalize is a query, right? Could the backend call it on-demand instead of crashing?

It could, but it should already have been done (unless I'm confused). So either normalize is not working for that type, or some earlier code is not normalizing where it should – either way we should understand more about what's going on.

JohnTitor added a commit to JohnTitor/glacier that referenced this issue Jan 15, 2021
@rust-lang-glacier-bot rust-lang-glacier-bot added the glacier ICE tracked in rust-lang/glacier. label Jan 15, 2021
@jackh726
Copy link
Member

Fixed by #85499, but not sure how. Going to mark as needs-test, since this case is different from others.

@jackh726 jackh726 added the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label Aug 29, 2021
@bors bors closed this as completed in 0e0ce83 Sep 6, 2021
@tmandry
Copy link
Member

tmandry commented Mar 5, 2022

This ICE has since regressed. #88640 added a test but marked it as check-pass. This did not reproduce the failure which only occurs when codegen runs.

error: internal compiler error: compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs:393:13: debuginfo: Trying to create type name for unexpected type: <SaveUser as StorageRequestReturnType>::Output

Backtrace
error: internal compiler error: compiler/rustc_codegen_ssa/src/debuginfo/type_names.rs:393:13: debuginfo: Trying to create type name for unexpected type: <SaveUser as StorageRequestReturnType>::Output

thread 'rustc' panicked at 'Box<dyn Any>', compiler/rustc_errors/src/lib.rs:1236:9
stack backtrace:
   0:     0x7f04608dcc5c - std::backtrace_rs::backtrace::libunwind::trace::hf0766e62d7eade0a
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f04608dcc5c - std::backtrace_rs::backtrace::trace_unsynchronized::hfeabd612f0ca832b
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f04608dcc5c - std::sys_common::backtrace::_print_fmt::he9db73d5ee638646
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x7f04608dcc5c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1589ebb97e621cc4
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x7f0460937dac - core::fmt::write::ha37bcdb331738e85
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/core/src/fmt/mod.rs:1190:17
   5:     0x7f04608cd781 - std::io::Write::write_fmt::h718204eaedb628ac
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/io/mod.rs:1657:15
   6:     0x7f04608dfbc5 - std::sys_common::backtrace::_print::ha178300e1fe9607f
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x7f04608dfbc5 - std::sys_common::backtrace::print::hc7007f5e7ae2c2cd
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x7f04608dfbc5 - std::panicking::default_hook::{{closure}}::he22cced35b2db4f8
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/panicking.rs:295:22
   9:     0x7f04608df874 - std::panicking::default_hook::hc232514524fdf7f9
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/panicking.rs:314:9
  10:     0x7f0461075561 - rustc_driver[df60e0066a970eb8]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7f04608e044f - std::panicking::rust_panic_with_hook::h8f622f46b9144300
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/panicking.rs:702:17
  12:     0x7f046211db71 - std[d2b06600a978a9da]::panicking::begin_panic::<rustc_errors[1a4bb3cbefced23b]::ExplicitBug>::{closure#0}
  13:     0x7f046211da66 - std[d2b06600a978a9da]::sys_common::backtrace::__rust_end_short_backtrace::<std[d2b06600a978a9da]::panicking::begin_panic<rustc_errors[1a4bb3cbefced23b]::ExplicitBug>::{closure#0}, !>
  14:     0x7f04621245ff - std[d2b06600a978a9da]::panicking::begin_panic::<rustc_errors[1a4bb3cbefced23b]::ExplicitBug>
  15:     0x7f0462131306 - std[d2b06600a978a9da]::panic::panic_any::<rustc_errors[1a4bb3cbefced23b]::ExplicitBug>
  16:     0x7f0462132a53 - <rustc_errors[1a4bb3cbefced23b]::HandlerInner>::bug
  17:     0x7f04621324d0 - <rustc_errors[1a4bb3cbefced23b]::Handler>::bug
  18:     0x7f0462083c56 - rustc_middle[d2c2c4d42ddfe9db]::ty::context::tls::with_opt::<rustc_middle[d2c2c4d42ddfe9db]::util::bug::opt_span_bug_fmt<rustc_span[c03518380bcf3f86]::span_encoding::Span>::{closure#0}, ()>
  19:     0x7f0462086800 - rustc_middle[d2c2c4d42ddfe9db]::util::bug::opt_span_bug_fmt::<rustc_span[c03518380bcf3f86]::span_encoding::Span>
  20:     0x7f0462086776 - rustc_middle[d2c2c4d42ddfe9db]::util::bug::bug_fmt
  21:     0x7f0462a295e6 - rustc_codegen_ssa[b17b2cc8f3f07ff0]::debuginfo::type_names::push_debuginfo_type_name
  22:     0x7f0462a2b256 - rustc_codegen_ssa[b17b2cc8f3f07ff0]::debuginfo::type_names::push_generic_params_internal
  23:     0x7f0462a28182 - rustc_codegen_ssa[b17b2cc8f3f07ff0]::debuginfo::type_names::push_debuginfo_type_name
  24:     0x7f0462a2b256 - rustc_codegen_ssa[b17b2cc8f3f07ff0]::debuginfo::type_names::push_generic_params_internal
  25:     0x7f0462a2b256 - rustc_codegen_ssa[b17b2cc8f3f07ff0]::debuginfo::type_names::push_generic_params_internal
  26:     0x7f0462a26ea0 - rustc_codegen_ssa[b17b2cc8f3f07ff0]::debuginfo::type_names::compute_debuginfo_type_name
  27:     0x7f04622b548a - rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::type_metadata
  28:     0x7f04622bab05 - <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescriptionFactory>::create_member_descriptions
  29:     0x7f0462f65d3f - <core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_target[828199ebbba4ddfb]::abi::Layout>>, <rustc_index[ba9440815735119c]::vec::IndexVec<rustc_target[828199ebbba4ddfb]::abi::VariantIdx, rustc_target[828199ebbba4ddfb]::abi::Layout>>::iter_enumerated::{closure#0}>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::EnumMemberDescriptionFactory>::create_member_descriptions::{closure#1}> as core[a9132578ce6008ac]::iter::traits::iterator::Iterator>::fold::<(), &mut core[a9132578ce6008ac]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, <alloc[ca008d8e5ee5d252]::vec::Vec<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription> as alloc[ca008d8e5ee5d252]::vec::spec_extend::SpecExtend<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, core[a9132578ce6008ac]::iter::adapters::chain::Chain<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_target[828199ebbba4ddfb]::abi::Layout>>, <rustc_index[ba9440815735119c]::vec::IndexVec<rustc_target[828199ebbba4ddfb]::abi::VariantIdx, rustc_target[828199ebbba4ddfb]::abi::Layout>>::iter_enumerated::{closure#0}>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::EnumMemberDescriptionFactory>::create_member_descriptions::{closure#1}>, core[a9132578ce6008ac]::option::IntoIter<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription>>>>::spec_extend::{closure#0}>::{closure#0}>
  30:     0x7f0462f804fe - <core[a9132578ce6008ac]::iter::adapters::chain::Chain<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_target[828199ebbba4ddfb]::abi::Layout>>, <rustc_index[ba9440815735119c]::vec::IndexVec<rustc_target[828199ebbba4ddfb]::abi::VariantIdx, rustc_target[828199ebbba4ddfb]::abi::Layout>>::iter_enumerated::{closure#0}>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::EnumMemberDescriptionFactory>::create_member_descriptions::{closure#1}>, core[a9132578ce6008ac]::option::IntoIter<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription>> as core[a9132578ce6008ac]::iter::traits::iterator::Iterator>::fold::<(), core[a9132578ce6008ac]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, <alloc[ca008d8e5ee5d252]::vec::Vec<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription> as alloc[ca008d8e5ee5d252]::vec::spec_extend::SpecExtend<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, core[a9132578ce6008ac]::iter::adapters::chain::Chain<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_target[828199ebbba4ddfb]::abi::Layout>>, <rustc_index[ba9440815735119c]::vec::IndexVec<rustc_target[828199ebbba4ddfb]::abi::VariantIdx, rustc_target[828199ebbba4ddfb]::abi::Layout>>::iter_enumerated::{closure#0}>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::EnumMemberDescriptionFactory>::create_member_descriptions::{closure#1}>, core[a9132578ce6008ac]::option::IntoIter<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription>>>>::spec_extend::{closure#0}>::{closure#0}>
  31:     0x7f0462fa471e - <alloc[ca008d8e5ee5d252]::vec::Vec<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription> as alloc[ca008d8e5ee5d252]::vec::spec_from_iter::SpecFromIter<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, core[a9132578ce6008ac]::iter::adapters::chain::Chain<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_target[828199ebbba4ddfb]::abi::Layout>>, <rustc_index[ba9440815735119c]::vec::IndexVec<rustc_target[828199ebbba4ddfb]::abi::VariantIdx, rustc_target[828199ebbba4ddfb]::abi::Layout>>::iter_enumerated::{closure#0}>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::EnumMemberDescriptionFactory>::create_member_descriptions::{closure#1}>, core[a9132578ce6008ac]::option::IntoIter<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription>>>>::from_iter
  32:     0x7f04622bac63 - <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescriptionFactory>::create_member_descriptions
  33:     0x7f04622b4293 - <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::RecursiveTypeDescription>::finalize
  34:     0x7f04622b7aa3 - rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::type_metadata
  35:     0x7f04622ca5a5 - <core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_middle[d2c2c4d42ddfe9db]::ty::FieldDef>>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::StructMemberDescriptionFactory>::create_member_descriptions::{closure#0}> as core[a9132578ce6008ac]::iter::traits::iterator::Iterator>::fold::<(), core[a9132578ce6008ac]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, <alloc[ca008d8e5ee5d252]::vec::Vec<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription> as alloc[ca008d8e5ee5d252]::vec::spec_extend::SpecExtend<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_middle[d2c2c4d42ddfe9db]::ty::FieldDef>>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::StructMemberDescriptionFactory>::create_member_descriptions::{closure#0}>>>::spec_extend::{closure#0}>::{closure#0}>
  36:     0x7f04622ba8b6 - <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescriptionFactory>::create_member_descriptions
  37:     0x7f04622b7f21 - rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::type_metadata
  38:     0x7f04622bab05 - <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescriptionFactory>::create_member_descriptions
  39:     0x7f0462f65d3f - <core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_target[828199ebbba4ddfb]::abi::Layout>>, <rustc_index[ba9440815735119c]::vec::IndexVec<rustc_target[828199ebbba4ddfb]::abi::VariantIdx, rustc_target[828199ebbba4ddfb]::abi::Layout>>::iter_enumerated::{closure#0}>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::EnumMemberDescriptionFactory>::create_member_descriptions::{closure#1}> as core[a9132578ce6008ac]::iter::traits::iterator::Iterator>::fold::<(), &mut core[a9132578ce6008ac]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, <alloc[ca008d8e5ee5d252]::vec::Vec<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription> as alloc[ca008d8e5ee5d252]::vec::spec_extend::SpecExtend<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, core[a9132578ce6008ac]::iter::adapters::chain::Chain<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_target[828199ebbba4ddfb]::abi::Layout>>, <rustc_index[ba9440815735119c]::vec::IndexVec<rustc_target[828199ebbba4ddfb]::abi::VariantIdx, rustc_target[828199ebbba4ddfb]::abi::Layout>>::iter_enumerated::{closure#0}>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::EnumMemberDescriptionFactory>::create_member_descriptions::{closure#1}>, core[a9132578ce6008ac]::option::IntoIter<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription>>>>::spec_extend::{closure#0}>::{closure#0}>
  40:     0x7f0462f804fe - <core[a9132578ce6008ac]::iter::adapters::chain::Chain<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_target[828199ebbba4ddfb]::abi::Layout>>, <rustc_index[ba9440815735119c]::vec::IndexVec<rustc_target[828199ebbba4ddfb]::abi::VariantIdx, rustc_target[828199ebbba4ddfb]::abi::Layout>>::iter_enumerated::{closure#0}>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::EnumMemberDescriptionFactory>::create_member_descriptions::{closure#1}>, core[a9132578ce6008ac]::option::IntoIter<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription>> as core[a9132578ce6008ac]::iter::traits::iterator::Iterator>::fold::<(), core[a9132578ce6008ac]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, <alloc[ca008d8e5ee5d252]::vec::Vec<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription> as alloc[ca008d8e5ee5d252]::vec::spec_extend::SpecExtend<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, core[a9132578ce6008ac]::iter::adapters::chain::Chain<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_target[828199ebbba4ddfb]::abi::Layout>>, <rustc_index[ba9440815735119c]::vec::IndexVec<rustc_target[828199ebbba4ddfb]::abi::VariantIdx, rustc_target[828199ebbba4ddfb]::abi::Layout>>::iter_enumerated::{closure#0}>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::EnumMemberDescriptionFactory>::create_member_descriptions::{closure#1}>, core[a9132578ce6008ac]::option::IntoIter<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription>>>>::spec_extend::{closure#0}>::{closure#0}>
  41:     0x7f0462fa471e - <alloc[ca008d8e5ee5d252]::vec::Vec<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription> as alloc[ca008d8e5ee5d252]::vec::spec_from_iter::SpecFromIter<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription, core[a9132578ce6008ac]::iter::adapters::chain::Chain<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::map::Map<core[a9132578ce6008ac]::iter::adapters::enumerate::Enumerate<core[a9132578ce6008ac]::slice::iter::Iter<rustc_target[828199ebbba4ddfb]::abi::Layout>>, <rustc_index[ba9440815735119c]::vec::IndexVec<rustc_target[828199ebbba4ddfb]::abi::VariantIdx, rustc_target[828199ebbba4ddfb]::abi::Layout>>::iter_enumerated::{closure#0}>, <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::EnumMemberDescriptionFactory>::create_member_descriptions::{closure#1}>, core[a9132578ce6008ac]::option::IntoIter<rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescription>>>>::from_iter
  42:     0x7f04622bac63 - <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::MemberDescriptionFactory>::create_member_descriptions
  43:     0x7f04622b4293 - <rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::RecursiveTypeDescription>::finalize
  44:     0x7f04622b7aa3 - rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::type_metadata
  45:     0x7f04622b4919 - rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::pointer_or_reference_metadata
  46:     0x7f04622b656f - rustc_codegen_llvm[2e0bf5485f7f6b75]::debuginfo::metadata::type_metadata
  47:     0x7f04622c25f1 - <rustc_codegen_llvm[2e0bf5485f7f6b75]::context::CodegenCx as rustc_codegen_ssa[b17b2cc8f3f07ff0]::traits::debuginfo::DebugInfoMethods>::dbg_scope_fn
  48:     0x7f04622e46aa - rustc_codegen_ssa[b17b2cc8f3f07ff0]::mir::codegen_mir::<rustc_codegen_llvm[2e0bf5485f7f6b75]::builder::Builder>
  49:     0x7f04622a91d4 - rustc_codegen_llvm[2e0bf5485f7f6b75]::base::compile_codegen_unit::module_codegen
  50:     0x7f0462f5e5c6 - <rustc_query_system[12c6c57c6519fd3c]::dep_graph::graph::DepGraph<rustc_middle[d2c2c4d42ddfe9db]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[d2c2c4d42ddfe9db]::ty::context::TyCtxt, rustc_span[c03518380bcf3f86]::symbol::Symbol, rustc_codegen_ssa[b17b2cc8f3f07ff0]::ModuleCodegen<rustc_codegen_llvm[2e0bf5485f7f6b75]::ModuleLlvm>>
  51:     0x7f0462f3be49 - rustc_codegen_llvm[2e0bf5485f7f6b75]::base::compile_codegen_unit
  52:     0x7f0462f7635d - <rustc_codegen_llvm[2e0bf5485f7f6b75]::LlvmCodegenBackend as rustc_codegen_ssa[b17b2cc8f3f07ff0]::traits::backend::CodegenBackend>::codegen_crate
  53:     0x7f0462f20857 - <rustc_session[1ec8f008caf3efe6]::session::Session>::time::<alloc[ca008d8e5ee5d252]::boxed::Box<dyn core[a9132578ce6008ac]::any::Any>, rustc_interface[3ed5997e01d12d63]::passes::start_codegen::{closure#0}>
  54:     0x7f0462f0c6fd - <rustc_interface[3ed5997e01d12d63]::queries::Queries>::ongoing_codegen
  55:     0x7f0462eca5ad - <rustc_interface[3ed5997e01d12d63]::interface::Compiler>::enter::<rustc_driver[df60e0066a970eb8]::run_compiler::{closure#1}::{closure#2}, core[a9132578ce6008ac]::result::Result<core[a9132578ce6008ac]::option::Option<rustc_interface[3ed5997e01d12d63]::queries::Linker>, rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>>
  56:     0x7f0462edd3ad - rustc_span[c03518380bcf3f86]::with_source_map::<core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>, rustc_interface[3ed5997e01d12d63]::interface::create_compiler_and_run<core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>, rustc_driver[df60e0066a970eb8]::run_compiler::{closure#1}>::{closure#1}>
  57:     0x7f0462ecb490 - rustc_interface[3ed5997e01d12d63]::interface::create_compiler_and_run::<core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>, rustc_driver[df60e0066a970eb8]::run_compiler::{closure#1}>
  58:     0x7f0462ec9432 - <scoped_tls[651cb9229c2f64c4]::ScopedKey<rustc_span[c03518380bcf3f86]::SessionGlobals>>::set::<rustc_interface[3ed5997e01d12d63]::interface::run_compiler<core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>, rustc_driver[df60e0066a970eb8]::run_compiler::{closure#1}>::{closure#0}, core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>>
  59:     0x7f0462ec771d - std[d2b06600a978a9da]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[3ed5997e01d12d63]::util::run_in_thread_pool_with_globals<rustc_interface[3ed5997e01d12d63]::interface::run_compiler<core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>, rustc_driver[df60e0066a970eb8]::run_compiler::{closure#1}>::{closure#0}, core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>>::{closure#0}, core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>>
  60:     0x7f0462ec7a09 - <<std[d2b06600a978a9da]::thread::Builder>::spawn_unchecked_<rustc_interface[3ed5997e01d12d63]::util::run_in_thread_pool_with_globals<rustc_interface[3ed5997e01d12d63]::interface::run_compiler<core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>, rustc_driver[df60e0066a970eb8]::run_compiler::{closure#1}>::{closure#0}, core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>>::{closure#0}, core[a9132578ce6008ac]::result::Result<(), rustc_errors[1a4bb3cbefced23b]::ErrorGuaranteed>>::{closure#1} as core[a9132578ce6008ac]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  61:     0x7f04608ea9d3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he4379d5c274940c6
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/alloc/src/boxed.rs:1854:9
  62:     0x7f04608ea9d3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h2db866a59e058c86
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/alloc/src/boxed.rs:1854:9
  63:     0x7f04608ea9d3 - std::sys::unix::thread::Thread::new::thread_start::h2eda9002b1b74dd5
                               at /rustc/10913c00018c76103b2fd4260d8c02ec728fd244/library/std/src/sys/unix/thread.rs:108:17
  64:     0x7f046081b609 - start_thread
  65:     0x7f0460734163 - clone
  66:                0x0 - <unknown>

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.61.0-nightly (10913c000 2022-03-03) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2

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

query stack during panic:
end of query stack
warning: `playground` (bin "playground") generated 4 warnings
error: could not compile `playground`; 4 warnings emitted

@tmandry tmandry reopened this Mar 5, 2022
@JohnTitor JohnTitor removed the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label May 3, 2022
@lcnr lcnr added the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label Oct 25, 2022
@lcnr
Copy link
Contributor

lcnr commented Oct 25, 2022

all examples seem to run now, marking as E-needs-test again

@Rageking8
Copy link
Contributor

@rustbot claim

@pnkfelix
Copy link
Member

pnkfelix commented Dec 2, 2022

visiting for P-high review.

from what I can tell from the dialogue here, https://github.com/rust-lang/rust/blob/master/src/test/ui/higher-rank-trait-bounds/normalize-under-binder/issue-80706.rs is the test we want, and is now correctly marked as build-pass thanks to PR #95031

closing as fixed

@pnkfelix pnkfelix closed this as completed Dec 2, 2022
@tmandry tmandry moved this to Done in wg-async work Dec 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-associated-items Area: Associated items (types, constants & functions) A-async-await Area: Async & Await AsyncAwait-Triaged Async-await issues that have been triaged during a working group meeting. C-bug Category: This is a bug. E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. glacier ICE tracked in rust-lang/glacier. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ I-monomorphization Issue: An error at monomorphization time. P-high High priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.