|  | 
|  | 1 | +error: internal compiler error: $COMPILER_DIR_REAL/rustc_codegen_ssa/src/mir/block.rs:1059:17: arguments using PassMode::Indirect are currently not supported for tail calls | 
|  | 2 | +  --> $DIR/recursion-etc-u64wrapper.rs:19:16 | 
|  | 3 | +   | | 
|  | 4 | +LL |           become count( | 
|  | 5 | +   |  ________________^ | 
|  | 6 | +LL | |             U64Wrapper { | 
|  | 7 | +LL | |                 x: curr.x + 1, | 
|  | 8 | +LL | |                 arbitrary: curr.arbitrary, | 
|  | 9 | +LL | |             }, | 
|  | 10 | +LL | |             top, | 
|  | 11 | +LL | |         ) | 
|  | 12 | +   | |_________^ | 
|  | 13 | + | 
|  | 14 | + | 
|  | 15 | +thread 'rustc' panicked at $COMPILER_DIR_REAL/rustc_codegen_ssa/src/mir/block.rs:1059:17: | 
|  | 16 | +Box<dyn Any> | 
|  | 17 | +stack backtrace: | 
|  | 18 | +   0: std::panicking::begin_panic::<rustc_errors::ExplicitBug> | 
|  | 19 | +             at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/panicking.rs:769:5 | 
|  | 20 | +   1: std::panic::panic_any::<rustc_errors::ExplicitBug> | 
|  | 21 | +             at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/panic.rs:260:5 | 
|  | 22 | +   2: <rustc_errors::diagnostic::BugAbort as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee | 
|  | 23 | +             at ./compiler/rustc_errors/src/diagnostic.rs:83:9 | 
|  | 24 | +   3: <rustc_errors::diagnostic::Diag<rustc_errors::diagnostic::BugAbort>>::emit | 
|  | 25 | +             at ./compiler/rustc_errors/src/diagnostic.rs:1416:9 | 
|  | 26 | +   4: <rustc_errors::DiagCtxtHandle>::span_bug::<rustc_span::span_encoding::Span, alloc::string::String> | 
|  | 27 | +             at ./compiler/rustc_errors/src/lib.rs:1234:48 | 
|  | 28 | +   5: {closure#0}<rustc_span::span_encoding::Span> | 
|  | 29 | +             at ./compiler/rustc_middle/src/util/bug.rs:38:54 | 
|  | 30 | +   6: {closure#0}<rustc_middle::util::bug::opt_span_bug_fmt::{closure_env#0}<rustc_span::span_encoding::Span>, !> | 
|  | 31 | +             at ./compiler/rustc_middle/src/ty/context/tls.rs:136:23 | 
|  | 32 | +   7: with_context_opt<rustc_middle::ty::context::tls::with_opt::{closure_env#0}<rustc_middle::util::bug::opt_span_bug_fmt::{closure_env#0}<rustc_span::span_encoding::Span>, !>, !> | 
|  | 33 | +             at ./compiler/rustc_middle/src/ty/context/tls.rs:79:18 | 
|  | 34 | +   8: rustc_middle::ty::context::tls::with_opt::<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !> | 
|  | 35 | +             at ./compiler/rustc_middle/src/ty/context/tls.rs:134:5 | 
|  | 36 | +   9: rustc_middle::util::bug::opt_span_bug_fmt::<rustc_span::span_encoding::Span> | 
|  | 37 | +             at ./compiler/rustc_middle/src/util/bug.rs:33:5 | 
|  | 38 | +  10: rustc_middle::util::bug::span_bug_fmt::<rustc_span::span_encoding::Span> | 
|  | 39 | +             at ./compiler/rustc_middle/src/util/bug.rs:24:5 | 
|  | 40 | +  11: codegen_call_terminator<rustc_codegen_llvm::builder::GenericBuilder<rustc_codegen_llvm::context::FullCx>> | 
|  | 41 | +  12: codegen_terminator<rustc_codegen_llvm::builder::GenericBuilder<rustc_codegen_llvm::context::FullCx>> | 
|  | 42 | +  13: codegen_block<rustc_codegen_llvm::builder::GenericBuilder<rustc_codegen_llvm::context::FullCx>> | 
|  | 43 | +             at ./compiler/rustc_codegen_ssa/src/mir/block.rs:1299:37 | 
|  | 44 | +  14: codegen_mir<rustc_codegen_llvm::builder::GenericBuilder<rustc_codegen_llvm::context::FullCx>> | 
|  | 45 | +             at ./compiler/rustc_codegen_ssa/src/mir/mod.rs:310:12 | 
|  | 46 | +  15: codegen_instance<rustc_codegen_llvm::builder::GenericBuilder<rustc_codegen_llvm::context::FullCx>> | 
|  | 47 | +             at ./compiler/rustc_codegen_ssa/src/base.rs:394:5 | 
|  | 48 | +  16: define<rustc_codegen_llvm::builder::GenericBuilder<rustc_codegen_llvm::context::FullCx>> | 
|  | 49 | +             at ./compiler/rustc_codegen_ssa/src/mono_item.rs:48:21 | 
|  | 50 | +  17: module_codegen | 
|  | 51 | +             at ./compiler/rustc_codegen_llvm/src/base.rs:99:27 | 
|  | 52 | +  18: with_task<rustc_middle::dep_graph::DepsType, rustc_middle::ty::context::TyCtxt, rustc_span::symbol::Symbol, rustc_codegen_ssa::ModuleCodegen<rustc_codegen_llvm::ModuleLlvm>> | 
|  | 53 | +             at ./compiler/rustc_query_system/src/dep_graph/graph.rs:274:22 | 
|  | 54 | +  19: compile_codegen_unit | 
|  | 55 | +             at ./compiler/rustc_codegen_llvm/src/base.rs:63:37 | 
|  | 56 | +  20: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::ExtraBackendMethods>::compile_codegen_unit | 
|  | 57 | +             at ./compiler/rustc_codegen_llvm/src/lib.rs:128:9 | 
|  | 58 | +  21: codegen_crate<rustc_codegen_llvm::LlvmCodegenBackend> | 
|  | 59 | +             at ./compiler/rustc_codegen_ssa/src/base.rs:794:42 | 
|  | 60 | +  22: codegen_crate | 
|  | 61 | +             at ./compiler/rustc_codegen_llvm/src/lib.rs:344:18 | 
|  | 62 | +  23: {closure#0} | 
|  | 63 | +             at ./compiler/rustc_interface/src/passes.rs:1219:74 | 
|  | 64 | +  24: run<alloc::boxed::Box<dyn core::any::Any, alloc::alloc::Global>, rustc_interface::passes::start_codegen::{closure_env#0}> | 
|  | 65 | +             at ./compiler/rustc_data_structures/src/profiling.rs:839:9 | 
|  | 66 | +  25: time<alloc::boxed::Box<dyn core::any::Any, alloc::alloc::Global>, rustc_interface::passes::start_codegen::{closure_env#0}> | 
|  | 67 | +             at ./compiler/rustc_session/src/utils.rs:16:50 | 
|  | 68 | +  26: start_codegen | 
|  | 69 | +             at ./compiler/rustc_interface/src/passes.rs:1219:28 | 
|  | 70 | +  27: codegen_and_build_linker | 
|  | 71 | +             at ./compiler/rustc_interface/src/queries.rs:32:43 | 
|  | 72 | +  28: {closure#2} | 
|  | 73 | +             at ./compiler/rustc_driver_impl/src/lib.rs:386:18 | 
|  | 74 | +  29: {closure#0}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}> | 
|  | 75 | +             at ./compiler/rustc_interface/src/passes.rs:1002:27 | 
|  | 76 | +  30: {closure#1}<rustc_interface::passes::create_and_enter_global_ctxt::{closure#2}::{closure_env#0}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>> | 
|  | 77 | +             at ./compiler/rustc_middle/src/ty/context.rs:1528:37 | 
|  | 78 | +  31: {closure#0}<rustc_middle::ty::context::{impl#21}::enter::{closure_env#1}<rustc_interface::passes::create_and_enter_global_ctxt::{closure#2}::{closure_env#0}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>> | 
|  | 79 | +             at ./compiler/rustc_middle/src/ty/context/tls.rs:60:9 | 
|  | 80 | +  32: try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#21}::enter::{closure_env#1}<rustc_interface::passes::create_and_enter_global_ctxt::{closure#2}::{closure_env#0}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>> | 
|  | 81 | +             at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/thread/local.rs:315:12 | 
|  | 82 | +  33: with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#21}::enter::{closure_env#1}<rustc_interface::passes::create_and_enter_global_ctxt::{closure#2}::{closure_env#0}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>> | 
|  | 83 | +             at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/thread/local.rs:279:20 | 
|  | 84 | +  34: enter_context<rustc_middle::ty::context::{impl#21}::enter::{closure_env#1}<rustc_interface::passes::create_and_enter_global_ctxt::{closure#2}::{closure_env#0}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>>, core::option::Option<rustc_interface::queries::Linker>> | 
|  | 85 | +             at ./compiler/rustc_middle/src/ty/context/tls.rs:57:9 | 
|  | 86 | +  35: enter<rustc_interface::passes::create_and_enter_global_ctxt::{closure#2}::{closure_env#0}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, core::option::Option<rustc_interface::queries::Linker>> | 
|  | 87 | +             at ./compiler/rustc_middle/src/ty/context.rs:1528:9 | 
|  | 88 | +  36: create_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt::{closure#2}::{closure_env#0}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>> | 
|  | 89 | +             at ./compiler/rustc_middle/src/ty/context.rs:1733:13 | 
|  | 90 | +  37: {closure#2}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}> | 
|  | 91 | +             at ./compiler/rustc_interface/src/passes.rs:969:9 | 
|  | 92 | +  38: call_once<rustc_interface::passes::create_and_enter_global_ctxt::{closure_env#2}<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}>, (&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy, alloc::alloc::Global>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2})> | 
|  | 93 | +             at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/core/src/ops/function.rs:250:5 | 
|  | 94 | +  39: call_once<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy, alloc::alloc::Global>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}), dyn core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, alloc::sync::Arc<rustc_data_structures::jobserver::Proxy, alloc::alloc::Global>, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}), Output=core::option::Option<rustc_interface::queries::Linker>>, alloc::alloc::Global> | 
|  | 95 | +             at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/alloc/src/boxed.rs:1966:9 | 
|  | 96 | +  40: create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure_env#2}> | 
|  | 97 | +             at ./compiler/rustc_interface/src/passes.rs:1010:5 | 
|  | 98 | +  41: {closure#0} | 
|  | 99 | +             at ./compiler/rustc_driver_impl/src/lib.rs:343:22 | 
|  | 100 | +  42: {closure#0}<(), rustc_driver_impl::run_compiler::{closure_env#0}> | 
|  | 101 | +             at ./compiler/rustc_interface/src/interface.rs:525:80 | 
|  | 102 | +  43: call_once<(), rustc_interface::interface::run_compiler::{closure#1}::{closure_env#0}<(), rustc_driver_impl::run_compiler::{closure_env#0}>> | 
|  | 103 | +             at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/core/src/panic/unwind_safe.rs:272:9 | 
|  | 104 | +  44: do_call<core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::interface::run_compiler::{closure#1}::{closure_env#0}<(), rustc_driver_impl::run_compiler::{closure_env#0}>>, ()> | 
|  | 105 | +             at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/panicking.rs:589:40 | 
|  | 106 | +  45: catch_unwind<(), core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::interface::run_compiler::{closure#1}::{closure_env#0}<(), rustc_driver_impl::run_compiler::{closure_env#0}>>> | 
|  | 107 | +             at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/panicking.rs:552:19 | 
|  | 108 | +  46: catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::interface::run_compiler::{closure#1}::{closure_env#0}<(), rustc_driver_impl::run_compiler::{closure_env#0}>>, ()> | 
|  | 109 | +             at /rustc/390a0ab5dc4a895235a551e502c3893c3337731d/library/std/src/panic.rs:359:14 | 
|  | 110 | +  47: {closure#1}<(), rustc_driver_impl::run_compiler::{closure_env#0}> | 
|  | 111 | +             at ./compiler/rustc_interface/src/interface.rs:525:23 | 
|  | 112 | +  48: {closure#0}<rustc_interface::interface::run_compiler::{closure_env#1}<(), rustc_driver_impl::run_compiler::{closure_env#0}>, ()> | 
|  | 113 | +             at ./compiler/rustc_interface/src/util.rs:199:17 | 
|  | 114 | +  49: {closure#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<(), rustc_driver_impl::run_compiler::{closure_env#0}>, ()>, ()> | 
|  | 115 | +             at ./compiler/rustc_interface/src/util.rs:153:24 | 
|  | 116 | +  50: set<rustc_span::SessionGlobals, rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<(), rustc_driver_impl::run_compiler::{closure_env#0}>, ()>, ()>, ()> | 
|  | 117 | +             at /home/ash/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/scoped-tls-1.0.1/src/lib.rs:137:9 | 
|  | 118 | +  51: create_session_globals_then<(), rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<(), rustc_driver_impl::run_compiler::{closure_env#0}>, ()>, ()>> | 
|  | 119 | +             at ./compiler/rustc_span/src/lib.rs:145:21 | 
|  | 120 | +  52: {closure#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<(), rustc_driver_impl::run_compiler::{closure_env#0}>, ()>, ()> | 
|  | 121 | +             at ./compiler/rustc_interface/src/util.rs:149:17 | 
|  | 122 | +note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. | 
|  | 123 | + | 
|  | 124 | +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 | 
|  | 125 | + | 
|  | 126 | +note: please make sure that you have updated to the latest nightly | 
|  | 127 | + | 
|  | 128 | +note: rustc 1.90.0-dev running on x86_64-unknown-linux-gnu | 
|  | 129 | + | 
|  | 130 | +note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/home/ash/.cargo -Z ignore-directory-in-diagnostics-source-blocks=/home/ash/Projects/foss/rust/working/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0 | 
|  | 131 | + | 
|  | 132 | +query stack during panic: | 
|  | 133 | +end of query stack | 
|  | 134 | +error: aborting due to 1 previous error | 
|  | 135 | + | 
0 commit comments