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

Bad MIR when casting a reference to dyn* #102430

Closed
Tracked by #102425
eholk opened this issue Sep 28, 2022 · 3 comments · Fixed by #104266
Closed
Tracked by #102425

Bad MIR when casting a reference to dyn* #102430

eholk opened this issue Sep 28, 2022 · 3 comments · Fixed by #104266
Labels
C-bug Category: This is a bug. F-dyn_star `#![feature(dyn_star)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-nightly This issue requires a nightly compiler in some way. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@eholk
Copy link
Contributor

eholk commented Sep 28, 2022

Test case (playground:

#![feature(dyn_star)]
#![allow(incomplete_features)]

trait AddOne {
    fn add1(&mut self) -> usize;
}

impl AddOne for usize {
    fn add1(&mut self) -> usize {
        *self  = 1;
        *self
    }
}

impl AddOne for &mut usize {
    fn add1(&mut self) -> usize {
        (*self).add1()
    }
}

fn add_one(mut i: dyn* AddOne) -> usize {
    i.add1()
}

fn main() {
    let mut x = 42;
    let y = &mut x as dyn* AddOne;

    println!("{}", add_one(y));
}

This gives the following error message:

   Compiling playground v0.0.1 (/playground)
thread 'rustc' panicked at 'assertion failed: bx.cx().is_backend_immediate(cast)', /rustc/470e518c4b43265020c882bcf3c86632f5494910/compiler/rustc_codegen_ssa/src/mir/rvalue.rs:298:25
stack backtrace:
   0:     0x7fb5936cf170 - std::backtrace_rs::backtrace::libunwind::trace::h6f0c1aea3f6a8f92
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   1:     0x7fb5936cf170 - std::backtrace_rs::backtrace::trace_unsynchronized::h246e054cc0c6474e
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fb5936cf170 - std::sys_common::backtrace::_print_fmt::he958bf8edb06c4b4
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x7fb5936cf170 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5c96f6e60024ea09
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x7fb593729e2e - core::fmt::write::h9220227ac4bd60db
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/core/src/fmt/mod.rs:1209:17
   5:     0x7fb5936bfcb5 - std::io::Write::write_fmt::h0baa4b904438720a
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/io/mod.rs:1679:15
   6:     0x7fb5936d1ef3 - std::sys_common::backtrace::_print::h4e50715668854aea
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x7fb5936d1ef3 - std::sys_common::backtrace::print::hc3d0dd731686e213
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x7fb5936d1ef3 - std::panicking::default_hook::{{closure}}::hc630ddd34d05043a
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/panicking.rs:267:22
   9:     0x7fb5936d1bdf - std::panicking::default_hook::hb98d54da30ecd030
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/panicking.rs:286:9
  10:     0x7fb595f07a41 - rustc_driver[f0efc00e041104a1]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7fb5936d272b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8dbd399d0f831315
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/alloc/src/boxed.rs:1952:9
  12:     0x7fb5936d272b - std::panicking::rust_panic_with_hook::h9d36e1ca30b3ec7a
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/panicking.rs:673:13
  13:     0x7fb5936d2541 - std::panicking::begin_panic_handler::{{closure}}::h52cfa7ac8afcd930
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/panicking.rs:558:13
  14:     0x7fb5936cf61c - std::sys_common::backtrace::__rust_end_short_backtrace::h84b44348d4400013
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys_common/backtrace.rs:138:18
  15:     0x7fb5936d22a2 - rust_begin_unwind
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/panicking.rs:556:5
  16:     0x7fb593726a03 - core::panicking::panic_fmt::h7c2a24ac7a8b212a
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/core/src/panicking.rs:142:14
  17:     0x7fb59372684d - core::panicking::panic::h57553d5470b7e561
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/core/src/panicking.rs:48:5
  18:     0x7fb863e5f464 - <rustc_codegen_ssa[c092e4c426cdb651]::mir::FunctionCx<rustc_codegen_llvm[6942bde5879ea22d]::builder::Builder>>::codegen_block
  19:     0x7fb863e4dfb6 - rustc_codegen_ssa[c092e4c426cdb651]::mir::codegen_mir::<rustc_codegen_llvm[6942bde5879ea22d]::builder::Builder>
  20:     0x7fb5952ddcc4 - rustc_codegen_llvm[6942bde5879ea22d]::base::compile_codegen_unit::module_codegen
  21:     0x7fb595c0df07 - <rustc_query_system[543b4fc37dde943d]::dep_graph::graph::DepGraph<rustc_middle[f8105f7dfe6ff4e0]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[f8105f7dfe6ff4e0]::ty::context::TyCtxt, rustc_span[4f1efeb85c089ac8]::symbol::Symbol, rustc_codegen_ssa[c092e4c426cdb651]::ModuleCodegen<rustc_codegen_llvm[6942bde5879ea22d]::ModuleLlvm>>
  22:     0x7fb595c0dd09 - rustc_codegen_llvm[6942bde5879ea22d]::base::compile_codegen_unit
  23:     0x7fb5959f41bd - rustc_codegen_ssa[c092e4c426cdb651]::base::codegen_crate::<rustc_codegen_llvm[6942bde5879ea22d]::LlvmCodegenBackend>
  24:     0x7fb5959f39bd - <rustc_codegen_llvm[6942bde5879ea22d]::LlvmCodegenBackend as rustc_codegen_ssa[c092e4c426cdb651]::traits::backend::CodegenBackend>::codegen_crate
  25:     0x7fb863d1018c - <rustc_session[ffd18f1f609c177d]::session::Session>::time::<alloc[9b15bfb767e51fba]::boxed::Box<dyn core[7fef4cab63355933]::any::Any>, rustc_interface[f8a55cb2f21fea8d]::passes::start_codegen::{closure#0}>
  26:     0x7fb863d0fb6e - <rustc_interface[f8a55cb2f21fea8d]::passes::QueryContext>::enter::<<rustc_interface[f8a55cb2f21fea8d]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[7fef4cab63355933]::result::Result<alloc[9b15bfb767e51fba]::boxed::Box<dyn core[7fef4cab63355933]::any::Any>, rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>
  27:     0x7fb863ccf7a3 - <rustc_interface[f8a55cb2f21fea8d]::queries::Queries>::ongoing_codegen
  28:     0x7fb863ccda2a - rustc_interface[f8a55cb2f21fea8d]::interface::create_compiler_and_run::<core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>, rustc_driver[f0efc00e041104a1]::run_compiler::{closure#1}>
  29:     0x7fb863ccc331 - <scoped_tls[998c43719cb84b4a]::ScopedKey<rustc_span[4f1efeb85c089ac8]::SessionGlobals>>::set::<rustc_interface[f8a55cb2f21fea8d]::interface::run_compiler<core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>, rustc_driver[f0efc00e041104a1]::run_compiler::{closure#1}>::{closure#0}, core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>
  30:     0x7fb863ccc01f - std[ede4ecd9ed8acb00]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[f8a55cb2f21fea8d]::util::run_in_thread_pool_with_globals<rustc_interface[f8a55cb2f21fea8d]::interface::run_compiler<core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>, rustc_driver[f0efc00e041104a1]::run_compiler::{closure#1}>::{closure#0}, core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>::{closure#0}, core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>
  31:     0x7fb595d687b0 - <<std[ede4ecd9ed8acb00]::thread::Builder>::spawn_unchecked_<rustc_interface[f8a55cb2f21fea8d]::util::run_in_thread_pool_with_globals<rustc_interface[f8a55cb2f21fea8d]::interface::run_compiler<core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>, rustc_driver[f0efc00e041104a1]::run_compiler::{closure#1}>::{closure#0}, core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>::{closure#0}, core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>::{closure#1} as core[7fef4cab63355933]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  32:     0x7fb5936dc393 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h073fd3d24d46d103
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/alloc/src/boxed.rs:1938:9
  33:     0x7fb5936dc393 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h5d6d89ec5f806eed
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/alloc/src/boxed.rs:1938:9
  34:     0x7fb5936dc393 - std::sys::unix::thread::Thread::new::thread_start::hd7471e2b028e93f2
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys/unix/thread.rs:108:17
  35:     0x7fb5935af609 - start_thread
  36:     0x7fb5934d2133 - clone
  37:                0x0 - <unknown>

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, I-ICE, T-compiler&template=ice.md

note: rustc 1.66.0-nightly (470e518c4 2022-09-27) 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
error: internal compiler error: no errors encountered even though `delay_span_bug` issued

error: internal compiler error: broken MIR in DefId(0:10 ~ playground[62e1]::main) (move _4 as dyn* AddOne (Pointer(ArrayToPointer))): ArrayToPointer cast from unexpected type &mut usize
  --> src/main.rs:27:13
   |
27 |     let y = &mut x as dyn* AddOne;
   |             ^^^^^^^^^^^^^^^^^^^^^
   |
   = note: delayed at compiler/rustc_borrowck/src/type_check/mod.rs:2125:29

thread 'rustc' panicked at 'Box<dyn Any>', compiler/rustc_errors/src/lib.rs:1529:13
stack backtrace:
   0:     0x7fb5936cf170 - std::backtrace_rs::backtrace::libunwind::trace::h6f0c1aea3f6a8f92
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   1:     0x7fb5936cf170 - std::backtrace_rs::backtrace::trace_unsynchronized::h246e054cc0c6474e
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fb5936cf170 - std::sys_common::backtrace::_print_fmt::he958bf8edb06c4b4
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x7fb5936cf170 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5c96f6e60024ea09
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x7fb593729e2e - core::fmt::write::h9220227ac4bd60db
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/core/src/fmt/mod.rs:1209:17
   5:     0x7fb5936bfcb5 - std::io::Write::write_fmt::h0baa4b904438720a
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/io/mod.rs:1679:15
   6:     0x7fb5936d1ef3 - std::sys_common::backtrace::_print::h4e50715668854aea
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x7fb5936d1ef3 - std::sys_common::backtrace::print::hc3d0dd731686e213
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x7fb5936d1ef3 - std::panicking::default_hook::{{closure}}::hc630ddd34d05043a
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/panicking.rs:267:22
   9:     0x7fb5936d1bdf - std::panicking::default_hook::hb98d54da30ecd030
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/panicking.rs:286:9
  10:     0x7fb595f07a41 - rustc_driver[f0efc00e041104a1]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7fb5936d272b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8dbd399d0f831315
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/alloc/src/boxed.rs:1952:9
  12:     0x7fb5936d272b - std::panicking::rust_panic_with_hook::h9d36e1ca30b3ec7a
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/panicking.rs:673:13
  13:     0x7fb597029c41 - std[ede4ecd9ed8acb00]::panicking::begin_panic::<rustc_errors[cbe001ae92aecd94]::ExplicitBug>::{closure#0}
  14:     0x7fb597029616 - std[ede4ecd9ed8acb00]::sys_common::backtrace::__rust_end_short_backtrace::<std[ede4ecd9ed8acb00]::panicking::begin_panic<rustc_errors[cbe001ae92aecd94]::ExplicitBug>::{closure#0}, !>
  15:     0x7fb5970295e6 - std[ede4ecd9ed8acb00]::panicking::begin_panic::<rustc_errors[cbe001ae92aecd94]::ExplicitBug>
  16:     0x7fb5970275a6 - std[ede4ecd9ed8acb00]::panic::panic_any::<rustc_errors[cbe001ae92aecd94]::ExplicitBug>
  17:     0x7fb595a52fd8 - <rustc_errors[cbe001ae92aecd94]::HandlerInner as core[7fef4cab63355933]::ops::drop::Drop>::drop
  18:     0x7fb863d15db8 - core[7fef4cab63355933]::ptr::drop_in_place::<rustc_session[ffd18f1f609c177d]::parse::ParseSess>
  19:     0x7fb863cd3718 - <alloc[9b15bfb767e51fba]::rc::Rc<rustc_session[ffd18f1f609c177d]::session::Session> as core[7fef4cab63355933]::ops::drop::Drop>::drop
  20:     0x7fb863cd079d - core[7fef4cab63355933]::ptr::drop_in_place::<rustc_interface[f8a55cb2f21fea8d]::interface::Compiler>
  21:     0x7fb863cce841 - rustc_interface[f8a55cb2f21fea8d]::interface::create_compiler_and_run::<core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>, rustc_driver[f0efc00e041104a1]::run_compiler::{closure#1}>
  22:     0x7fb863ccc331 - <scoped_tls[998c43719cb84b4a]::ScopedKey<rustc_span[4f1efeb85c089ac8]::SessionGlobals>>::set::<rustc_interface[f8a55cb2f21fea8d]::interface::run_compiler<core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>, rustc_driver[f0efc00e041104a1]::run_compiler::{closure#1}>::{closure#0}, core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>
  23:     0x7fb863ccc01f - std[ede4ecd9ed8acb00]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[f8a55cb2f21fea8d]::util::run_in_thread_pool_with_globals<rustc_interface[f8a55cb2f21fea8d]::interface::run_compiler<core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>, rustc_driver[f0efc00e041104a1]::run_compiler::{closure#1}>::{closure#0}, core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>::{closure#0}, core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>
  24:     0x7fb595d687b0 - <<std[ede4ecd9ed8acb00]::thread::Builder>::spawn_unchecked_<rustc_interface[f8a55cb2f21fea8d]::util::run_in_thread_pool_with_globals<rustc_interface[f8a55cb2f21fea8d]::interface::run_compiler<core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>, rustc_driver[f0efc00e041104a1]::run_compiler::{closure#1}>::{closure#0}, core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>::{closure#0}, core[7fef4cab63355933]::result::Result<(), rustc_errors[cbe001ae92aecd94]::ErrorGuaranteed>>::{closure#1} as core[7fef4cab63355933]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  25:     0x7fb5936dc393 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h073fd3d24d46d103
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/alloc/src/boxed.rs:1938:9
  26:     0x7fb5936dc393 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h5d6d89ec5f806eed
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/alloc/src/boxed.rs:1938:9
  27:     0x7fb5936dc393 - std::sys::unix::thread::Thread::new::thread_start::hd7471e2b028e93f2
                               at /rustc/470e518c4b43265020c882bcf3c86632f5494910/library/std/src/sys/unix/thread.rs:108:17
  28:     0x7fb5935af609 - start_thread
  29:     0x7fb5934d2133 - clone
  30:                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, I-ICE, T-compiler&template=ice.md

note: rustc 1.66.0-nightly (470e518c4 2022-09-27) 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
thread panicked while panicking. aborting.
error: could not compile `playground`

Caused by:
  process didn't exit successfully: `rustc --crate-name playground --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 -C metadata=933dd66f8166fec1 -C extra-filename=-933dd66f8166fec1 --out-dir /playground/target/debug/deps -L dependency=/playground/target/debug/deps --extern addr2line=/playground/target/debug/deps/libaddr2line-f7b4d4e29b3267b6.rlib --extern adler=/playground/target/debug/deps/libadler-a6755dfadabd895e.rlib --extern ahash=/playground/target/debug/deps/libahash-825e3cd464bdaf64.rlib --extern aho_corasick=/playground/target/debug/deps/libaho_corasick-e05c20d54f890d08.rlib --extern ansi_term=/playground/target/debug/deps/libansi_term-2159b79c7c03c33b.rlib --extern anyhow=/playground/target/debug/deps/libanyhow-8abc50ae9c6bf2c5.rlib --extern approx=/playground/target/debug/deps/libapprox-f8cd61c0f4561a16.rlib --extern arc_swap=/playground/target/debug/deps/libarc_swap-fb3889d9fd78c0cc.rlib --extern arrayvec=/playground/target/debug/deps/libarrayvec-3a1c12b84c4c35e6.rlib --extern async_recursion=/playground/target/debug/deps/libasync_recursion-cc714020a1801775.so --extern async_trait=/playground/target/debug/deps/libasync_trait-439102b22d0670f3.so --extern atomic=/playground/target/debug/deps/libatomic-29fd3d926750c024.rlib --extern atty=/playground/target/debug/deps/libatty-6a81a73b7b125fe8.rlib --extern autocfg=/playground/target/debug/deps/libautocfg-92b429196c196cd1.rlib --extern backtrace=/playground/target/debug/deps/libbacktrace-07f225be961879b5.rlib --extern base64=/playground/target/debug/deps/libbase64-cfc95277467b3864.rlib --extern bit_set=/playground/target/debug/deps/libbit_set-59180d9c020c4e30.rlib --extern bit_vec=/playground/target/debug/deps/libbit_vec-e0495be0df3dad6d.rlib --extern bit_field=/playground/target/debug/deps/libbit_field-162e58bc8aaf39fd.rlib --extern bitflags=/playground/target/debug/deps/libbitflags-de1f0b76046eea2a.rlib --extern block_buffer=/playground/target/debug/deps/libblock_buffer-8e5c81058cbc036e.rlib --extern bstr=/playground/target/debug/deps/libbstr-04d286fc8ab8acb3.rlib --extern bytemuck=/playground/target/debug/deps/libbytemuck-4ba972f7fe5d08ae.rlib --extern bytemuck_derive=/playground/target/debug/deps/libbytemuck_derive-7faea13f5d6df39d.so --extern byteorder=/playground/target/debug/deps/libbyteorder-3386849127ec7437.rlib --extern bytes_0_4_12=/playground/target/debug/deps/libbytes-9abdbd06a7823441.rlib --extern bytes=/playground/target/debug/deps/libbytes-716a7fa45043c08f.rlib --extern cc=/playground/target/debug/deps/libcc-54590ee4f75082e3.rlib --extern cfg_if=/playground/target/debug/deps/libcfg_if-5253e57569830399.rlib --extern chrono=/playground/target/debug/deps/libchrono-7fc59948973e01c6.rlib --extern clap=/playground/target/debug/deps/libclap-1220decc518a44ab.rlib --extern clap_derive=/playground/target/debug/deps/libclap_derive-dcafb6f2bd1958c7.so --extern clap_lex=/playground/target/debug/deps/libclap_lex-7a89db0172accea0.rlib --extern color_quant=/playground/target/debug/deps/libcolor_quant-aef1b2deff556d9b.rlib --extern cookie=/playground/target/debug/deps/libcookie-6091968361d392fe.rlib --extern cookie_store=/playground/target/debug/deps/libcookie_store-2f8120f319071579.rlib --extern cpufeatures=/playground/target/debug/deps/libcpufeatures-7eaa9d638ad497cc.rlib --extern crc32fast=/playground/target/debug/deps/libcrc32fast-0c0c315b6647141a.rlib --extern crossbeam=/playground/target/debug/deps/libcrossbeam-6c5cfc5ba7b47d8c.rlib --extern crossbeam_channel=/playground/target/debug/deps/libcrossbeam_channel-1fc646f8550838e7.rlib --extern crossbeam_deque=/playground/target/debug/deps/libcrossbeam_deque-d43a85f4820b2b7c.rlib --extern crossbeam_epoch=/playground/target/debug/deps/libcrossbeam_epoch-87cad39d228e8de2.rlib --extern crossbeam_queue=/playground/target/debug/deps/libcrossbeam_queue-ae0b5df97adfb215.rlib --extern crossbeam_utils=/playground/target/debug/deps/libcrossbeam_utils-7788520fdada8b0e.rlib --extern crypto_common=/playground/target/debug/deps/libcrypto_common-f4a9b3fd00e6ea40.rlib --extern csv=/playground/target/debug/deps/libcsv-d6af792fe2dbcc80.rlib --extern csv_core=/playground/target/debug/deps/libcsv_core-ec211a530f024414.rlib --extern data_encoding=/playground/target/debug/deps/libdata_encoding-dc27914ccac23bde.rlib --extern derivative=/playground/target/debug/deps/libderivative-cce7e91c42fe9964.so --extern digest=/playground/target/debug/deps/libdigest-e8c78290c2f32d94.rlib --extern either=/playground/target/debug/deps/libeither-c59fd8d863c925cf.rlib --extern encoding_rs=/playground/target/debug/deps/libencoding_rs-1b37bb924e80cd4e.rlib --extern env_logger=/playground/target/debug/deps/libenv_logger-5a518e9fb5dd7e7e.rlib --extern error_chain=/playground/target/debug/deps/liberror_chain-2f965a974c8320c8.rlib --extern exr=/playground/target/debug/deps/libexr-1452149d189a55c0.rlib --extern fallible_iterator=/playground/target/debug/deps/libfallible_iterator-7f4fc8c0ad37dc9d.rlib --extern fallible_streaming_iterator=/playground/target/debug/deps/libfallible_streaming_iterator-baab7654e5e34d04.rlib --extern fastrand=/playground/target/debug/deps/libfastrand-965b0d9c80775ec8.rlib --extern filetime=/playground/target/debug/deps/libfiletime-aba6db3386fdcf17.rlib --extern fixedbitset=/playground/target/debug/deps/libfixedbitset-5c1762520b77630c.rlib --extern flate2=/playground/target/debug/deps/libflate2-2f1dfe78012aeb10.rlib --extern flume=/playground/target/debug/deps/libflume-472e5c8ee82d5874.rlib --extern fnv=/playground/target/debug/deps/libfnv-0672b6da71ed834c.rlib --extern foreign_types=/playground/target/debug/deps/libforeign_types-e5d0ea207091f2ed.rlib --extern foreign_types_shared=/playground/target/debug/deps/libforeign_types_shared-e64cfaf7a202bcc7.rlib --extern form_urlencoded=/playground/target/debug/deps/libform_urlencoded-3844328579a70fe7.rlib --extern futf=/playground/target/debug/deps/libfutf-66f12e798eb4013d.rlib --extern futures_0_1_31=/playground/target/debug/deps/libfutures-559b4d2f77076e5b.rlib --extern futures=/playground/target/debug/deps/libfutures-54dbf2acf71853a8.rlib --extern futures_channel=/playground/target/debug/deps/libfutures_channel-5a543d63c31b728e.rlib --extern futures_core=/playground/target/debug/deps/libfutures_core-77e05f53be02523a.rlib --extern futures_executor=/playground/target/debug/deps/libfutures_executor-3f1a6e0404047dba.rlib --extern futures_io=/playground/target/debug/deps/libfutures_io-7514bf44ab6f03c6.rlib --extern futures_macro=/playground/target/debug/deps/libfutures_macro-b2b6d46b641bf716.so --extern futures_sink=/playground/target/debug/deps/libfutures_sink-86e59a6713e2ed94.rlib --extern futures_task=/playground/target/debug/deps/libfutures_task-457c727d38dc8630.rlib --extern futures_util=/playground/target/debug/deps/libfutures_util-fe7f99cc801f8363.rlib --extern generic_array=/playground/target/debug/deps/libgeneric_array-2987f7bc5ae53add.rlib --extern getrandom_0_1_16=/playground/target/debug/deps/libgetrandom-99ce16fdf40044af.rlib --extern getrandom=/playground/target/debug/deps/libgetrandom-a880b6a4409fa46c.rlib --extern gif=/playground/target/debug/deps/libgif-ed825f9632f6d5c4.rlib --extern gimli=/playground/target/debug/deps/libgimli-7ee2f9e9a98577f2.rlib --extern glob=/playground/target/debug/deps/libglob-3e188ae16859c506.rlib --extern h2=/playground/target/debug/deps/libh2-ca628d34074c98f6.rlib --extern half=/playground/target/debug/deps/libhalf-886abc4065fa3cfd.rlib --extern hashbrown=/playground/target/debug/deps/libhashbrown-57fafd4741fca288.rlib --extern hashlink=/playground/target/debug/deps/libhashlink-3ead8c1bb5803635.rlib --extern heck=/playground/target/debug/deps/libheck-424a3df7d01d544f.rlib --extern hmac=/playground/target/debug/deps/libhmac-04489c29f7a8d6b2.rlib --extern html5ever=/playground/target/debug/deps/libhtml5ever-47735223bfd294ff.rlib --extern http=/playground/target/debug/deps/libhttp-d834fed362f673be.rlib --extern http_body=/playground/target/debug/deps/libhttp_body-979ba46f4775d5c7.rlib --extern httparse=/playground/target/debug/deps/libhttparse-fc679c89115dbc46.rlib --extern httpdate=/playground/target/debug/deps/libhttpdate-7c7fbb165bed6800.rlib --extern humantime=/playground/target/debug/deps/libhumantime-bcb137373d337ec0.rlib --extern hyper=/playground/target/debug/deps/libhyper-e0f2899cefe04d6e.rlib --extern hyper_tls=/playground/target/debug/deps/libhyper_tls-d1566a116b77e285.rlib --extern iana_time_zone=/playground/target/debug/deps/libiana_time_zone-9337374abfdae12d.rlib --extern idna_0_2_3=/playground/target/debug/deps/libidna-ae923ee1330a862d.rlib --extern idna=/playground/target/debug/deps/libidna-0a12406716989b67.rlib --extern image=/playground/target/debug/deps/libimage-0ba7ab5f37b53373.rlib --extern indexmap=/playground/target/debug/deps/libindexmap-e1fcfce5913dfe48.rlib --extern iovec=/playground/target/debug/deps/libiovec-fef97101a9d3cd2b.rlib --extern ipnet=/playground/target/debug/deps/libipnet-7d81997bc8687860.rlib --extern itertools=/playground/target/debug/deps/libitertools-df3e3be40c4e43be.rlib --extern itoa_0_4_8=/playground/target/debug/deps/libitoa-bda856047fedd8f8.rlib --extern itoa=/playground/target/debug/deps/libitoa-22539b1eee9b69a2.rlib --extern jpeg_decoder=/playground/target/debug/deps/libjpeg_decoder-af66cdea3158f3fe.rlib --extern lazy_static=/playground/target/debug/deps/liblazy_static-56f839fc5f97cc86.rlib --extern lebe=/playground/target/debug/deps/liblebe-e9bdc56a94107b78.rlib --extern libc=/playground/target/debug/deps/liblibc-5b352ebbe14b2204.rlib --extern libm=/playground/target/debug/deps/liblibm-14409b78f2f5c4fb.rlib --extern libsqlite3_sys=/playground/target/debug/deps/liblibsqlite3_sys-38272f4ba988821f.rlib --extern linked_hash_map=/playground/target/debug/deps/liblinked_hash_map-11a9f42e529348d3.rlib --extern lock_api=/playground/target/debug/deps/liblock_api-870e0519890a6f5b.rlib --extern log=/playground/target/debug/deps/liblog-c2f830b0384f75a8.rlib --extern log_mdc=/playground/target/debug/deps/liblog_mdc-8c9acbf18051a6d8.rlib --extern log4rs=/playground/target/debug/deps/liblog4rs-f14a937f585b4488.rlib --extern mac=/playground/target/debug/deps/libmac-5ef46c35d1d60ae2.rlib --extern markup5ever=/playground/target/debug/deps/libmarkup5ever-b9d52a4f38469b41.rlib --extern markup5ever_rcdom=/playground/target/debug/deps/libmarkup5ever_rcdom-9dad59f9c6966416.rlib --extern matches=/playground/target/debug/deps/libmatches-94fda48e5e4c1005.rlib --extern matrixmultiply=/playground/target/debug/deps/libmatrixmultiply-9caa3f033427a130.rlib --extern md5=/playground/target/debug/deps/libmd5-26dfe91a8afacce5.rlib --extern memchr=/playground/target/debug/deps/libmemchr-eb1f3e221a710635.rlib --extern memmap=/playground/target/debug/deps/libmemmap-08786a7d006af4ba.rlib --extern memoffset=/playground/target/debug/deps/libmemoffset-4b04207de0ea1bb9.rlib --extern mime=/playground/target/debug/deps/libmime-be254843d53468a4.rlib --extern mime_guess=/playground/target/debug/deps/libmime_guess-571817c641636617.rlib --extern minimal_lexical=/playground/target/debug/deps/libminimal_lexical-cb9ae037445fc7f9.rlib --extern miniz_oxide_0_5_4=/playground/target/debug/deps/libminiz_oxide-5d12ae64a02c15bc.rlib --extern miniz_oxide=/playground/target/debug/deps/libminiz_oxide-e577356e646b213e.rlib --extern mio=/playground/target/debug/deps/libmio-f337f11978f5387b.rlib --extern nalgebra=/playground/target/debug/deps/libnalgebra-42cb50a8204dd6b5.rlib --extern nalgebra_macros=/playground/target/debug/deps/libnalgebra_macros-38473e1c2e33bf8c.so --extern nanorand=/playground/target/debug/deps/libnanorand-9170763a6329c0fb.rlib --extern native_tls=/playground/target/debug/deps/libnative_tls-91ec818b8d8e48d4.rlib --extern ndarray=/playground/target/debug/deps/libndarray-260d3d505de074ab.rlib --extern debug_unreachable=/playground/target/debug/deps/libdebug_unreachable-cc7ea61f7b47b527.rlib --extern nom=/playground/target/debug/deps/libnom-3604a20b53e5f26f.rlib --extern num=/playground/target/debug/deps/libnum-973a455cb5fbb59a.rlib --extern num_bigint=/playground/target/debug/deps/libnum_bigint-5b7a0fc5b9d3604e.rlib --extern num_complex=/playground/target/debug/deps/libnum_complex-f12077e2a219e357.rlib --extern num_integer=/playground/target/debug/deps/libnum_integer-cf0c1cb78a09e29b.rlib --extern num_iter=/playground/target/debug/deps/libnum_iter-a50493cc94d4d459.rlib --extern num_rational=/playground/target/debug/deps/libnum_rational-8f73d0661d80f4e0.rlib --extern num_traits=/playground/target/debug/deps/libnum_traits-2b42c54c1cb0a99c.rlib --extern num_cpus=/playground/target/debug/deps/libnum_cpus-57d58ddd9756b4ef.rlib --extern num_threads=/playground/target/debug/deps/libnum_threads-58f5879f94056fd1.rlib --extern object=/playground/target/debug/deps/libobject-6b80f4e7beb816b2.rlib --extern once_cell=/playground/target/debug/deps/libonce_cell-382c8a1f6af6d4e9.rlib --extern opaque_debug=/playground/target/debug/deps/libopaque_debug-ab9ddb0f69438328.rlib --extern openssl=/playground/target/debug/deps/libopenssl-f6967f093da749ec.rlib --extern openssl_macros=/playground/target/debug/deps/libopenssl_macros-a09b00a91bc6678b.so --extern openssl_probe=/playground/target/debug/deps/libopenssl_probe-94c713caf31880eb.rlib --extern openssl_sys=/playground/target/debug/deps/libopenssl_sys-bd0730e27320c224.rlib --extern ordered_float=/playground/target/debug/deps/libordered_float-6e9edbfea8aa1359.rlib --extern os_str_bytes=/playground/target/debug/deps/libos_str_bytes-79f185ddd89d0ef4.rlib --extern parking_lot=/playground/target/debug/deps/libparking_lot-8f2314ea28ff3de3.rlib --extern parking_lot_core=/playground/target/debug/deps/libparking_lot_core-69c2956b42ae7456.rlib --extern paste=/playground/target/debug/deps/libpaste-956a0fe23069f8ec.so --extern percent_encoding=/playground/target/debug/deps/libpercent_encoding-f34d1ed0718d03bf.rlib --extern pest=/playground/target/debug/deps/libpest-b897b36587a53d68.rlib --extern petgraph=/playground/target/debug/deps/libpetgraph-bd85196e7933b921.rlib --extern phf_0_8_0=/playground/target/debug/deps/libphf-fae1fb35b28a2359.rlib --extern phf=/playground/target/debug/deps/libphf-f8bdad2644609f38.rlib --extern phf_codegen=/playground/target/debug/deps/libphf_codegen-739b43d158fa2592.rlib --extern phf_generator_0_8_0=/playground/target/debug/deps/libphf_generator-eb87b4fc65e9a49c.rlib --extern phf_generator=/playground/target/debug/deps/libphf_generator-708705cc63a04847.rlib --extern phf_shared_0_8_0=/playground/target/debug/deps/libphf_shared-e02d9191b9baf9b9.rlib --extern phf_shared_0_10_0=/playground/target/debug/deps/libphf_shared-2b39fa7fe3e04733.rlib --extern phf_shared=/playground/target/debug/deps/libphf_shared-2e872e302dad9f42.rlib --extern pin_project=/playground/target/debug/deps/libpin_project-ed7efe6f375e2c78.rlib --extern pin_project_internal=/playground/target/debug/deps/libpin_project_internal-35bf558bc49dfa65.so --extern pin_project_lite=/playground/target/debug/deps/libpin_project_lite-f39210ec8aa22683.rlib --extern pin_utils=/playground/target/debug/deps/libpin_utils-b0bf3f0688139ba1.rlib --extern pkg_config=/playground/target/debug/deps/libpkg_config-e38945851503d517.rlib --extern png=/playground/target/debug/deps/libpng-1105e80039eb79bc.rlib --extern postgres=/playground/target/debug/deps/libpostgres-263c6d443d901783.rlib --extern postgres_protocol=/playground/target/debug/deps/libpostgres_protocol-1db355cf2b227b28.rlib --extern postgres_types=/playground/target/debug/deps/libpostgres_types-29892eb750ab97b7.rlib --extern ppv_lite86=/playground/target/debug/deps/libppv_lite86-8303bb68ceff8d83.rlib --extern precomputed_hash=/playground/target/debug/deps/libprecomputed_hash-1298520f088678de.rlib --extern proc_macro_error=/playground/target/debug/deps/libproc_macro_error-34a23edc39bc7bb0.rlib --extern proc_macro_error_attr=/playground/target/debug/deps/libproc_macro_error_attr-e0734aeb24cbff34.so --extern proc_macro_hack=/playground/target/debug/deps/libproc_macro_hack-92717a4671472a53.so --extern proc_macro2=/playground/target/debug/deps/libproc_macro2-53246511007eb985.rlib --extern psl_types=/playground/target/debug/deps/libpsl_types-5574d9ebd805e411.rlib --extern publicsuffix=/playground/target/debug/deps/libpublicsuffix-542b0b9ed406cbcd.rlib --extern quote=/playground/target/debug/deps/libquote-12598f68e6755c49.rlib --extern rand_0_7_3=/playground/target/debug/deps/librand-394774da12d7d1ec.rlib --extern rand=/playground/target/debug/deps/librand-5b9de2b665ffdcbe.rlib --extern rand_chacha_0_2_2=/playground/target/debug/deps/librand_chacha-de4a2d4dbe41705f.rlib --extern rand_chacha=/playground/target/debug/deps/librand_chacha-f08162f98e47646c.rlib --extern rand_core_0_5_1=/playground/target/debug/deps/librand_core-cf4df2764ac99069.rlib --extern rand_core=/playground/target/debug/deps/librand_core-3ce513323ea534f3.rlib --extern rand_distr=/playground/target/debug/deps/librand_distr-42b5e30ad0728dde.rlib --extern rand_pcg=/playground/target/debug/deps/librand_pcg-aac8c00f230a541c.rlib --extern rawpointer=/playground/target/debug/deps/librawpointer-63eb1bba55566369.rlib --extern rayon=/playground/target/debug/deps/librayon-527e5e7785f5e12f.rlib --extern rayon_core=/playground/target/debug/deps/librayon_core-925c7d21f8aec6c8.rlib --extern regex=/playground/target/debug/deps/libregex-914541ed93e104cd.rlib --extern regex_automata=/playground/target/debug/deps/libregex_automata-0aae4b45579b2f53.rlib --extern regex_syntax=/playground/target/debug/deps/libregex_syntax-76c8d77671269f0e.rlib --extern remove_dir_all=/playground/target/debug/deps/libremove_dir_all-6db8331ec1c4e72f.rlib --extern reqwest=/playground/target/debug/deps/libreqwest-d97a3cd84eba093e.rlib --extern ring=/playground/target/debug/deps/libring-0eb100e683ebae6b.rlib --extern rusqlite=/playground/target/debug/deps/librusqlite-0566aa069828918c.rlib --extern rustc_demangle=/playground/target/debug/deps/librustc_demangle-57fef8ec284fa01a.rlib --extern rustc_version=/playground/target/debug/deps/librustc_version-50fdea9deddb8df2.rlib --extern ryu=/playground/target/debug/deps/libryu-1e0bdbf6224e6045.rlib --extern safe_arch=/playground/target/debug/deps/libsafe_arch-4b9e9eae77998306.rlib --extern same_file=/playground/target/debug/deps/libsame_file-7a3f353776f43cdd.rlib --extern scoped_threadpool=/playground/target/debug/deps/libscoped_threadpool-14c0b9d1ec39c6a3.rlib --extern scopeguard=/playground/target/debug/deps/libscopeguard-866386222a022128.rlib --extern select=/playground/target/debug/deps/libselect-af1cc1495ab8a757.rlib --extern semver=/playground/target/debug/deps/libsemver-a550373c4e63fa09.rlib --extern semver_parser=/playground/target/debug/deps/libsemver_parser-dc970e5d5f19ab4b.rlib --extern serde=/playground/target/debug/deps/libserde-7f4ae80b6ed9e02e.rlib --extern serde_value=/playground/target/debug/deps/libserde_value-4b811a75c611b648.rlib --extern serde_derive=/playground/target/debug/deps/libserde_derive-640f952cd7c76875.so --extern serde_json=/playground/target/debug/deps/libserde_json-52036526f4cf8cb9.rlib --extern serde_urlencoded=/playground/target/debug/deps/libserde_urlencoded-13b9b38ac7b79417.rlib --extern serde_yaml=/playground/target/debug/deps/libserde_yaml-8648e04e2f6641b7.rlib --extern sha1_smol=/playground/target/debug/deps/libsha1_smol-d45ade8d066501af.rlib --extern sha2=/playground/target/debug/deps/libsha2-7a7e97ccbf984f20.rlib --extern signal_hook_registry=/playground/target/debug/deps/libsignal_hook_registry-1ebe482c6af03ac1.rlib --extern simba=/playground/target/debug/deps/libsimba-2341826662f5df82.rlib --extern siphasher=/playground/target/debug/deps/libsiphasher-84a2d6040737f0d8.rlib --extern slab=/playground/target/debug/deps/libslab-d2d640f6d1d8efdb.rlib --extern smallvec=/playground/target/debug/deps/libsmallvec-fa8917f2c89b12f3.rlib --extern smawk=/playground/target/debug/deps/libsmawk-6ed7cfb7fa793e0c.rlib --extern socket2=/playground/target/debug/deps/libsocket2-8647045a6d01ad7d.rlib --extern spin_0_5_2=/playground/target/debug/deps/libspin-4d2c7b2ce1e7d317.rlib --extern spin=/playground/target/debug/deps/libspin-c4db4e0c8c1ce7b3.rlib --extern string_cache=/playground/target/debug/deps/libstring_cache-36edd8173dd50130.rlib --extern string_cache_codegen=/playground/target/debug/deps/libstring_cache_codegen-e52db0562568f057.rlib --extern stringprep=/playground/target/debug/deps/libstringprep-5d7a8b7e5089f243.rlib --extern strsim=/playground/target/debug/deps/libstrsim-f8a23f77c73daaa0.rlib --extern subtle=/playground/target/debug/deps/libsubtle-7f658a021fbf8c09.rlib --extern syn=/playground/target/debug/deps/libsyn-33eedea71ffa5db4.rlib --extern tar=/playground/target/debug/deps/libtar-8bb0a56d8331b6bb.rlib --extern tempfile=/playground/target/debug/deps/libtempfile-373573fc29e23031.rlib --extern tendril=/playground/target/debug/deps/libtendril-21a5e8f6857fa604.rlib --extern termcolor=/playground/target/debug/deps/libtermcolor-be5ff8b1f3327763.rlib --extern terminal_size=/playground/target/debug/deps/libterminal_size-7c7c264112cc44cc.rlib --extern textwrap=/playground/target/debug/deps/libtextwrap-66058ef176b00ba0.rlib --extern thiserror=/playground/target/debug/deps/libthiserror-84a689cb65ab4c55.rlib --extern thiserror_impl=/playground/target/debug/deps/libthiserror_impl-733445e18af9dfae.so --extern thread_id=/playground/target/debug/deps/libthread_id-4c9c07548aadfaf0.rlib --extern thread_local=/playground/target/debug/deps/libthread_local-218322e9ad55284b.rlib --extern threadpool=/playground/target/debug/deps/libthreadpool-0aa74f74d9cfb31a.rlib --extern tiff=/playground/target/debug/deps/libtiff-4ae03ff61fea363f.rlib --extern time_0_1_44=/playground/target/debug/deps/libtime-1829a6b70089c235.rlib --extern time=/playground/target/debug/deps/libtime-7f0f59e390f7851c.rlib --extern time_macros=/playground/target/debug/deps/libtime_macros-7713ab67b11274b5.so --extern tinyvec=/playground/target/debug/deps/libtinyvec-f957348d01c7eb52.rlib --extern tinyvec_macros=/playground/target/debug/deps/libtinyvec_macros-8f36f65da14d810a.rlib --extern tokio=/playground/target/debug/deps/libtokio-a3a3bcc089ab2209.rlib --extern tokio_io=/playground/target/debug/deps/libtokio_io-d6526e68e1252ff1.rlib --extern tokio_macros=/playground/target/debug/deps/libtokio_macros-084d9ab710e9bb54.so --extern tokio_native_tls=/playground/target/debug/deps/libtokio_native_tls-ee86a47bb51d9ab3.rlib --extern tokio_postgres=/playground/target/debug/deps/libtokio_postgres-f25ea3c1a429c701.rlib --extern tokio_util=/playground/target/debug/deps/libtokio_util-0ee51c4b932b898d.rlib --extern toml=/playground/target/debug/deps/libtoml-c00fdaa94dcd7a05.rlib --extern tower_service=/playground/target/debug/deps/libtower_service-1acfe98d5d51417b.rlib --extern tracing=/playground/target/debug/deps/libtracing-d710696113690bc5.rlib --extern tracing_core=/playground/target/debug/deps/libtracing_core-621bbcd9b5dd8782.rlib --extern traitobject=/playground/target/debug/deps/libtraitobject-ac408b27f7e01f65.rlib --extern try_lock=/playground/target/debug/deps/libtry_lock-849bac2fba98b76b.rlib --extern typemap=/playground/target/debug/deps/libtypemap-0e4274a17e401313.rlib --extern typenum=/playground/target/debug/deps/libtypenum-37db19a11d859610.rlib --extern ucd_trie=/playground/target/debug/deps/libucd_trie-45445967628f920c.rlib --extern unicase=/playground/target/debug/deps/libunicase-a9d514baad760bab.rlib --extern unicode_bidi=/playground/target/debug/deps/libunicode_bidi-876cf42c358ea953.rlib --extern unicode_ident=/playground/target/debug/deps/libunicode_ident-1944e73a859ea33a.rlib --extern unicode_linebreak=/playground/target/debug/deps/libunicode_linebreak-afc5856a9f644e39.rlib --extern unicode_normalization=/playground/target/debug/deps/libunicode_normalization-d57646ab90d32677.rlib --extern unicode_segmentation=/playground/target/debug/deps/libunicode_segmentation-d0f3e302d0d3e8ca.rlib --extern unicode_width=/playground/target/debug/deps/libunicode_width-f7ec37c1de2029b9.rlib --extern unicode_xid=/playground/target/debug/deps/libunicode_xid-ada196e1f4b9ed77.rlib --extern unsafe_any=/playground/target/debug/deps/libunsafe_any-843b450d6d60d480.rlib --extern untrusted=/playground/target/debug/deps/libuntrusted-ecc06c34234b2716.rlib --extern url=/playground/target/debug/deps/liburl-a19262a4c42e722d.rlib --extern utf8=/playground/target/debug/deps/libutf8-8dc7fb5a31151cba.rlib --extern uuid=/playground/target/debug/deps/libuuid-b7d0a7faa4fae3f3.rlib --extern vcpkg=/playground/target/debug/deps/libvcpkg-ad2c320523f78ca3.rlib --extern vec_map=/playground/target/debug/deps/libvec_map-d4f07e9e0554b315.rlib --extern version_check=/playground/target/debug/deps/libversion_check-2dcd18eb3e92f0ef.rlib --extern walkdir=/playground/target/debug/deps/libwalkdir-5f8042bccd6ce967.rlib --extern want=/playground/target/debug/deps/libwant-c2768293d80f4d73.rlib --extern weezl=/playground/target/debug/deps/libweezl-e114694e0e5f32dc.rlib --extern wide=/playground/target/debug/deps/libwide-97bbc38c39ea9c7a.rlib --extern winapi=/playground/target/debug/deps/libwinapi-e9fab6f07c691756.rlib --extern xattr=/playground/target/debug/deps/libxattr-d6404b41c97480fc.rlib --extern xml5ever=/playground/target/debug/deps/libxml5ever-802882258322eb23.rlib --extern yaml_rust=/playground/target/debug/deps/libyaml_rust-630e276985e58fd0.rlib -L native=/playground/target/debug/build/libsqlite3-sys-09af0945074029c7/out -L native=/playground/target/debug/build/ring-bffb4b05604ef318/out` (signal: 6, SIGABRT: process abort signal)
@Rageking8
Copy link
Contributor

@rustbot label C-bug T-compiler I-ICE F-dyn_star requires-nightly

@rustbot rustbot added C-bug Category: This is a bug. F-dyn_star `#![feature(dyn_star)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-nightly This issue requires a nightly compiler in some way. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Sep 29, 2022
@DutchGhost
Copy link
Contributor

