Skip to content

ICEs and transmutes in safe Rust with associated_type_defaults and generic_associated_types #74816

Closed
@steffahn

Description

@steffahn
#![feature(associated_type_defaults)]
#![feature(generic_associated_types)]
#![allow(incomplete_features)]

trait Trait1 {
    fn foo();
}

trait Trait2 {
    type Associated: Trait1 = Self;
}

impl Trait2 for () {}

fn call_foo<T: Trait2>() {
    T::Associated::foo()
}

fn main() {
    call_foo::<()>()
}

(Playground)

Errors:

   Compiling playground v0.0.1 (/playground)
thread 'rustc' panicked at 'called `Result::unwrap()` on an `Err` value: ErrorReported', src/librustc_mir/monomorphize/collector.rs:722:84
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.47.0-nightly (6c8927b0c 2020-07-26) 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

error: internal compiler error: Encountered error `Unimplemented` selecting `Binder(<() as Trait1>)` during codegen
  |
  = note: delayed at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/librustc_session/session.rs:436:27

thread 'rustc' panicked at 'no errors encountered even though `delay_span_bug` issued', src/librustc_errors/lib.rs:366:17
stack backtrace:
   0:     0x7f99ed90b215 - backtrace::backtrace::libunwind::trace::h75aedf5f78e5147f
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
   1:     0x7f99ed90b215 - backtrace::backtrace::trace_unsynchronized::h18fb73c9ac9ae753
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
   2:     0x7f99ed90b215 - std::sys_common::backtrace::_print_fmt::h65f97470ff13ec84
                               at src/libstd/sys_common/backtrace.rs:78
   3:     0x7f99ed90b215 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hee061c54ddc9f024
                               at src/libstd/sys_common/backtrace.rs:59
   4:     0x7f99ed94741c - core::fmt::write::hfbd2baad61ed21a8
                               at src/libcore/fmt/mod.rs:1117
   5:     0x7f99ed8fcf52 - std::io::Write::write_fmt::h72f9bd227f40dc62
                               at src/libstd/io/mod.rs:1508
   6:     0x7f99ed9100b0 - std::sys_common::backtrace::_print::h2d2cd8fe02feb5fa
                               at src/libstd/sys_common/backtrace.rs:62
   7:     0x7f99ed9100b0 - std::sys_common::backtrace::print::h801b12991252ba7c
                               at src/libstd/sys_common/backtrace.rs:49
   8:     0x7f99ed9100b0 - std::panicking::default_hook::{{closure}}::h25fc1fbf3b63b5c8
                               at src/libstd/panicking.rs:198
   9:     0x7f99ed90fdfc - std::panicking::default_hook::h62c897957a5e0f26
                               at src/libstd/panicking.rs:217
  10:     0x7f99ee094719 - rustc_driver::report_ice::h54e3b417084b44b0
  11:     0x7f99ed910828 - std::panicking::rust_panic_with_hook::hb8a276f163c59810
                               at src/libstd/panicking.rs:530
  12:     0x7f99f0c4281e - std::panicking::begin_panic::h153d579aeb536459
  13:     0x7f99f0c764d2 - <rustc_errors::HandlerInner as core::ops::drop::Drop>::drop::h034d0923c0910956
  14:     0x7f99ee0d8e26 - core::ptr::drop_in_place::hbd983241884bba55
  15:     0x7f99ee0dd5a6 - <alloc::rc::Rc<T> as core::ops::drop::Drop>::drop::h275f461ab738eaba
  16:     0x7f99ee0f556d - core::ptr::drop_in_place::hbcfd671e22c96cdd
  17:     0x7f99ee0ee7b4 - rustc_span::with_source_map::hd3215c6d07150bbc
  18:     0x7f99ee050fb6 - rustc_interface::interface::create_compiler_and_run::hc502b394ead637d1
  19:     0x7f99ee07a32d - scoped_tls::ScopedKey<T>::set::hb09c39dbfa5a4396
  20:     0x7f99ee0a04a2 - std::sys_common::backtrace::__rust_begin_short_backtrace::h4fa4ac8c571754e6
  21:     0x7f99ee05d26e - core::ops::function::FnOnce::call_once{{vtable.shim}}::h23cc72206c0cf83b
  22:     0x7f99ed91ed3a - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h3e41d894970cea2f
                               at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/liballoc/boxed.rs:1074
  23:     0x7f99ed91ed3a - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h9a318bb00b7f8871
                               at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/liballoc/boxed.rs:1074
  24:     0x7f99ed91ed3a - std::sys::unix::thread::Thread::new::thread_start::hf522342530b04cb6
                               at src/libstd/sys/unix/thread.rs:87
  25:     0x7f99ed879609 - start_thread
  26:     0x7f99ed78d103 - __clone
  27:                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%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.47.0-nightly (6c8927b0c 2020-07-26) 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

thread panicked while panicking. aborting.
error: could not compile `playground`.

Caused by:
  process didn't exit successfully: `rustc --crate-name playground --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -Cembed-bitcode=no -C codegen-units=1 -C debuginfo=2 -C metadata=34fafd407811ed5f -C extra-filename=-34fafd407811ed5f --out-dir /playground/target/debug/deps -L dependency=/playground/target/debug/deps --extern addr2line=/playground/target/debug/deps/libaddr2line-09cd402dfa263d63.rlib --extern adler=/playground/target/debug/deps/libadler-1d19c065becb43a9.rlib --extern adler32=/playground/target/debug/deps/libadler32-1e2c19a11a285018.rlib --extern aho_corasick=/playground/target/debug/deps/libaho_corasick-97990c62e415b879.rlib --extern ansi_term_0_11_0=/playground/target/debug/deps/libansi_term-f9c36064041e035b.rlib --extern ansi_term=/playground/target/debug/deps/libansi_term-15d8665e3f7d7651.rlib --extern approx=/playground/target/debug/deps/libapprox-9bb123a617349fd5.rlib --extern arc_swap=/playground/target/debug/deps/libarc_swap-727cc1ebd93fbcf6.rlib --extern arrayvec=/playground/target/debug/deps/libarrayvec-8ec31b6df4b3bb41.rlib --extern async_trait=/playground/target/debug/deps/libasync_trait-4dfe7f1b37301b74.so --extern atty=/playground/target/debug/deps/libatty-019853330f6cf0dd.rlib --extern autocfg=/playground/target/debug/deps/libautocfg-dd4c1d2c6abe00ef.rlib --extern backtrace=/playground/target/debug/deps/libbacktrace-0dc91369894b95f6.rlib --extern backtrace_sys=/playground/target/debug/deps/libbacktrace_sys-1c37641c4b65c031.rlib --extern base64=/playground/target/debug/deps/libbase64-e8aa598c59cea85d.rlib --extern bit_set=/playground/target/debug/deps/libbit_set-42c45fa812545a5f.rlib --extern bit_vec=/playground/target/debug/deps/libbit_vec-7df4504d4542a0f6.rlib --extern bitflags=/playground/target/debug/deps/libbitflags-7f22ae8a7a63e41a.rlib --extern block_buffer=/playground/target/debug/deps/libblock_buffer-063bb209ffda2529.rlib --extern bstr=/playground/target/debug/deps/libbstr-6b17dcbad32de9c9.rlib --extern bytemuck=/playground/target/debug/deps/libbytemuck-226bdbd319141bf5.rlib --extern byteorder=/playground/target/debug/deps/libbyteorder-8a38b4bed5c0c4bd.rlib --extern bytes=/playground/target/debug/deps/libbytes-02d7ccab3f53427e.rlib --extern cc=/playground/target/debug/deps/libcc-ab832bb8d2584f58.rlib --extern cfg_if=/playground/target/debug/deps/libcfg_if-5e63651c0fbcfb9f.rlib --extern chrono=/playground/target/debug/deps/libchrono-a983f4b0fcb9dfe9.rlib --extern clap=/playground/target/debug/deps/libclap-4765bfa2ec303e78.rlib --extern color_quant=/playground/target/debug/deps/libcolor_quant-122ea42d6a7f28aa.rlib --extern cpuid_bool=/playground/target/debug/deps/libcpuid_bool-28a27ec781541af3.rlib --extern crc32fast=/playground/target/debug/deps/libcrc32fast-9b88c1157c315385.rlib --extern crossbeam=/playground/target/debug/deps/libcrossbeam-4ba79ba2b8c147fa.rlib --extern crossbeam_channel=/playground/target/debug/deps/libcrossbeam_channel-53aad1bff5ad8dcc.rlib --extern crossbeam_deque=/playground/target/debug/deps/libcrossbeam_deque-cfdd21c3d3647481.rlib --extern crossbeam_epoch=/playground/target/debug/deps/libcrossbeam_epoch-febcf779058f0587.rlib --extern crossbeam_queue=/playground/target/debug/deps/libcrossbeam_queue-ca0bb93159850f30.rlib --extern crossbeam_utils=/playground/target/debug/deps/libcrossbeam_utils-169fe6650f664b8d.rlib --extern crypto_mac=/playground/target/debug/deps/libcrypto_mac-c4605a477762f4ea.rlib --extern csv=/playground/target/debug/deps/libcsv-d9c1a34249153b47.rlib --extern csv_core=/playground/target/debug/deps/libcsv_core-bbe762330a0d2ac9.rlib --extern data_encoding=/playground/target/debug/deps/libdata_encoding-21f799362d6c856f.rlib --extern deflate=/playground/target/debug/deps/libdeflate-eac75042a448ccd2.rlib --extern digest=/playground/target/debug/deps/libdigest-3222022feda792e4.rlib --extern dtoa=/playground/target/debug/deps/libdtoa-e4e5fdc7fb258f94.rlib --extern either=/playground/target/debug/deps/libeither-3a8498ca2e15ad22.rlib --extern encoding_rs=/playground/target/debug/deps/libencoding_rs-545ac8c1ab645139.rlib --extern env_logger=/playground/target/debug/deps/libenv_logger-d4b4a2292ea79fcd.rlib --extern error_chain=/playground/target/debug/deps/liberror_chain-2dc77c3f4a4b8b6b.rlib --extern failure=/playground/target/debug/deps/libfailure-758f9ffed6170ca2.rlib --extern failure_derive=/playground/target/debug/deps/libfailure_derive-b88b4f422aa3adcb.so --extern fallible_iterator=/playground/target/debug/deps/libfallible_iterator-e548a5a99dc09c73.rlib --extern fallible_streaming_iterator=/playground/target/debug/deps/libfallible_streaming_iterator-e99995182f8e1279.rlib --extern filetime=/playground/target/debug/deps/libfiletime-b9b22bd9fcc558d4.rlib --extern fixedbitset=/playground/target/debug/deps/libfixedbitset-ddd48c419fefc266.rlib --extern flate2=/playground/target/debug/deps/libflate2-b2fea07c820ccaca.rlib --extern fnv=/playground/target/debug/deps/libfnv-e0e52c5a340af4ba.rlib --extern foreign_types=/playground/target/debug/deps/libforeign_types-78b988299081dd51.rlib --extern foreign_types_shared=/playground/target/debug/deps/libforeign_types_shared-601cc5361813bb55.rlib --extern futf=/playground/target/debug/deps/libfutf-f6a09f665d3fb4cc.rlib --extern futures=/playground/target/debug/deps/libfutures-499e0c2881eb5af7.rlib --extern futures_channel=/playground/target/debug/deps/libfutures_channel-1c4550d0595ab1b2.rlib --extern futures_core=/playground/target/debug/deps/libfutures_core-7e277a7a9bcf7bbf.rlib --extern futures_executor=/playground/target/debug/deps/libfutures_executor-db9acddf800d1834.rlib --extern futures_io=/playground/target/debug/deps/libfutures_io-dc7261a8cf3bde9f.rlib --extern futures_macro=/playground/target/debug/deps/libfutures_macro-b71a244e59479658.so --extern futures_sink=/playground/target/debug/deps/libfutures_sink-95d26c5ec544fda9.rlib --extern futures_task=/playground/target/debug/deps/libfutures_task-a244fb88ae606bb5.rlib --extern futures_util=/playground/target/debug/deps/libfutures_util-b93ff591e50d4ed9.rlib --extern generic_array_0_13_2=/playground/target/debug/deps/libgeneric_array-3f0d9c67ba717b6e.rlib --extern generic_array=/playground/target/debug/deps/libgeneric_array-a199e49f32bad737.rlib --extern getrandom=/playground/target/debug/deps/libgetrandom-82d2bd061e5f1d37.rlib --extern gif=/playground/target/debug/deps/libgif-018cd4520a2598f1.rlib --extern gimli=/playground/target/debug/deps/libgimli-4ca7ec4cc9cabe1d.rlib --extern glob=/playground/target/debug/deps/libglob-f7ca6c4884f26824.rlib --extern h2=/playground/target/debug/deps/libh2-90492a2fe36a6ba5.rlib --extern hmac=/playground/target/debug/deps/libhmac-7af6279260854045.rlib --extern html5ever=/playground/target/debug/deps/libhtml5ever-6380e523df93dd86.rlib --extern http=/playground/target/debug/deps/libhttp-05c116b859ba5661.rlib --extern http_body=/playground/target/debug/deps/libhttp_body-a1e57ae86d7b162c.rlib --extern httparse=/playground/target/debug/deps/libhttparse-71524113cf32e47e.rlib --extern humantime=/playground/target/debug/deps/libhumantime-6a5f421d01cf818b.rlib --extern hyper=/playground/target/debug/deps/libhyper-f03fd02ce918aeba.rlib --extern hyper_tls=/playground/target/debug/deps/libhyper_tls-108549c1163dd0cc.rlib --extern idna=/playground/target/debug/deps/libidna-1d86336da7813c7c.rlib --extern image=/playground/target/debug/deps/libimage-6d0fc9083dddccde.rlib --extern indexmap=/playground/target/debug/deps/libindexmap-e13aea84d165ad27.rlib --extern instant=/playground/target/debug/deps/libinstant-8813537e16353ac0.rlib --extern iovec=/playground/target/debug/deps/libiovec-ce411daaf8037a65.rlib --extern itertools=/playground/target/debug/deps/libitertools-a409a6a183375d7c.rlib --extern itoa=/playground/target/debug/deps/libitoa-6af6cff95d58e105.rlib --extern jpeg_decoder=/playground/target/debug/deps/libjpeg_decoder-9c52f2f1c1b3c939.rlib --extern kernel32=/playground/target/debug/deps/libkernel32-e7c059900dde345e.rlib --extern lazy_static=/playground/target/debug/deps/liblazy_static-4655d28019c9fdac.rlib --extern libc=/playground/target/debug/deps/liblibc-5bea7586dce7bf8d.rlib --extern libm=/playground/target/debug/deps/liblibm-d12e6c34e19b75bf.rlib --extern libsqlite3_sys=/playground/target/debug/deps/liblibsqlite3_sys-a04b3613dc4ffd3a.rlib --extern linked_hash_map=/playground/target/debug/deps/liblinked_hash_map-54665a8bd4f1c14f.rlib --extern lock_api_0_3_4=/playground/target/debug/deps/liblock_api-13f4bd93acec1758.rlib --extern lock_api=/playground/target/debug/deps/liblock_api-9aed973cbb02302d.rlib --extern log=/playground/target/debug/deps/liblog-919fb5e36f9e1b81.rlib --extern log_mdc=/playground/target/debug/deps/liblog_mdc-bb72d33d650763c0.rlib --extern log4rs=/playground/target/debug/deps/liblog4rs-fefc6f7e949d18e9.rlib --extern lru_cache=/playground/target/debug/deps/liblru_cache-50567c107d7947e7.rlib --extern lzw=/playground/target/debug/deps/liblzw-8e3b23eaba63cfcd.rlib --extern mac=/playground/target/debug/deps/libmac-2389befa9c8ca136.rlib --extern markup5ever=/playground/target/debug/deps/libmarkup5ever-8d6b63cfc1e3c3f4.rlib --extern markup5ever_rcdom=/playground/target/debug/deps/libmarkup5ever_rcdom-c65267322ca2833f.rlib --extern matches=/playground/target/debug/deps/libmatches-1a4c49e17b6bc9de.rlib --extern matrixmultiply=/playground/target/debug/deps/libmatrixmultiply-a8b775e7358be4ae.rlib --extern maybe_uninit=/playground/target/debug/deps/libmaybe_uninit-c118cddd73862e9d.rlib --extern md5=/playground/target/debug/deps/libmd5-a086d500cb772bca.rlib --extern memchr=/playground/target/debug/deps/libmemchr-072eef9a85b28763.rlib --extern memmap=/playground/target/debug/deps/libmemmap-21172c5322cea41b.rlib --extern memoffset=/playground/target/debug/deps/libmemoffset-7faf44aa1905f8a4.rlib --extern mime=/playground/target/debug/deps/libmime-cace8d7394c258b1.rlib --extern mime_guess=/playground/target/debug/deps/libmime_guess-b5304a422ecb95d3.rlib --extern miniz_oxide_0_3_7=/playground/target/debug/deps/libminiz_oxide-874405e718c07fdc.rlib --extern miniz_oxide=/playground/target/debug/deps/libminiz_oxide-832f3b115c8cb0eb.rlib --extern mio_0_6_22=/playground/target/debug/deps/libmio-53f7029183071df7.rlib --extern mio=/playground/target/debug/deps/libmio-be6cf5d13274b2cd.rlib --extern mio_uds=/playground/target/debug/deps/libmio_uds-be2199f6b7994e2a.rlib --extern nalgebra=/playground/target/debug/deps/libnalgebra-8921753d6304202d.rlib --extern native_tls=/playground/target/debug/deps/libnative_tls-4c424bc36ef26df8.rlib --extern ndarray=/playground/target/debug/deps/libndarray-6dea2cdf74d2626e.rlib --extern net2=/playground/target/debug/deps/libnet2-fac475245849a736.rlib --extern debug_unreachable=/playground/target/debug/deps/libdebug_unreachable-cfaa89fb0a824a04.rlib --extern nodrop=/playground/target/debug/deps/libnodrop-79d9c492b7dba4b1.rlib --extern num=/playground/target/debug/deps/libnum-e4366089c72a0785.rlib --extern num_bigint=/playground/target/debug/deps/libnum_bigint-8fd95bb21d1755ae.rlib --extern num_complex_0_2_4=/playground/target/debug/deps/libnum_complex-6738ca89d0ec2710.rlib --extern num_complex=/playground/target/debug/deps/libnum_complex-e59382dc35447343.rlib --extern num_integer=/playground/target/debug/deps/libnum_integer-3cf472f8ad28d07c.rlib --extern num_iter=/playground/target/debug/deps/libnum_iter-bf747a696f239f8c.rlib --extern num_rational_0_2_4=/playground/target/debug/deps/libnum_rational-401a09464b79a766.rlib --extern num_rational=/playground/target/debug/deps/libnum_rational-1b317d07cb4f11b5.rlib --extern num_traits=/playground/target/debug/deps/libnum_traits-5efc2b67991f5a2a.rlib --extern num_cpus=/playground/target/debug/deps/libnum_cpus-3b51f588c19f5ea3.rlib --extern object=/playground/target/debug/deps/libobject-2687b955042bdd85.rlib --extern once_cell=/playground/target/debug/deps/libonce_cell-e7e58b16b7f86c1c.rlib --extern opaque_debug=/playground/target/debug/deps/libopaque_debug-fdc9ccbb9d15ca1b.rlib --extern openssl=/playground/target/debug/deps/libopenssl-5a5db9da4b56b49d.rlib --extern openssl_probe=/playground/target/debug/deps/libopenssl_probe-8d1abe6efdf061b7.rlib --extern openssl_sys=/playground/target/debug/deps/libopenssl_sys-1c02b7c8c613a3b0.rlib --extern ordered_float=/playground/target/debug/deps/libordered_float-77cb4f338cef3240.rlib --extern parking_lot_0_10_2=/playground/target/debug/deps/libparking_lot-e22422216338d06f.rlib --extern parking_lot=/playground/target/debug/deps/libparking_lot-3db8f717423cbb44.rlib --extern parking_lot_core_0_7_2=/playground/target/debug/deps/libparking_lot_core-e9631fb522852f99.rlib --extern parking_lot_core=/playground/target/debug/deps/libparking_lot_core-3911c5195b306205.rlib --extern paste=/playground/target/debug/deps/libpaste-1d47e16aa4958841.rlib --extern paste_impl=/playground/target/debug/deps/libpaste_impl-7336d0d4b82d156b.so --extern percent_encoding=/playground/target/debug/deps/libpercent_encoding-ed0297d36a2dcba8.rlib --extern petgraph=/playground/target/debug/deps/libpetgraph-ed67d6a6083e1ed2.rlib --extern phf=/playground/target/debug/deps/libphf-b4bfb55a6d8c7754.rlib --extern phf_codegen=/playground/target/debug/deps/libphf_codegen-8b1df9dc61afd6f5.rlib --extern phf_generator=/playground/target/debug/deps/libphf_generator-9024610cb3bc042a.rlib --extern phf_shared=/playground/target/debug/deps/libphf_shared-7049ef6deb896e40.rlib --extern pin_project=/playground/target/debug/deps/libpin_project-e7793e3197433176.rlib --extern pin_project_internal=/playground/target/debug/deps/libpin_project_internal-da7406524791f3e6.so --extern pin_project_lite=/playground/target/debug/deps/libpin_project_lite-364e944e1d4b3b28.rlib --extern pin_utils=/playground/target/debug/deps/libpin_utils-e795fd1d5f077263.rlib --extern pkg_config=/playground/target/debug/deps/libpkg_config-cda2083dead04b3c.rlib --extern png=/playground/target/debug/deps/libpng-cb27cfdcd7a388b0.rlib --extern postgres=/playground/target/debug/deps/libpostgres-720f5377eb43a43f.rlib --extern postgres_protocol=/playground/target/debug/deps/libpostgres_protocol-cdd64ffd95684fd1.rlib --extern postgres_types=/playground/target/debug/deps/libpostgres_types-0ef7360c3830c92c.rlib --extern ppv_lite86=/playground/target/debug/deps/libppv_lite86-bbba14bbacec6f8e.rlib --extern precomputed_hash=/playground/target/debug/deps/libprecomputed_hash-db277b190262067a.rlib --extern proc_macro_hack=/playground/target/debug/deps/libproc_macro_hack-0ed88efccc84f714.so --extern proc_macro_nested=/playground/target/debug/deps/libproc_macro_nested-60fd7d175879d9c2.rlib --extern proc_macro2=/playground/target/debug/deps/libproc_macro2-57c5f3640eefcec9.rlib --extern quick_error=/playground/target/debug/deps/libquick_error-a899ce1a2ed5904a.rlib --extern quote=/playground/target/debug/deps/libquote-3c78d8093096821b.rlib --extern rand=/playground/target/debug/deps/librand-cbf3ca8b2417ad36.rlib --extern rand_chacha=/playground/target/debug/deps/librand_chacha-d3f8c4336e8003e9.rlib --extern rand_core=/playground/target/debug/deps/librand_core-8072ed5499a97a7e.rlib --extern rand_distr=/playground/target/debug/deps/librand_distr-8b801c44720b2981.rlib --extern rand_hc=/playground/target/debug/deps/librand_hc-72d8dfe2b12f1405.rlib --extern rand_pcg=/playground/target/debug/deps/librand_pcg-81a31ac4e6d43df4.rlib --extern rand_xorshift=/playground/target/debug/deps/librand_xorshift-3b44d3f96b0dba7c.rlib --extern rawpointer=/playground/target/debug/deps/librawpointer-92001921fa0853a3.rlib --extern rayon=/playground/target/debug/deps/librayon-a13aa86f494968f8.rlib --extern rayon_core=/playground/target/debug/deps/librayon_core-34ada3380b210645.rlib --extern regex=/playground/target/debug/deps/libregex-db90baf4c16e6a0e.rlib --extern regex_automata=/playground/target/debug/deps/libregex_automata-f4b2a84180507c62.rlib --extern regex_syntax=/playground/target/debug/deps/libregex_syntax-315d46249de278db.rlib --extern remove_dir_all=/playground/target/debug/deps/libremove_dir_all-a7be871789289062.rlib --extern reqwest=/playground/target/debug/deps/libreqwest-bf2d510e3f52fed9.rlib --extern ring=/playground/target/debug/deps/libring-076090952f0e49de.rlib --extern rusqlite=/playground/target/debug/deps/librusqlite-795d9e9834543f89.rlib --extern rustc_demangle=/playground/target/debug/deps/librustc_demangle-b3d51e76aa74aedb.rlib --extern rustc_serialize=/playground/target/debug/deps/librustc_serialize-5a39841c4b19bd4e.rlib --extern rustc_version=/playground/target/debug/deps/librustc_version-b4788c4c5c3639f2.rlib --extern ryu=/playground/target/debug/deps/libryu-dc5e41a94bf7c57f.rlib --extern same_file=/playground/target/debug/deps/libsame_file-79d6119a8df5b722.rlib --extern scoped_threadpool=/playground/target/debug/deps/libscoped_threadpool-ee96da93a4c5d779.rlib --extern scopeguard=/playground/target/debug/deps/libscopeguard-bac2c3bc56c4118c.rlib --extern select=/playground/target/debug/deps/libselect-8f6fbec5d8da628d.rlib --extern semver_0_9_0=/playground/target/debug/deps/libsemver-f025bedea80fb2a4.rlib --extern semver=/playground/target/debug/deps/libsemver-05a78c5c9ddaa2c4.rlib --extern semver_parser_0_7_0=/playground/target/debug/deps/libsemver_parser-8702d57e1e78dd2b.rlib --extern semver_parser=/playground/target/debug/deps/libsemver_parser-ffaef7193489bc87.rlib --extern serde=/playground/target/debug/deps/libserde-229c4fc4ead8141c.rlib --extern serde_value=/playground/target/debug/deps/libserde_value-7d7c45a9570378ae.rlib --extern serde_derive=/playground/target/debug/deps/libserde_derive-c217488ff00b2e3a.so --extern serde_json=/playground/target/debug/deps/libserde_json-563254a3b5b90689.rlib --extern serde_urlencoded=/playground/target/debug/deps/libserde_urlencoded-3c6cbd96f11fc824.rlib --extern serde_yaml=/playground/target/debug/deps/libserde_yaml-17567c060caff135.rlib --extern sha2=/playground/target/debug/deps/libsha2-c3636fc508d2f046.rlib --extern simba=/playground/target/debug/deps/libsimba-897209d5748db3cc.rlib --extern siphasher=/playground/target/debug/deps/libsiphasher-333d36ebba60d059.rlib --extern slab=/playground/target/debug/deps/libslab-fa41dc1d348e48f5.rlib --extern smallvec=/playground/target/debug/deps/libsmallvec-19cd1ae41956fa21.rlib --extern socket2=/playground/target/debug/deps/libsocket2-669bb1576d01e19d.rlib --extern spin=/playground/target/debug/deps/libspin-7dfba62559697b24.rlib --extern standback=/playground/target/debug/deps/libstandback-d33c572ed3b863a2.rlib --extern string_cache=/playground/target/debug/deps/libstring_cache-74a642ea94c6e101.rlib --extern string_cache_codegen=/playground/target/debug/deps/libstring_cache_codegen-3d2eecb0bf25b645.rlib --extern stringprep=/playground/target/debug/deps/libstringprep-44029ba638f9050d.rlib --extern strsim_0_8_0=/playground/target/debug/deps/libstrsim-10be170c35c23297.rlib --extern strsim=/playground/target/debug/deps/libstrsim-f95a36656a76f823.rlib --extern subtle=/playground/target/debug/deps/libsubtle-d1459adae4c62ed0.rlib --extern syn=/playground/target/debug/deps/libsyn-472ea434509a3ae5.rlib --extern synstructure=/playground/target/debug/deps/libsynstructure-65071f6bbef1b8df.rlib --extern tar=/playground/target/debug/deps/libtar-55fb88887db52778.rlib --extern tempfile=/playground/target/debug/deps/libtempfile-724db3ffe0b126cf.rlib --extern tendril=/playground/target/debug/deps/libtendril-83dc4eb6c23578c5.rlib --extern termcolor=/playground/target/debug/deps/libtermcolor-879399c0f5a077e7.rlib --extern textwrap_0_11_0=/playground/target/debug/deps/libtextwrap-9ffe59b190ee0291.rlib --extern textwrap=/playground/target/debug/deps/libtextwrap-7bb3de465cae5918.rlib --extern thread_id=/playground/target/debug/deps/libthread_id-d45d76903f077527.rlib --extern thread_local=/playground/target/debug/deps/libthread_local-c437d288db389e6a.rlib --extern threadpool=/playground/target/debug/deps/libthreadpool-1b6f444fa34e60fd.rlib --extern tiff=/playground/target/debug/deps/libtiff-ec356c0d37accd3a.rlib --extern time_0_1_43=/playground/target/debug/deps/libtime-ebeef07ab92115b2.rlib --extern time=/playground/target/debug/deps/libtime-9c1f926a58d8e659.rlib --extern time_macros=/playground/target/debug/deps/libtime_macros-3c91c2bdea6b1cf1.rlib --extern time_macros_impl=/playground/target/debug/deps/libtime_macros_impl-4f592f0a5e410542.so --extern tinyvec=/playground/target/debug/deps/libtinyvec-49dccec5be47d3bc.rlib --extern tokio=/playground/target/debug/deps/libtokio-29fd67628211934e.rlib --extern tokio_postgres=/playground/target/debug/deps/libtokio_postgres-155c9740fd314482.rlib --extern tokio_tls=/playground/target/debug/deps/libtokio_tls-d4c4a65524d5636d.rlib --extern tokio_util=/playground/target/debug/deps/libtokio_util-f01cc0fb81f95988.rlib --extern toml=/playground/target/debug/deps/libtoml-c012379b5bd4a93a.rlib --extern tower_service=/playground/target/debug/deps/libtower_service-59cd6be24192ecff.rlib --extern traitobject=/playground/target/debug/deps/libtraitobject-fe4968c289288002.rlib --extern try_lock=/playground/target/debug/deps/libtry_lock-a8681e5af6055dc5.rlib --extern typemap=/playground/target/debug/deps/libtypemap-9f4a9d1a65be211c.rlib --extern typenum=/playground/target/debug/deps/libtypenum-1a610a4519a0866c.rlib --extern unicase=/playground/target/debug/deps/libunicase-018ff5672c748538.rlib --extern unicode_bidi=/playground/target/debug/deps/libunicode_bidi-0870afad64dd894f.rlib --extern unicode_normalization=/playground/target/debug/deps/libunicode_normalization-059ce93cbfb1edbf.rlib --extern unicode_segmentation=/playground/target/debug/deps/libunicode_segmentation-10bac585f47e7e6b.rlib --extern unicode_width=/playground/target/debug/deps/libunicode_width-f68ad29e8cda1fac.rlib --extern unicode_xid=/playground/target/debug/deps/libunicode_xid-a4a40d0f25d56178.rlib --extern unsafe_any=/playground/target/debug/deps/libunsafe_any-2d382f6ffd5f877a.rlib --extern untrusted=/playground/target/debug/deps/libuntrusted-9386e4e38ae75640.rlib --extern url=/playground/target/debug/deps/liburl-707e0f565e773601.rlib --extern utf8=/playground/target/debug/deps/libutf8-9c6c1c8261cd32b6.rlib --extern utf8_ranges=/playground/target/debug/deps/libutf8_ranges-fa9171319e1bc5f6.rlib --extern uuid=/playground/target/debug/deps/libuuid-8a9940dd4b1e878a.rlib --extern vec_map=/playground/target/debug/deps/libvec_map-c83edaec451213ba.rlib --extern version_check=/playground/target/debug/deps/libversion_check-f7d5393087b6df14.rlib --extern void=/playground/target/debug/deps/libvoid-9ced261b8be9fc12.rlib --extern walkdir=/playground/target/debug/deps/libwalkdir-e040c5f0b12e5915.rlib --extern want=/playground/target/debug/deps/libwant-52a1f491c23e6fef.rlib --extern winapi_0_2_8=/playground/target/debug/deps/libwinapi-2365c9e177c697ef.rlib --extern winapi=/playground/target/debug/deps/libwinapi-8d0dd0a6f08754d6.rlib --extern build=/playground/target/debug/deps/libbuild-35bfe415c7bb55a1.rlib --extern xattr=/playground/target/debug/deps/libxattr-9be03baf20ed0719.rlib --extern xml5ever=/playground/target/debug/deps/libxml5ever-24f709f877a77cf7.rlib --extern yaml_rust=/playground/target/debug/deps/libyaml_rust-1435acd1fa38258d.rlib -L native=/playground/target/debug/build/backtrace-sys-68e7bd2a7a8b7985/out -L native=/playground/target/debug/build/libsqlite3-sys-5a835897624c4a35/out -L native=/playground/target/debug/build/ring-229abc19e1ae3248/out` (signal: 4, SIGILL: illegal instruction)

Removing the generic_associated_types makes this generate appropriate error messages. Seems like combining associated_type_defaults and generic_associated_types is rather uncommon, at least there are no other issues with both labels yet.

@rustbot modify labels: I-ICE, T-compiler, requires-nightly, F-associated_type_defaults, F-generic_associated_types, A-traits, A-associated-items, C-bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-GATsArea: Generic associated types (GATs)A-associated-itemsArea: Associated items (types, constants & functions)A-trait-systemArea: Trait systemC-bugCategory: This is a bug.E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.F-associated_type_defaults`#![feature(associated_type_defaults)]`F-generic_associated_types`#![feature(generic_associated_types)]` a.k.a. GATsI-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️I-unsoundIssue: A soundness hole (worst kind of bug), see: https://en.wikipedia.org/wiki/SoundnessT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.glacierICE tracked in rust-lang/glacier.requires-nightlyThis issue requires a nightly compiler in some way.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions