Closed Dirbaio closed 6 months ago
Interesting.
So, the problem here is that the type of FooFuture
has some bounds that are required for that type to be constructed (namely B: Bar
), but we end up "getting" a variable with that type without satisfying that. Here through zeroed, but can also be done through a function with a todo!() body.
Update: the below examples are no longer ICEs.
Some "reductions" that should have the same root cause as described above, although they error slightly differently (they all produce some kind of complaint that u32
is not Bar
):
Using closures instead of async:
#![feature(generic_associated_types)]
#![feature(type_alias_impl_trait)]
trait Bar {
fn bar(&self);
}
trait Foo {
type FooFn<B>: FnOnce();
fn foo<B: Bar>(&self, bar: B) -> Self::FooFn<B>;
}
struct MyFoo;
impl Foo for MyFoo {
type FooFn<B> = impl FnOnce();
fn foo<B: Bar>(&self, bar: B) -> Self::FooFn<B> {
move || { bar.bar() }
}
}
fn main() {
let boom: <MyFoo as Foo>::FooFn<u32> = unsafe { core::mem::zeroed() };
boom();
}
Using a custom trait instead of Future
/FnOnce
:
#![feature(generic_associated_types)]
#![feature(type_alias_impl_trait)]
trait Bar {
fn bar(&self);
}
trait Baz {
fn baz(&self);
}
trait Foo {
type FooFn<B>: Baz;
fn foo<B: Bar>(&self, bar: B) -> Self::FooFn<B>;
}
struct MyFoo;
impl Foo for MyFoo {
type FooFn<B> = impl Baz;
fn foo<B: Bar>(&self, bar: B) -> Self::FooFn<B> {
MyBaz(bar)
}
}
struct MyBaz<B: Bar>(B);
impl <B: Bar> Baz for MyBaz<B> {
fn baz(&self) {}
}
fn main() {
let boom: <MyFoo as Foo>::FooFn<u32> = unsafe { core::mem::zeroed() };
boom.baz();
}
If you use a non-associated type alias instead of a GAT, the async and FnOnce
versions still ICE but the custom trait version doesn't. See #90409
GATs issue triage: not blocking. Given that there are similar repros without GATs, this basically confirms my suspicion that this isn't a GAT issue, but a TAIT one.
The custom trait version no longer ICEs since #90948, the rest still do
Triage: All the examples on the comment (https://github.com/rust-lang/rust/issues/90400#issuecomment-954927836) are no longer ICE, I'm going to mark as E-needs-test
.
Triage: the original code still triggers an ICE. In https://github.com/rust-lang/rust/pull/97309, I've added some tests based on https://github.com/rust-lang/rust/issues/90400#issuecomment-954927836.
Unmarking this as E-needs-test
and marking as E-needs-mcve
, so that we can include the original's to glacier.
The original doesn't ICE anymore on playground, it reports a few errors, but fixing them produces no ICEs at any stage
any reason why this is not closed yet? we do have tests for this inside rustc
Code
I think the cause is the code is incorrect: FooFuture should require
where B: Bar
. It doesn't, somehow the compiler doesn't catch this, and then ICEs at codegen if you try to useFooFuture<u32>
because u32 is not Bar.playground
Meta
rustc --version --verbose
:Error output
Backtrace
``` Compiling playground v0.0.1 (/playground) thread 'rustc' panicked at 'called `Result::unwrap()` on an `Err` value: ErrorReported', compiler/rustc_monomorphize/src/collector.rs:894:84 stack backtrace: 0: rust_begin_unwind at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/panicking.rs:495:5 1: core::panicking::panic_fmt at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/core/src/panicking.rs:106:14 2: core::result::unwrap_failed at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/core/src/result.rs:1617:5 3: rustc_monomorphize::collector::collect_neighbours 4: rustc_monomorphize::collector::collect_items_rec 5: rustc_monomorphize::collector::collect_items_rec 6: rustc_monomorphize::collector::collect_items_rec 7: rustc_monomorphize::collector::collect_items_rec 8: rustc_monomorphize::collector::collect_items_rec 9: rustc_monomorphize::collector::collect_items_rec 10: rustc_monomorphize::collector::collect_items_rec 11: rustc_monomorphize::collector::collect_items_rec 12: rustc_monomorphize::collector::collect_items_rec 13:::time::<(), rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}>
14: rustc_monomorphize::collector::collect_crate_mono_items
15: rustc_monomorphize::partitioning::collect_and_partition_mono_items
16: rustc_query_system::query::plumbing::try_execute_query::>, &[rustc_middle::mir::mono::CodegenUnit])>>
17: rustc_query_system::query::plumbing::get_query::
18: ::collect_and_partition_mono_items
19: rustc_codegen_ssa::base::codegen_crate::
20: ::codegen_crate
21: ::time::, rustc_interface::passes::start_codegen::{closure#0}>
22: ::enter::<::ongoing_codegen::{closure#0}::{closure#0}, core::result::Result, rustc_errors::ErrorReported>>
23: ::ongoing_codegen
24: ::enter::, rustc_errors::ErrorReported>>
25: rustc_span::with_source_map::, rustc_interface::interface::create_compiler_and_run, rustc_driver::run_compiler::{closure#1}>::{closure#0}>
26: >::set::, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorReported>>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.58.0-nightly (c390d69a6 2021-10-28) running on x86_64-unknown-linux-gnu
note: compiler flags: -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 --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
error: internal compiler error: Encountered error `Unimplemented` selecting `Binder(, [])` during codegen
|
= note: delayed at compiler/rustc_trait_selection/src/traits/codegen.rs:68:32
thread 'rustc' panicked at 'no errors encountered even though `delay_span_bug` issued', compiler/rustc_errors/src/lib.rs:1167:13
stack backtrace:
0: 0x7f74068e076c - std::backtrace_rs::backtrace::libunwind::trace::hc6c3491277866fea
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7f74068e076c - std::backtrace_rs::backtrace::trace_unsynchronized::h4524f073368a5b13
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f74068e076c - std::sys_common::backtrace::_print_fmt::h0d0cace6159902af
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/sys_common/backtrace.rs:67:5
3: 0x7f74068e076c - ::fmt::h3e6af6f05919a7fc
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/sys_common/backtrace.rs:46:22
4: 0x7f740693d9ac - core::fmt::write::h72801a82c94e6ff1
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/core/src/fmt/mod.rs:1149:17
5: 0x7f74068d0e95 - std::io::Write::write_fmt::ha4f5d34aaccbac84
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/io/mod.rs:1696:15
6: 0x7f74068e39c0 - std::sys_common::backtrace::_print::heed69f5ce9a8e189
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/sys_common/backtrace.rs:49:5
7: 0x7f74068e39c0 - std::sys_common::backtrace::print::h5f3918bd80c09252
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/sys_common/backtrace.rs:36:9
8: 0x7f74068e39c0 - std::panicking::default_hook::{{closure}}::h5af30648530eb3d0
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/panicking.rs:210:50
9: 0x7f74068e356b - std::panicking::default_hook::he88d5fb1ba1b4c19
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/panicking.rs:227:9
10: 0x7f7407077e31 - rustc_driver[98914a17e63058c]::DEFAULT_HOOK::{closure#0}::{closure#0}
11: 0x7f74068e41d9 - std::panicking::rust_panic_with_hook::h01febc308b2b313b
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/panicking.rs:607:17
12: 0x7f74068e3c90 - std::panicking::begin_panic_handler::{{closure}}::h24a6d13f5560b71f
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/panicking.rs:499:13
13: 0x7f74068e0c14 - std::sys_common::backtrace::__rust_end_short_backtrace::h3e2917f0da9fbc5c
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/sys_common/backtrace.rs:139:18
14: 0x7f74068e3bf9 - rust_begin_unwind
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/panicking.rs:495:5
15: 0x7f74068a9151 - core::panicking::panic_fmt::h7b8580d81fcbbacd
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/core/src/panicking.rs:106:14
16: 0x7f7408182bac - core[cc79c391059f8e46]::panicking::panic_display::<&str>
17: 0x7f7409866666 - ::flush_delayed
18: 0x7f7409864d7d - ::drop
19: 0x7f7408f4a346 - core[cc79c391059f8e46]::ptr::drop_in_place::
20: 0x7f7408f4ca3a - as core[cc79c391059f8e46]::ops::drop::Drop>::drop
21: 0x7f7408f2786d - core[cc79c391059f8e46]::ptr::drop_in_place::
22: 0x7f7408f276e5 - rustc_span[b6a32fa5db97fd22]::with_source_map::, rustc_interface[71a95cb40f833645]::interface::create_compiler_and_run, rustc_driver[98914a17e63058c]::run_compiler::{closure#1}>::{closure#0}>
23: 0x7f7408f379c0 - >::set::, rustc_driver[98914a17e63058c]::run_compiler::{closure#1}>::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[932abaefb61eb634]::ErrorReported>>::{closure#0}::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[932abaefb61eb634]::ErrorReported>>
24: 0x7f7408f29a15 - std[fcea40badc263c8f]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver[98914a17e63058c]::run_compiler::{closure#1}>::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[932abaefb61eb634]::ErrorReported>>::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[932abaefb61eb634]::ErrorReported>>
25: 0x7f7408f4c0a2 - <::spawn_unchecked, rustc_driver[98914a17e63058c]::run_compiler::{closure#1}>::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[932abaefb61eb634]::ErrorReported>>::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[932abaefb61eb634]::ErrorReported>>::{closure#1} as core[cc79c391059f8e46]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
26: 0x7f74068ef4c3 - as core::ops::function::FnOnce>::call_once::hd81bd86213781012
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/alloc/src/boxed.rs:1691:9
27: 0x7f74068ef4c3 - as core::ops::function::FnOnce>::call_once::h7b3e346f5d8f6d6a
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/alloc/src/boxed.rs:1691:9
28: 0x7f74068ef4c3 - std::sys::unix::thread::Thread::new::thread_start::ha575792f17151d60
at /rustc/c390d69a615f095208ac94841f3310268521b2ee/library/std/src/sys/unix/thread.rs:106:17
29: 0x7f7406828609 - start_thread
30: 0x7f740673c293 - clone
31: 0x0 -
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.58.0-nightly (c390d69a6 2021-10-28) running on x86_64-unknown-linux-gnu
note: compiler flags: -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 --crate-type bin
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 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 -C metadata=b6855da70d22b117 -C extra-filename=-b6855da70d22b117 --out-dir /playground/target/debug/deps -L dependency=/playground/target/debug/deps --extern addr2line=/playground/target/debug/deps/libaddr2line-57dca319da409415.rlib --extern adler=/playground/target/debug/deps/libadler-ef7aea1c0a632ed5.rlib --extern adler32=/playground/target/debug/deps/libadler32-88b3d863e553f12a.rlib --extern ahash=/playground/target/debug/deps/libahash-3d30edb2f197bcc1.rlib --extern aho_corasick=/playground/target/debug/deps/libaho_corasick-6e6a6f34e39b3c51.rlib --extern ansi_term_0_11_0=/playground/target/debug/deps/libansi_term-f3162ca25925bbbc.rlib --extern ansi_term=/playground/target/debug/deps/libansi_term-2159b79c7c03c33b.rlib --extern anyhow=/playground/target/debug/deps/libanyhow-f163091ebea0bf6d.rlib --extern approx=/playground/target/debug/deps/libapprox-c000d63eea2962d7.rlib --extern arc_swap=/playground/target/debug/deps/libarc_swap-229c7223f9d117b5.rlib --extern arrayvec=/playground/target/debug/deps/libarrayvec-efd360c13d73e262.rlib --extern async_recursion=/playground/target/debug/deps/libasync_recursion-00c978b50853a1e6.so --extern async_trait=/playground/target/debug/deps/libasync_trait-efd1289ac06d9076.so --extern atty=/playground/target/debug/deps/libatty-f17150d767aa2aa3.rlib --extern autocfg=/playground/target/debug/deps/libautocfg-0fedd4b00cd8cfde.rlib --extern backtrace=/playground/target/debug/deps/libbacktrace-39b779627d7b6438.rlib --extern base64=/playground/target/debug/deps/libbase64-cfc95277467b3864.rlib --extern bit_set=/playground/target/debug/deps/libbit_set-3053369e5ab97a8d.rlib --extern bit_vec=/playground/target/debug/deps/libbit_vec-968c38f13f141e15.rlib --extern bitflags=/playground/target/debug/deps/libbitflags-de1f0b76046eea2a.rlib --extern block_buffer=/playground/target/debug/deps/libblock_buffer-846877a87c354fcf.rlib --extern bstr=/playground/target/debug/deps/libbstr-d6a5d9e9d210f367.rlib --extern bytemuck=/playground/target/debug/deps/libbytemuck-efd95db5ac0c94fd.rlib --extern byteorder=/playground/target/debug/deps/libbyteorder-36a6ae6c88126558.rlib --extern bytes=/playground/target/debug/deps/libbytes-6e05598c71bf2ce4.rlib --extern cc=/playground/target/debug/deps/libcc-d71044b8c9288a53.rlib --extern cfg_if_0_1_10=/playground/target/debug/deps/libcfg_if-8c3e31f5e1f73766.rlib --extern cfg_if=/playground/target/debug/deps/libcfg_if-5253e57569830399.rlib --extern chrono=/playground/target/debug/deps/libchrono-f7beda6352973108.rlib --extern clap=/playground/target/debug/deps/libclap-ca1dcbdf619d94f9.rlib --extern color_quant=/playground/target/debug/deps/libcolor_quant-aef1b2deff556d9b.rlib --extern cpufeatures=/playground/target/debug/deps/libcpufeatures-6819da34f82599f6.rlib --extern crc32fast=/playground/target/debug/deps/libcrc32fast-a9e117ef1f3013c4.rlib --extern crossbeam=/playground/target/debug/deps/libcrossbeam-46c056cf0c60e108.rlib --extern crossbeam_channel=/playground/target/debug/deps/libcrossbeam_channel-c9d352209ac8f9a7.rlib --extern crossbeam_deque=/playground/target/debug/deps/libcrossbeam_deque-28980e36bf93e302.rlib --extern crossbeam_epoch=/playground/target/debug/deps/libcrossbeam_epoch-5721f18695321e48.rlib --extern crossbeam_queue=/playground/target/debug/deps/libcrossbeam_queue-507eb457b9dce41a.rlib --extern crossbeam_utils=/playground/target/debug/deps/libcrossbeam_utils-0fcce16cf5c127a8.rlib --extern crypto_mac=/playground/target/debug/deps/libcrypto_mac-5fa871b1336b0ab5.rlib --extern csv=/playground/target/debug/deps/libcsv-6b47927e27964282.rlib --extern csv_core=/playground/target/debug/deps/libcsv_core-acfd2e4320e1929d.rlib --extern data_encoding=/playground/target/debug/deps/libdata_encoding-dc27914ccac23bde.rlib --extern deflate=/playground/target/debug/deps/libdeflate-c4cf0a1da32bbdfe.rlib --extern derivative=/playground/target/debug/deps/libderivative-2e4a3a7ebdaef485.so --extern digest=/playground/target/debug/deps/libdigest-52d8152835333097.rlib --extern dtoa=/playground/target/debug/deps/libdtoa-14adace6fe09bde6.rlib --extern either=/playground/target/debug/deps/libeither-9385b7aa28821a65.rlib --extern encoding_rs=/playground/target/debug/deps/libencoding_rs-1ec3e0f519f06d46.rlib --extern env_logger=/playground/target/debug/deps/libenv_logger-5eb2bc05984648ac.rlib --extern error_chain=/playground/target/debug/deps/liberror_chain-d5348c8e93d94eb5.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 filetime=/playground/target/debug/deps/libfiletime-e74097b8ded3015e.rlib --extern fixedbitset=/playground/target/debug/deps/libfixedbitset-370e556d0894ebec.rlib --extern flate2=/playground/target/debug/deps/libflate2-cd0a98b8cae9d5a3.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-12649d381e2544ae.rlib --extern futf=/playground/target/debug/deps/libfutf-fd020dc4260f6dbc.rlib --extern futures=/playground/target/debug/deps/libfutures-95b115ebfc2f44e6.rlib --extern futures_channel=/playground/target/debug/deps/libfutures_channel-702a6f6976e9bcc0.rlib --extern futures_core=/playground/target/debug/deps/libfutures_core-75d7e22a3d1bb5e7.rlib --extern futures_executor=/playground/target/debug/deps/libfutures_executor-a7e5613311bed589.rlib --extern futures_io=/playground/target/debug/deps/libfutures_io-41cc2bb9ae5cef13.rlib --extern futures_macro=/playground/target/debug/deps/libfutures_macro-da5e9c66d0267bc0.so --extern futures_sink=/playground/target/debug/deps/libfutures_sink-6fb5decbb6946791.rlib --extern futures_task=/playground/target/debug/deps/libfutures_task-e5e4f8997fb01360.rlib --extern futures_util=/playground/target/debug/deps/libfutures_util-48f9072bdaa2408b.rlib --extern generic_array=/playground/target/debug/deps/libgeneric_array-62c7ba7923e0a29a.rlib --extern getrandom_0_1_16=/playground/target/debug/deps/libgetrandom-49270c78695591dc.rlib --extern getrandom=/playground/target/debug/deps/libgetrandom-162a0e4ad1faad1b.rlib --extern gif=/playground/target/debug/deps/libgif-12adc352504923ea.rlib --extern gimli=/playground/target/debug/deps/libgimli-5e4889693117544d.rlib --extern glob=/playground/target/debug/deps/libglob-3e188ae16859c506.rlib --extern h2=/playground/target/debug/deps/libh2-9c23b442ae761b5d.rlib --extern hashbrown=/playground/target/debug/deps/libhashbrown-b840595832d08a4e.rlib --extern hashlink=/playground/target/debug/deps/libhashlink-6d0e166c1a160dfb.rlib --extern hmac=/playground/target/debug/deps/libhmac-a8383305c7adb521.rlib --extern html5ever=/playground/target/debug/deps/libhtml5ever-716742fc75966143.rlib --extern http=/playground/target/debug/deps/libhttp-c8338e8f6e3f91cd.rlib --extern http_body=/playground/target/debug/deps/libhttp_body-60f2bdc933a1ba56.rlib --extern httparse=/playground/target/debug/deps/libhttparse-0343d302852bfd5e.rlib --extern httpdate=/playground/target/debug/deps/libhttpdate-6e276491cfbce091.rlib --extern humantime=/playground/target/debug/deps/libhumantime-bcb137373d337ec0.rlib --extern hyper=/playground/target/debug/deps/libhyper-07fabfdce552b153.rlib --extern hyper_tls=/playground/target/debug/deps/libhyper_tls-9debb15f13111139.rlib --extern idna=/playground/target/debug/deps/libidna-6e145051664b89cb.rlib --extern image=/playground/target/debug/deps/libimage-58f67b9b3e2c05f2.rlib --extern indexmap=/playground/target/debug/deps/libindexmap-5310563f7f6850ad.rlib --extern instant=/playground/target/debug/deps/libinstant-d90784ddfa07f1be.rlib --extern ipnet=/playground/target/debug/deps/libipnet-a2c6ce50b20fb70a.rlib --extern itertools=/playground/target/debug/deps/libitertools-bba2509b5d58e709.rlib --extern itoa=/playground/target/debug/deps/libitoa-bda856047fedd8f8.rlib --extern jpeg_decoder=/playground/target/debug/deps/libjpeg_decoder-db3167418b097b80.rlib --extern lazy_static=/playground/target/debug/deps/liblazy_static-56f839fc5f97cc86.rlib --extern libc=/playground/target/debug/deps/liblibc-d1d27f50857f1efa.rlib --extern libm=/playground/target/debug/deps/liblibm-d2c691ad80c63701.rlib --extern libsqlite3_sys=/playground/target/debug/deps/liblibsqlite3_sys-4cb47f89541895ad.rlib --extern linked_hash_map=/playground/target/debug/deps/liblinked_hash_map-f70128bcbd8de949.rlib --extern lock_api=/playground/target/debug/deps/liblock_api-255f2e32c833e7b4.rlib --extern log=/playground/target/debug/deps/liblog-3ea39f4e757cabdd.rlib --extern log_mdc=/playground/target/debug/deps/liblog_mdc-8c9acbf18051a6d8.rlib --extern log4rs=/playground/target/debug/deps/liblog4rs-7b7e3c939fcb83c8.rlib --extern mac=/playground/target/debug/deps/libmac-5ef46c35d1d60ae2.rlib --extern markup5ever=/playground/target/debug/deps/libmarkup5ever-f059e29d19a45779.rlib --extern markup5ever_rcdom=/playground/target/debug/deps/libmarkup5ever_rcdom-3c9b9ab254c8da1e.rlib --extern matches=/playground/target/debug/deps/libmatches-94fda48e5e4c1005.rlib --extern matrixmultiply=/playground/target/debug/deps/libmatrixmultiply-09291edd90c62dcf.rlib --extern md5=/playground/target/debug/deps/libmd5-c0aa51ce3101e278.rlib --extern memchr=/playground/target/debug/deps/libmemchr-f98afaac2b23200a.rlib --extern memmap=/playground/target/debug/deps/libmemmap-e6ea97f9d601ac71.rlib --extern memoffset=/playground/target/debug/deps/libmemoffset-60b4e53329a7a062.rlib --extern mime=/playground/target/debug/deps/libmime-be254843d53468a4.rlib --extern miniz_oxide_0_3_7=/playground/target/debug/deps/libminiz_oxide-3f0683298da28c4f.rlib --extern miniz_oxide=/playground/target/debug/deps/libminiz_oxide-81cef754e657418c.rlib --extern mio=/playground/target/debug/deps/libmio-57e52853790d364f.rlib --extern nalgebra=/playground/target/debug/deps/libnalgebra-d996ac283f68fb15.rlib --extern nalgebra_macros=/playground/target/debug/deps/libnalgebra_macros-412fb6199d6d15be.so --extern native_tls=/playground/target/debug/deps/libnative_tls-57fa1970daee9ada.rlib --extern ndarray=/playground/target/debug/deps/libndarray-1817433ddc21dccd.rlib --extern net2=/playground/target/debug/deps/libnet2-242099c78779cedc.rlib --extern debug_unreachable=/playground/target/debug/deps/libdebug_unreachable-cc7ea61f7b47b527.rlib --extern num=/playground/target/debug/deps/libnum-e15216aa8c9b7a81.rlib --extern num_bigint=/playground/target/debug/deps/libnum_bigint-b1fbca71da84cedc.rlib --extern num_complex=/playground/target/debug/deps/libnum_complex-5fda52ec23effa72.rlib --extern num_integer=/playground/target/debug/deps/libnum_integer-4fb07cf55679ae1c.rlib --extern num_iter=/playground/target/debug/deps/libnum_iter-30366f5bac5e9769.rlib --extern num_rational_0_3_2=/playground/target/debug/deps/libnum_rational-c5dbd12d7e084141.rlib --extern num_rational=/playground/target/debug/deps/libnum_rational-42eec01ba9e9a890.rlib --extern num_traits=/playground/target/debug/deps/libnum_traits-ef4eda907710cc53.rlib --extern num_cpus=/playground/target/debug/deps/libnum_cpus-aaac07d3b3fbc1e9.rlib --extern object=/playground/target/debug/deps/libobject-1c94ea32452080f1.rlib --extern once_cell=/playground/target/debug/deps/libonce_cell-4f625b5ea98dbe62.rlib --extern opaque_debug=/playground/target/debug/deps/libopaque_debug-ab9ddb0f69438328.rlib --extern openssl=/playground/target/debug/deps/libopenssl-2936af1860edd592.rlib --extern openssl_probe=/playground/target/debug/deps/libopenssl_probe-5bd5ed1fcf2f67f6.rlib --extern openssl_sys=/playground/target/debug/deps/libopenssl_sys-053fdf4fdd54be98.rlib --extern ordered_float=/playground/target/debug/deps/libordered_float-77d258dd8200b47b.rlib --extern parking_lot=/playground/target/debug/deps/libparking_lot-d8aa2f0ac4a3842a.rlib --extern parking_lot_core=/playground/target/debug/deps/libparking_lot_core-b1f2997fb6a89672.rlib --extern paste=/playground/target/debug/deps/libpaste-1d007800db85bb25.so --extern percent_encoding=/playground/target/debug/deps/libpercent_encoding-431c76c01be24719.rlib --extern pest=/playground/target/debug/deps/libpest-5b994c69f9e934e9.rlib --extern petgraph=/playground/target/debug/deps/libpetgraph-03bd9eee7d11521a.rlib --extern phf=/playground/target/debug/deps/libphf-9bf22a8a90b775a9.rlib --extern phf_codegen=/playground/target/debug/deps/libphf_codegen-4b45c34c58e52089.rlib --extern phf_generator=/playground/target/debug/deps/libphf_generator-3deeacda3e113d65.rlib --extern phf_shared=/playground/target/debug/deps/libphf_shared-6ba73acfa4648529.rlib --extern pin_project=/playground/target/debug/deps/libpin_project-ee5eaf075fa30ab4.rlib --extern pin_project_internal=/playground/target/debug/deps/libpin_project_internal-6f99149f74dc8ec6.so --extern pin_project_lite=/playground/target/debug/deps/libpin_project_lite-507f0ddc461ac52a.rlib --extern pin_utils=/playground/target/debug/deps/libpin_utils-b0bf3f0688139ba1.rlib --extern pkg_config=/playground/target/debug/deps/libpkg_config-b9f036c91b0208e1.rlib --extern png=/playground/target/debug/deps/libpng-64f9599129298a59.rlib --extern postgres=/playground/target/debug/deps/libpostgres-38a9f11ce1d1df52.rlib --extern postgres_protocol=/playground/target/debug/deps/libpostgres_protocol-d749f7b21bb9e752.rlib --extern postgres_types=/playground/target/debug/deps/libpostgres_types-842540de150c21ef.rlib --extern ppv_lite86=/playground/target/debug/deps/libppv_lite86-b67f90ab267192fa.rlib --extern precomputed_hash=/playground/target/debug/deps/libprecomputed_hash-1298520f088678de.rlib --extern proc_macro_hack=/playground/target/debug/deps/libproc_macro_hack-91e0b1e0fa231bd6.so --extern proc_macro_nested=/playground/target/debug/deps/libproc_macro_nested-9a323edbb9ceaf9f.rlib --extern proc_macro2=/playground/target/debug/deps/libproc_macro2-80d66eaf413cd876.rlib --extern quick_error=/playground/target/debug/deps/libquick_error-65732850c28200f7.rlib --extern quote=/playground/target/debug/deps/libquote-3a7cff164be059f6.rlib --extern rand_0_7_3=/playground/target/debug/deps/librand-6949f331e9893845.rlib --extern rand=/playground/target/debug/deps/librand-0d4b189e2adce2c4.rlib --extern rand_chacha_0_2_2=/playground/target/debug/deps/librand_chacha-8ad52d5c6e548dc3.rlib --extern rand_chacha=/playground/target/debug/deps/librand_chacha-a4745d17f9d6b003.rlib --extern rand_core_0_5_1=/playground/target/debug/deps/librand_core-33a9f1b6b12702f1.rlib --extern rand_core=/playground/target/debug/deps/librand_core-c3d55faba6c71991.rlib --extern rand_distr=/playground/target/debug/deps/librand_distr-bd5826dc2e592b8a.rlib --extern rand_hc=/playground/target/debug/deps/librand_hc-c6e70507d41d212a.rlib --extern rand_pcg=/playground/target/debug/deps/librand_pcg-020af5cf5ddca123.rlib --extern rawpointer=/playground/target/debug/deps/librawpointer-63eb1bba55566369.rlib --extern rayon=/playground/target/debug/deps/librayon-6f1c65b5778248ee.rlib --extern rayon_core=/playground/target/debug/deps/librayon_core-6f91bbcee2a454eb.rlib --extern regex=/playground/target/debug/deps/libregex-e7f680424f0e5892.rlib --extern regex_automata=/playground/target/debug/deps/libregex_automata-6c0118ae8f4b0501.rlib --extern regex_syntax=/playground/target/debug/deps/libregex_syntax-bf3087c853715238.rlib --extern remove_dir_all=/playground/target/debug/deps/libremove_dir_all-6db8331ec1c4e72f.rlib --extern reqwest=/playground/target/debug/deps/libreqwest-3583b1cb6e80e0be.rlib --extern ring=/playground/target/debug/deps/libring-9243fda75334b245.rlib --extern rusqlite=/playground/target/debug/deps/librusqlite-604a3d73261a9a52.rlib --extern rustc_demangle=/playground/target/debug/deps/librustc_demangle-57fef8ec284fa01a.rlib --extern rustc_version=/playground/target/debug/deps/librustc_version-7ff528eab49435cb.rlib --extern ryu=/playground/target/debug/deps/libryu-bdb837b197ad7926.rlib --extern safe_arch=/playground/target/debug/deps/libsafe_arch-f3da7a44a0c398d1.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-de69bf2acb45db77.rlib --extern semver=/playground/target/debug/deps/libsemver-cdd44e1024de9a25.rlib --extern semver_parser=/playground/target/debug/deps/libsemver_parser-fa22a77381d4b647.rlib --extern serde=/playground/target/debug/deps/libserde-bf0c271f1c26f688.rlib --extern serde_value=/playground/target/debug/deps/libserde_value-50ca64038b6d607c.rlib --extern serde_derive=/playground/target/debug/deps/libserde_derive-ac0d65ece1f3bf91.so --extern serde_json=/playground/target/debug/deps/libserde_json-3e8036ba26686e80.rlib --extern serde_urlencoded=/playground/target/debug/deps/libserde_urlencoded-2c1fd409f0296601.rlib --extern serde_yaml=/playground/target/debug/deps/libserde_yaml-e22425e8650351ee.rlib --extern sha2=/playground/target/debug/deps/libsha2-6422266105f55615.rlib --extern simba=/playground/target/debug/deps/libsimba-dd2eb3b8adb7e823.rlib --extern siphasher=/playground/target/debug/deps/libsiphasher-b6df8905083949f8.rlib --extern slab=/playground/target/debug/deps/libslab-a613e78273e2994c.rlib --extern smallvec=/playground/target/debug/deps/libsmallvec-babc01fe749f5dc1.rlib --extern smawk=/playground/target/debug/deps/libsmawk-6ed7cfb7fa793e0c.rlib --extern socket2=/playground/target/debug/deps/libsocket2-a623f7013fd42b7c.rlib --extern spin=/playground/target/debug/deps/libspin-4d2c7b2ce1e7d317.rlib --extern string_cache=/playground/target/debug/deps/libstring_cache-967cc4709c36c415.rlib --extern string_cache_codegen=/playground/target/debug/deps/libstring_cache_codegen-1929c6bb3a71a3e2.rlib --extern stringprep=/playground/target/debug/deps/libstringprep-a2cd177617066afe.rlib --extern strsim_0_8_0=/playground/target/debug/deps/libstrsim-de24b5a82a358084.rlib --extern strsim=/playground/target/debug/deps/libstrsim-f8a23f77c73daaa0.rlib --extern subtle=/playground/target/debug/deps/libsubtle-e4d742d62e753012.rlib --extern syn=/playground/target/debug/deps/libsyn-171c29c041c8ddff.rlib --extern tar=/playground/target/debug/deps/libtar-00272b183f869d57.rlib --extern tempfile=/playground/target/debug/deps/libtempfile-0a37bd82d6cd9d9b.rlib --extern tendril=/playground/target/debug/deps/libtendril-0f1e7e0ad92436f6.rlib --extern termcolor=/playground/target/debug/deps/libtermcolor-ac34df5ab449410c.rlib --extern textwrap_0_11_0=/playground/target/debug/deps/libtextwrap-a1244e561e912773.rlib --extern textwrap=/playground/target/debug/deps/libtextwrap-3fe247f3ade8a176.rlib --extern thiserror=/playground/target/debug/deps/libthiserror-4df27ea74a4c44cb.rlib --extern thiserror_impl=/playground/target/debug/deps/libthiserror_impl-17323ab4fbb03087.so --extern thread_id=/playground/target/debug/deps/libthread_id-5af57dee44a9e5b5.rlib --extern thread_local=/playground/target/debug/deps/libthread_local-ff6c52c3d6835455.rlib --extern threadpool=/playground/target/debug/deps/libthreadpool-4f79d8209f0a1deb.rlib --extern tiff=/playground/target/debug/deps/libtiff-1502d689e2206828.rlib --extern time_0_1_44=/playground/target/debug/deps/libtime-58c8b2f7324be800.rlib --extern time=/playground/target/debug/deps/libtime-1a06cb39e8a413f4.rlib --extern tinyvec=/playground/target/debug/deps/libtinyvec-41ae46c02ad7d836.rlib --extern tinyvec_macros=/playground/target/debug/deps/libtinyvec_macros-8f36f65da14d810a.rlib --extern tokio=/playground/target/debug/deps/libtokio-c2dc62c50952c91b.rlib --extern tokio_native_tls=/playground/target/debug/deps/libtokio_native_tls-914e02f50a83d882.rlib --extern tokio_postgres=/playground/target/debug/deps/libtokio_postgres-9b8fe8eb4c7e0fbb.rlib --extern tokio_util=/playground/target/debug/deps/libtokio_util-2ef05af878ffc864.rlib --extern toml=/playground/target/debug/deps/libtoml-022f9a9d5d3b5d1e.rlib --extern tower_service=/playground/target/debug/deps/libtower_service-c041688e0e20bd6a.rlib --extern tracing=/playground/target/debug/deps/libtracing-a413000bee2602be.rlib --extern tracing_core=/playground/target/debug/deps/libtracing_core-02da3ee34dc0460e.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-ac7db95e6f79cdd3.rlib --extern ucd_trie=/playground/target/debug/deps/libucd_trie-93387f8d9b9d3865.rlib --extern unicase=/playground/target/debug/deps/libunicase-5f5e7ca06c6ec24d.rlib --extern unicode_bidi=/playground/target/debug/deps/libunicode_bidi-6b3996bc223fd7fa.rlib --extern unicode_linebreak=/playground/target/debug/deps/libunicode_linebreak-fd5a1dd624037406.rlib --extern unicode_normalization=/playground/target/debug/deps/libunicode_normalization-6682d8efcc006850.rlib --extern unicode_segmentation=/playground/target/debug/deps/libunicode_segmentation-84fad06bf49b6f83.rlib --extern unicode_width=/playground/target/debug/deps/libunicode_width-89b03b59aa6daeee.rlib --extern unicode_xid=/playground/target/debug/deps/libunicode_xid-e62049c489d25ae7.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-4d1789bc1b432d93.rlib --extern utf8=/playground/target/debug/deps/libutf8-8dc7fb5a31151cba.rlib --extern vec_map=/playground/target/debug/deps/libvec_map-d4f07e9e0554b315.rlib --extern version_check=/playground/target/debug/deps/libversion_check-0914641c3c545b20.rlib --extern walkdir=/playground/target/debug/deps/libwalkdir-5f8042bccd6ce967.rlib --extern want=/playground/target/debug/deps/libwant-c87cf57b9785a1a3.rlib --extern weezl=/playground/target/debug/deps/libweezl-d16c0a64cf685d9c.rlib --extern wide=/playground/target/debug/deps/libwide-19b532deb18b9409.rlib --extern winapi=/playground/target/debug/deps/libwinapi-816acb549345e22d.rlib --extern xattr=/playground/target/debug/deps/libxattr-95408f9a26b8f42a.rlib --extern xml5ever=/playground/target/debug/deps/libxml5ever-3d48d435b90efb74.rlib --extern yaml_rust=/playground/target/debug/deps/libyaml_rust-4b0c1291d8cc95ca.rlib -L native=/playground/target/debug/build/libsqlite3-sys-cfd0717c619c8d26/out -L native=/playground/target/debug/build/ring-63ec69c22291d426/out` (signal: 4, SIGILL: illegal instruction)
```