DutchGhost commented Sep 29, 2022

A smaller sample that ICE's with the same message:

#![feature(dyn_star)]
#![allow(incomplete_features)]

use std::fmt::Display;

fn bug() -> impl Display {
    // This reference seems to be evil.
    // `1 as dyn* Display` compiles fine!
    &1 as dyn* Display
}

fn main() {
    let _ = bug();
}

@compiler-errors
Copy link
Member

compiler-errors commented Oct 22, 2022

The sample provided by DutchGhost compiles now, and the one that @eholk provided compiles with some slight modification (adding some '_ lifetimes so borrowck is happy):

#![feature(dyn_star)]
#![allow(incomplete_features)]

trait AddOne {
    fn add1(&mut self) -> usize;
}

impl AddOne for usize {
    fn add1(&mut self) -> usize {
        *self  = 1;
        *self
    }
}

impl AddOne for &mut usize {
    fn add1(&mut self) -> usize {
        (*self).add1()
    }
}

fn add_one(mut i: dyn* AddOne   '_) -> usize {
    i.add1()
}

fn main() {
    let mut x = 42usize;
    let y = &mut x as (dyn* AddOne   '_);

    println!("{}", add_one(y));
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. F-dyn_star `#![feature(dyn_star)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-nightly This issue requires a nightly compiler in some way. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants