rust-lang / rust-lang/rust

ice: `type mismatch when copying`

Open
#120,016 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug F-type_alias_impl_trait I-ICE S-bug-has-test T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

auto-reduced (treereduce-rust):

struct Bug {
    V1: [(); {
        type F = impl core::future::Future;
        fn concrete_use() -> F {
            async { 1 }
        }
        let f: F = async { 1 };

        1
    }],
}

#![feature(const_async_blocks)]

original:

// edition:2018

#![feature(type_alias_impl_trait)]

struct Bug {
    V1: [(); {
        type F = impl core::future::Future<Output = u8>;
        fn concrete_use() -> F {
            //~^ ERROR to be a future that resolves to `u8`, but it resolves to `()`
            async { 1 }
        }
        let f: F = async { 1 };
        //~^ ERROR `async` blocks are not allowed in constants
        1
    }],
}

fn main() {}

Version information

rustc 1.77.0-nightly (bfcc027a7 2024-01-15)
binary: rustc
commit-hash: bfcc027a751595ba290c554f47907eaa3779f798
commit-date: 2024-01-15
host: x86_64-unknown-linux-gnu
release: 1.77.0-nightly
LLVM version: 17.0.6

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc -Zcrate-attr=feature(const_async_blocks) --edition=2021

Program output

error[E0658]: `impl Trait` in type aliases is unstable
 --> /tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs:3:18
  |
3 |         type F = impl core::future::Future;
  |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #63063 <https://github.com/rust-lang/rust/issues/63063> for more information
  = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable
  = note: this compiler was built on 2024-01-15; consider upgrading it if it is out of date

error[E0601]: `main` function not found in crate `mvce`
  --> /tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs:11:2
   |
11 | }
   |  ^ consider adding a `main` function to `/tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs`

warning: unused variable: `f`
 --> /tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs:7:13
  |
7 |         let f: F = async { 1 };
  |             ^ help: if this is intentional, prefix it with an underscore: `_f`
  |
  = note: `#[warn(unused_variables)]` on by default

error: concrete type differs from previous defining opaque type use
 --> /tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs:7:20
  |
7 |         let f: F = async { 1 };
  |                    ^^^^^^^^^^^ expected `{async block@/tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs:5:13: 5:24}`, got `{async block@/tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs:7:20: 7:31}`
  |
note: previous use here
 --> /tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs:5:13
  |
5 |             async { 1 }
  |             ^^^^^^^^^^^

error: internal compiler error: compiler/rustc_const_eval/src/interpret/place.rs:807:13: type mismatch when copying!
                                src: {async block@/tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs:7:20: 7:31},
                                dest: {async block@/tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs:5:13: 5:24}
 --> /tmp/icemaker_global_tempdir.mmdTRWcdHjM8/rustc_testrunner_tmpdir_reporting.5i8a4A32KCco/mvce.rs:7:20
  |
7 |         let f: F = async { 1 };
  |                    ^^^^^^^^^^^

thread 'rustc' panicked at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/compiler/rustc_errors/src/lib.rs:854:41:
Box<dyn Any>
stack backtrace:
   0:     0x7f8a242339c6 - std::backtrace_rs::backtrace::libunwind::trace::hfffa740397187f3b
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x7f8a242339c6 - std::backtrace_rs::backtrace::trace_unsynchronized::h95cc479cd831c288
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f8a242339c6 - std::sys_common::backtrace::_print_fmt::he4b464fee1e25fc2
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x7f8a242339c6 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hdadb865944026561
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f8a24286060 - core::fmt::rt::Argument::fmt::h78c1b154279727be
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/core/src/fmt/rt.rs:142:9
   5:     0x7f8a24286060 - core::fmt::write::h84e27cc883988c5d
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/core/src/fmt/mod.rs:1120:17
   6:     0x7f8a242272ff - std::io::Write::write_fmt::h3ecc330271498239
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/std/src/io/mod.rs:1810:15
   7:     0x7f8a242337a4 - std::sys_common::backtrace::_print::h30803dd6d8754a1c
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f8a242337a4 - std::sys_common::backtrace::print::hf89367b2bef711cb
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f8a24236537 - std::panicking::default_hook::{{closure}}::hd3cec92595f1d2bb
  10:     0x7f8a24236299 - std::panicking::default_hook::h69df680d9c59433b
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/std/src/panicking.rs:292:9
  11:     0x7f8a20f6f0ec - std[faf2b0b4c33761b5]::panicking::update_hook::<alloc[7f5d47f7f7fd7a8a]::boxed::Box<rustc_driver_impl[aabe53821f07a9f0]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7f8a24236c86 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e68dfe86e861c70
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/alloc/src/boxed.rs:2030:9
  13:     0x7f8a24236c86 - std::panicking::rust_panic_with_hook::h05a74336b88098c4
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/std/src/panicking.rs:785:13
  14:     0x7f8a20fa11e4 - std[faf2b0b4c33761b5]::panicking::begin_panic::<rustc_errors[5d26c2a8a7390174]::ExplicitBug>::{closure#0}
  15:     0x7f8a20f9dae6 - std[faf2b0b4c33761b5]::sys_common::backtrace::__rust_end_short_backtrace::<std[faf2b0b4c33761b5]::panicking::begin_panic<rustc_errors[5d26c2a8a7390174]::ExplicitBug>::{closure#0}, !>
  16:     0x7f8a20f9d756 - std[faf2b0b4c33761b5]::panicking::begin_panic::<rustc_errors[5d26c2a8a7390174]::ExplicitBug>
  17:     0x7f8a20fac1f1 - <rustc_errors[5d26c2a8a7390174]::diagnostic_builder::BugAbort as rustc_errors[5d26c2a8a7390174]::diagnostic_builder::EmissionGuarantee>::emit_producing_guarantee
  18:     0x7f8a20ef79ad - rustc_middle[cd1eb477047798ec]::util::bug::opt_span_bug_fmt::<rustc_span[bde3d029f68d6280]::span_encoding::Span>::{closure#0}
  19:     0x7f8a20ef79da - rustc_middle[cd1eb477047798ec]::ty::context::tls::with_opt::<rustc_middle[cd1eb477047798ec]::util::bug::opt_span_bug_fmt<rustc_span[bde3d029f68d6280]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  20:     0x7f8a20eef3e8 - rustc_middle[cd1eb477047798ec]::ty::context::tls::with_context_opt::<rustc_middle[cd1eb477047798ec]::ty::context::tls::with_opt<rustc_middle[cd1eb477047798ec]::util::bug::opt_span_bug_fmt<rustc_span[bde3d029f68d6280]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  21:     0x7f8a20410ea4 - rustc_middle[cd1eb477047798ec]::util::bug::span_bug_fmt::<rustc_span[bde3d029f68d6280]::span_encoding::Span>
  22:     0x7f8a22f76281 - rustc_const_eval[13cc7cb652b2c97f]::const_eval::eval_queries::eval_body_using_ecx
  23:     0x7f8a22f290fe - rustc_const_eval[13cc7cb652b2c97f]::const_eval::eval_queries::eval_in_interpreter
  24:     0x7f8a22f28cee - rustc_const_eval[13cc7cb652b2c97f]::const_eval::eval_queries::eval_to_allocation_raw_provider
  25:     0x7f8a22f28b76 - rustc_query_impl[7809c2e63cb246d3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7809c2e63cb246d3]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 24usize]>>
  26:     0x7f8a22a44e4b - rustc_query_system[686362f03232a0aa]::query::plumbing::try_execute_query::<rustc_query_impl[7809c2e63cb246d3]::DynamicConfig<rustc_query_system[686362f03232a0aa]::query::caches::DefaultCache<rustc_middle[cd1eb477047798ec]::ty::ParamEnvAnd<rustc_middle[cd1eb477047798ec]::mir::interpret::GlobalId>, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[7809c2e63cb246d3]::plumbing::QueryCtxt, false>
  27:     0x7f8a22a44830 - rustc_query_impl[7809c2e63cb246d3]::query_impl::eval_to_allocation_raw::get_query_non_incr::__rust_end_short_backtrace
  28:     0x7f8a229a3a09 - rustc_middle[cd1eb477047798ec]::query::plumbing::query_get_at::<rustc_query_system[686362f03232a0aa]::query::caches::DefaultCache<rustc_middle[cd1eb477047798ec]::ty::ParamEnvAnd<rustc_middle[cd1eb477047798ec]::mir::interpret::GlobalId>, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 24usize]>>>
  29:     0x7f8a22f28d53 - rustc_const_eval[13cc7cb652b2c97f]::const_eval::eval_queries::eval_to_allocation_raw_provider
  30:     0x7f8a22f28b76 - rustc_query_impl[7809c2e63cb246d3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7809c2e63cb246d3]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 24usize]>>
  31:     0x7f8a22a44e4b - rustc_query_system[686362f03232a0aa]::query::plumbing::try_execute_query::<rustc_query_impl[7809c2e63cb246d3]::DynamicConfig<rustc_query_system[686362f03232a0aa]::query::caches::DefaultCache<rustc_middle[cd1eb477047798ec]::ty::ParamEnvAnd<rustc_middle[cd1eb477047798ec]::mir::interpret::GlobalId>, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[7809c2e63cb246d3]::plumbing::QueryCtxt, false>
  32:     0x7f8a22a44830 - rustc_query_impl[7809c2e63cb246d3]::query_impl::eval_to_allocation_raw::get_query_non_incr::__rust_end_short_backtrace
  33:     0x7f8a229a3a09 - rustc_middle[cd1eb477047798ec]::query::plumbing::query_get_at::<rustc_query_system[686362f03232a0aa]::query::caches::DefaultCache<rustc_middle[cd1eb477047798ec]::ty::ParamEnvAnd<rustc_middle[cd1eb477047798ec]::mir::interpret::GlobalId>, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 24usize]>>>
  34:     0x7f8a229a3067 - rustc_const_eval[13cc7cb652b2c97f]::const_eval::eval_to_valtree
  35:     0x7f8a229a2fe4 - <rustc_const_eval[13cc7cb652b2c97f]::provide::{closure#0} as core[5a0abd34da9b4d23]::ops::function::FnOnce<(rustc_middle[cd1eb477047798ec]::ty::context::TyCtxt, rustc_middle[cd1eb477047798ec]::ty::ParamEnvAnd<rustc_middle[cd1eb477047798ec]::mir::interpret::GlobalId>)>>::call_once
  36:     0x7f8a229a2fb8 - rustc_query_impl[7809c2e63cb246d3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7809c2e63cb246d3]::query_impl::eval_to_valtree::dynamic_query::{closure#2}::{closure#0}, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 24usize]>>
  37:     0x7f8a229a2f79 - <rustc_query_impl[7809c2e63cb246d3]::query_impl::eval_to_valtree::dynamic_query::{closure#2} as core[5a0abd34da9b4d23]::ops::function::FnOnce<(rustc_middle[cd1eb477047798ec]::ty::context::TyCtxt, rustc_middle[cd1eb477047798ec]::ty::ParamEnvAnd<rustc_middle[cd1eb477047798ec]::mir::interpret::GlobalId>)>>::call_once
  38:     0x7f8a22a44e67 - rustc_query_system[686362f03232a0aa]::query::plumbing::try_execute_query::<rustc_query_impl[7809c2e63cb246d3]::DynamicConfig<rustc_query_system[686362f03232a0aa]::query::caches::DefaultCache<rustc_middle[cd1eb477047798ec]::ty::ParamEnvAnd<rustc_middle[cd1eb477047798ec]::mir::interpret::GlobalId>, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[7809c2e63cb246d3]::plumbing::QueryCtxt, false>
  39:     0x7f8a22a43870 - rustc_query_impl[7809c2e63cb246d3]::query_impl::eval_to_valtree::get_query_non_incr::__rust_end_short_backtrace
  40:     0x7f8a22a43be8 - rustc_middle[cd1eb477047798ec]::query::plumbing::query_get_at::<rustc_query_system[686362f03232a0aa]::query::caches::DefaultCache<rustc_middle[cd1eb477047798ec]::ty::ParamEnvAnd<rustc_middle[cd1eb477047798ec]::mir::interpret::GlobalId>, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 24usize]>>>
  41:     0x7f8a22a0d1cc - <rustc_middle[cd1eb477047798ec]::ty::context::TyCtxt>::const_eval_resolve_for_typeck
  42:     0x7f8a22a0cf3c - <rustc_middle[cd1eb477047798ec]::ty::consts::Const>::eval
  43:     0x7f8a22a0c701 - <rustc_trait_selection[c02ee7d7206d4eff]::traits::project::AssocTypeNormalizer as rustc_type_ir[228174321c0223c3]::fold::TypeFolder<rustc_middle[cd1eb477047798ec]::ty::context::TyCtxt>>::fold_const
  44:     0x7f8a22a0b020 - <rustc_middle[cd1eb477047798ec]::ty::Ty as rustc_type_ir[228174321c0223c3]::fold::TypeSuperFoldable<rustc_middle[cd1eb477047798ec]::ty::context::TyCtxt>>::try_super_fold_with::<rustc_trait_selection[c02ee7d7206d4eff]::traits::project::AssocTypeNormalizer>
  45:     0x7f8a2234fc76 - <rustc_hir_analysis[a54e2d09e1a5c61b]::check::wfcheck::WfCheckingCtxt>::normalize::<rustc_middle[cd1eb477047798ec]::ty::Ty>
  46:     0x7f8a2234e5ba - rustc_hir_analysis[a54e2d09e1a5c61b]::check::wfcheck::check_type_defn
  47:     0x7f8a2296a65b - rustc_hir_analysis[a54e2d09e1a5c61b]::check::wfcheck::check_well_formed
  48:     0x7f8a2296930d - rustc_query_impl[7809c2e63cb246d3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7809c2e63cb246d3]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 1usize]>>
  49:     0x7f8a22968a0b - rustc_query_system[686362f03232a0aa]::query::plumbing::try_execute_query::<rustc_query_impl[7809c2e63cb246d3]::DynamicConfig<rustc_query_system[686362f03232a0aa]::query::caches::VecCache<rustc_hir[cb3184ed2270d009]::hir_id::OwnerId, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[7809c2e63cb246d3]::plumbing::QueryCtxt, false>
  50:     0x7f8a22968783 - rustc_query_impl[7809c2e63cb246d3]::query_impl::check_well_formed::get_query_non_incr::__rust_end_short_backtrace
  51:     0x7f8a22966137 - rustc_hir_analysis[a54e2d09e1a5c61b]::check::wfcheck::check_mod_type_wf
  52:     0x7f8a2296607b - rustc_query_impl[7809c2e63cb246d3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7809c2e63cb246d3]::query_impl::check_mod_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 1usize]>>
  53:     0x7f8a22965255 - rustc_query_system[686362f03232a0aa]::query::plumbing::try_execute_query::<rustc_query_impl[7809c2e63cb246d3]::DynamicConfig<rustc_query_system[686362f03232a0aa]::query::caches::DefaultCache<rustc_span[bde3d029f68d6280]::def_id::LocalModDefId, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[7809c2e63cb246d3]::plumbing::QueryCtxt, false>
  54:     0x7f8a22965003 - rustc_query_impl[7809c2e63cb246d3]::query_impl::check_mod_type_wf::get_query_non_incr::__rust_end_short_backtrace
  55:     0x7f8a227e63f0 - <rustc_middle[cd1eb477047798ec]::hir::map::Map>::try_par_for_each_module::<rustc_hir_analysis[a54e2d09e1a5c61b]::check_crate::{closure#4}::{closure#0}>::{closure#0}
  56:     0x7f8a227e46d0 - rustc_hir_analysis[a54e2d09e1a5c61b]::check_crate
  57:     0x7f8a22e2c399 - rustc_interface[59142b7a91d37051]::passes::analysis
  58:     0x7f8a22e2bfdf - rustc_query_impl[7809c2e63cb246d3]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7809c2e63cb246d3]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 1usize]>>
  59:     0x7f8a231cf4c0 - rustc_query_system[686362f03232a0aa]::query::plumbing::try_execute_query::<rustc_query_impl[7809c2e63cb246d3]::DynamicConfig<rustc_query_system[686362f03232a0aa]::query::caches::SingleCache<rustc_middle[cd1eb477047798ec]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[7809c2e63cb246d3]::plumbing::QueryCtxt, false>
  60:     0x7f8a231cf2c7 - rustc_query_impl[7809c2e63cb246d3]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  61:     0x7f8a230041ed - rustc_interface[59142b7a91d37051]::interface::run_compiler::<core[5a0abd34da9b4d23]::result::Result<(), rustc_span[bde3d029f68d6280]::ErrorGuaranteed>, rustc_driver_impl[aabe53821f07a9f0]::run_compiler::{closure#0}>::{closure#0}
  62:     0x7f8a231facc6 - std[faf2b0b4c33761b5]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[59142b7a91d37051]::util::run_in_thread_with_globals<rustc_interface[59142b7a91d37051]::util::run_in_thread_pool_with_globals<rustc_interface[59142b7a91d37051]::interface::run_compiler<core[5a0abd34da9b4d23]::result::Result<(), rustc_span[bde3d029f68d6280]::ErrorGuaranteed>, rustc_driver_impl[aabe53821f07a9f0]::run_compiler::{closure#0}>::{closure#0}, core[5a0abd34da9b4d23]::result::Result<(), rustc_span[bde3d029f68d6280]::ErrorGuaranteed>>::{closure#0}, core[5a0abd34da9b4d23]::result::Result<(), rustc_span[bde3d029f68d6280]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[5a0abd34da9b4d23]::result::Result<(), rustc_span[bde3d029f68d6280]::ErrorGuaranteed>>
  63:     0x7f8a231faaf3 - <<std[faf2b0b4c33761b5]::thread::Builder>::spawn_unchecked_<rustc_interface[59142b7a91d37051]::util::run_in_thread_with_globals<rustc_interface[59142b7a91d37051]::util::run_in_thread_pool_with_globals<rustc_interface[59142b7a91d37051]::interface::run_compiler<core[5a0abd34da9b4d23]::result::Result<(), rustc_span[bde3d029f68d6280]::ErrorGuaranteed>, rustc_driver_impl[aabe53821f07a9f0]::run_compiler::{closure#0}>::{closure#0}, core[5a0abd34da9b4d23]::result::Result<(), rustc_span[bde3d029f68d6280]::ErrorGuaranteed>>::{closure#0}, core[5a0abd34da9b4d23]::result::Result<(), rustc_span[bde3d029f68d6280]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[5a0abd34da9b4d23]::result::Result<(), rustc_span[bde3d029f68d6280]::ErrorGuaranteed>>::{closure#1} as core[5a0abd34da9b4d23]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  64:     0x7f8a24240535 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb65ef9b09b7fc611
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/alloc/src/boxed.rs:2016:9
  65:     0x7f8a24240535 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he66e2bce2a375701
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/alloc/src/boxed.rs:2016:9
  66:     0x7f8a24240535 - std::sys::pal::unix::thread::Thread::new::thread_start::h3a9555fd3306032b
                               at /rustc/bfcc027a751595ba290c554f47907eaa3779f798/library/std/src/sys/pal/unix/thread.rs:108:17
  67:     0x7f8a1e0aa9eb - <unknown>
  68:     0x7f8a1e12e7cc - <unknown>
  69:                0x0 - <unknown>

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.77.0-nightly (bfcc027a7 2024-01-15) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z crate-attr=feature(const_async_blocks) -Z dump-mir-dir=dir

query stack during panic:
#0 [eval_to_allocation_raw] const-evaluating + checking `Bug::V1::{constant#0}`
#1 [eval_to_allocation_raw] const-evaluating + checking `Bug::V1::{constant#0}`
#2 [eval_to_valtree] evaluating type-level constant
#3 [check_well_formed] checking that `Bug` is well-formed
#4 [check_mod_type_wf] checking that types are well-formed in top-level module
#5 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 4 previous errors; 1 warning emitted

Some errors have detailed explanations: E0601, E0658.
For more information about an error, try `rustc --explain E0601`.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Run the listed rustc command with the auto-reduced Rust example to reproduce the ICE. Inspect compiler/rustc_const_eval/src/interpret/place.rs around line 807 and trace the const-evaluation path shown in the backtrace. The work is complete when this example no longer reports “type mismatch when copying” or panics.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.