Skip to content

ICE + other errors when trying to run cargo test on Arduino project, involving vcell #104301

Open
@linclelinkpart5

Description

@linclelinkpart5

Weirdly enough, cargo build emits warnings, but completes successfully. This ICE only seems to occur with cargo test!

Code

Link to minimized repo
Permalink to personal repo, in case more full context is needed

Meta

rustc --version --verbose:

rustc 1.67.0-nightly (c1a859b25 2022-11-10)
binary: rustc
commit-hash: c1a859b25a95999ba276075bbd8e284ea675b41a
commit-date: 2022-11-10
host: x86_64-unknown-linux-gnu
release: 1.67.0-nightly
LLVM version: 15.0.4

Error output

Output & Backtrace

ice-repro on  main is 📦 v0.1.0 via 🦀 v1.67.0-nightly 
❯ cargo test
   Compiling nb v1.0.0
   Compiling void v1.0.2
   Compiling cfg-if v0.1.10
   Compiling ufmt-write v0.1.0
   Compiling vcell v0.1.3
   Compiling cfg-if v1.0.0
   Compiling panic-halt v0.2.0
   Compiling bare-metal v0.2.5
error[E0152]: duplicate lang item in crate `core` (which `rustc_std_workspace_core` depends on): `sized`.
  |
  = note: the lang item is first defined in crate `core` (which `vcell` depends on)
  = note: first definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-3cf297aae6df8ec5.rmeta
  = note: second definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-7aa04c1e2a6fa0ce.rmeta

error[E0152]: duplicate lang item in crate `core` (which `rustc_std_workspace_core` depends on): `sized`.
  |
  = note: the lang item is first defined in crate `core` (which `ufmt_write` depends on)
  = note: first definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-3cf297aae6df8ec5.rmeta
  = note: second definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-7aa04c1e2a6fa0ce.rmeta

thread '<unnamed>' panicked at 'failed to find message in primary or fallback fluent bundles', compiler/rustc_errors/src/translation.rs:78:9
stack backtrace:
error[E0277]: the size for values of type `()` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/ufmt-write-0.1.0/src/lib.rs:27:41
    |
27  |     fn write_str(&mut self, s: &str) -> Result<(), Self::Error>;
    |                                         ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `()`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:17
    |
504 | pub enum Result<T, E> {
    |                 ^ required by this bound in `Result`

   0:     0x7ff06e3d7520 - std::backtrace_rs::backtrace::libunwind::trace::h1c0259b0e54a0ec7
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7ff06e3d7520 - std::backtrace_rs::backtrace::trace_unsynchronized::hef156fa43f257fff
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7ff06e3d7520 - std::sys_common::backtrace::_print_fmt::h14c30be4df8a453b
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys_common/backtrace.rs:65:5
error[E0152]: duplicate lang item in crate `core` (which `rustc_std_workspace_core` depends on): `sized`.
  |
  = note: the lang item is first defined in crate `core` (which `nb` depends on)
  = note: first definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-3cf297aae6df8ec5.rmeta
  = note: second definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-7aa04c1e2a6fa0ce.rmeta

   3:     0x7ff06e3d7520 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6bc9ef49ac207d73
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys_common/backtrace.rs:44:22
error[E0277]: the size for values of type `<Self as uWrite>::Error` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/ufmt-write-0.1.0/src/lib.rs:27:41
    |
27  |     fn write_str(&mut self, s: &str) -> Result<(), Self::Error>;
    |                                         ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `<Self as uWrite>::Error`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:20
    |
504 | pub enum Result<T, E> {
    |                    ^ required by this bound in `Result`
help: consider further restricting the associated type
    |
27  |     fn write_str(&mut self, s: &str) -> Result<(), Self::Error> where <Self as uWrite>::Error: Sized;
    |                                                                 ++++++++++++++++++++++++++++++++++++

error[E0277]: the size for values of type `()` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/ufmt-write-0.1.0/src/lib.rs:34:42
    |
34  |     fn write_char(&mut self, c: char) -> Result<(), Self::Error> {
    |                                          ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `()`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:17
    |
504 | pub enum Result<T, E> {
    |                 ^ required by this bound in `Result`

error[E0277]: the size for values of type `<Self as uWrite>::Error` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/ufmt-write-0.1.0/src/lib.rs:34:42
    |
34  |     fn write_char(&mut self, c: char) -> Result<(), Self::Error> {
    |                                          ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `<Self as uWrite>::Error`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:20
    |
504 | pub enum Result<T, E> {
    |                    ^ required by this bound in `Result`
help: consider further restricting the associated type
    |
34  |     fn write_char(&mut self, c: char) -> Result<(), Self::Error> where <Self as uWrite>::Error: Sized {
    |                                                                  ++++++++++++++++++++++++++++++++++++

   4:     0x7ff06e43963e - core::fmt::write::h670e2d8b480677bf
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/core/src/fmt/mod.rs:1209:17
   5:     0x7ff06e3c7795 - std::io::Write::write_fmt::h96cca416c9a25a8f
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/io/mod.rs:1682:15
   6:     0x7ff06e3d72e5 - std::sys_common::backtrace::_print::h209eac292799b1d3
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7ff06e3d72e5 - std::sys_common::backtrace::print::h02ded1b579fe176b
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7ff06e3da0bf - std::panicking::default_hook::{{closure}}::h8511971ca7cce5b1
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/panicking.rs:267:22
   9:     0x7ff06e3d9dfa - std::panicking::default_hook::h8bc8dfd96a84f923
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/panicking.rs:286:9
  10:     0x7ff06e3da8cc - std::panicking::rust_panic_with_hook::h9f2bfce9b4c1819d
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/panicking.rs:688:13
  11:     0x7ff06e3da667 - std::panicking::begin_panic_handler::{{closure}}::h167b5f05f9579bc1
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/panicking.rs:579:13
  12:     0x7ff06e3d79cc - std::sys_common::backtrace::__rust_end_short_backtrace::h99451dfb597ab6ac
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys_common/backtrace.rs:137:18
  13:     0x7ff06e3da382 - rust_begin_unwind
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/panicking.rs:575:5
  14:     0x7ff06e436023 - core::panicking::panic_fmt::hf9d641a075644e68
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/core/src/panicking.rs:65:14
  15:     0x7ff06e436171 - core::panicking::panic_display::h4d285fa2a7b26f2a
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/core/src/panicking.rs:139:5
  16:     0x7ff06e43611b - core::panicking::panic_str::h79efa26adb712718
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/core/src/panicking.rs:123:5
  17:     0x7ff06e435d96 - core::option::expect_failed::h8f4b55925d9edc3f
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/core/src/option.rs:1879:5
Some errors have detailed explanations: E0152, E0277.
For more information about an error, try `rustc --explain E0152`.
error[E0152]: duplicate lang item in crate `core` (which `rustc_std_workspace_core` depends on): `sized`.
  |
  = note: the lang item is first defined in crate `core` (which `bare_metal` depends on)
  = note: first definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-3cf297aae6df8ec5.rmeta
  = note: second definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-7aa04c1e2a6fa0ce.rmeta

error: could not compile `ufmt-write` due to 5 previous errors
warning: build failed, waiting for other jobs to finish...
error[E0152]: duplicate lang item in crate `core` (which `rustc_std_workspace_core` depends on): `sized`.
  |
  = note: the lang item is first defined in crate `core` (which `void` depends on)
  = note: first definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-3cf297aae6df8ec5.rmeta
  = note: second definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-7aa04c1e2a6fa0ce.rmeta

error[E0152]: duplicate lang item in crate `core` (which `rustc_std_workspace_core` depends on): `sized`.
  |
  = note: the lang item is first defined in crate `core` (which `panic_halt` depends on)
  = note: first definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-3cf297aae6df8ec5.rmeta
  = note: second definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-7aa04c1e2a6fa0ce.rmeta

error[E0152]: duplicate lang item in crate `core` (which `rustc_std_workspace_core` depends on): `sized`.
  |
  = note: the lang item is first defined in crate `core` (which `cfg_if` depends on)
  = note: first definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-3cf297aae6df8ec5.rmeta
  = note: second definition in `core` loaded from /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-7aa04c1e2a6fa0ce.rmeta

error[E0277]: the size for values of type `Error<E>` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/nb-1.0.0/src/lib.rs:198:10
    |
198 | #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
    |          ^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `Error<E>`
note: required by a bound in `Clone`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/clone.rs:110:18
    |
110 | pub trait Clone: Sized {
    |                  ^^^^^ required by this bound in `Clone`
    = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)

error: argument should be `&PanicInfo`
  --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/panic-halt-0.2.0/src/lib.rs:31:17
   |
31 | fn panic(_info: &PanicInfo) -> ! {
   |                 ^^^^^^^^^^

error[E0277]: the size for values of type `Error<E>` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/nb-1.0.0/src/lib.rs:198:17
    |
198 | #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
    |                 ^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `Error<E>`
note: required by a bound in `core::marker::Copy`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/marker.rs:389:17
    |
389 | pub trait Copy: Clone {
    |                 ^^^^^ required by this bound in `core::marker::Copy`
    = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0152`.
error[E0277]: the size for values of type `E` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/nb-1.0.0/src/lib.rs:232:9
    |
232 | impl<E> From<E> for Error<E> {
    |         ^^^^^^^ doesn't have a size known at compile-time
    |
note: required by a bound in `From`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:543:16
    |
543 | pub trait From<T>: Sized {
    |                ^ required by this bound in `From`
help: consider restricting type parameter `E`
    |
232 | impl<E: core::marker::Sized> From<E> for Error<E> {
    |       +++++++++++++++++++++

error[E0277]: the size for values of type `Error<E>` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/nb-1.0.0/src/lib.rs:232:9
    |
232 | impl<E> From<E> for Error<E> {
    |         ^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `Error<E>`
note: required by a bound in `From`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:543:20
    |
543 | pub trait From<T>: Sized {
    |                    ^^^^^ required by this bound in `From`

error[E0277]: the size for values of type `core::cmp::Ordering` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/nb-1.0.0/src/lib.rs:198:38
    |
198 | #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
    |                                      ^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `core::cmp::Ordering`
note: required by a bound in `Option`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:518:17
    |
518 | pub enum Option<T> {
    |                 ^ required by this bound in `Option`
    = note: this error originates in the derive macro `PartialOrd` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the size for values of type `()` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/bare-metal-0.2.5/src/lib.rs:10:10
    |
10  | #[derive(Debug)]
    |          ^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `()`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:17
    |
504 | pub enum Result<T, E> {
    |                 ^ required by this bound in `Result`
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the size for values of type `core::fmt::Error` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/bare-metal-0.2.5/src/lib.rs:10:10
    |
10  | #[derive(Debug)]
    |          ^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `core::fmt::Error`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:20
    |
504 | pub enum Result<T, E> {
    |                    ^ required by this bound in `Result`
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the size for values of type `()` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/nb-1.0.0/src/lib.rs:210:46
    |
210 |     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    |                                              ^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `()`
note: required by a bound in `core::result::Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:17
    |
504 | pub enum Result<T, E> {
    |                 ^ required by this bound in `core::result::Result`

error[E0277]: the size for values of type `core::fmt::Error` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/nb-1.0.0/src/lib.rs:210:46
    |
210 |     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    |                                              ^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `core::fmt::Error`
note: required by a bound in `core::result::Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:20
    |
504 | pub enum Result<T, E> {
    |                    ^ required by this bound in `core::result::Result`

error[E0277]: the size for values of type `(E,)` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/nb-1.0.0/src/lib.rs:223:12
    |
223 |         F: FnOnce(E) -> T,
    |            ^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `(E,)`
note: required by a bound in `FnOnce`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:502:18
    |
502 | pub trait FnOnce<Args: Tuple> {
    |                  ^^^^ required by this bound in `FnOnce`

error: could not compile `cfg-if` due to previous error
error[E0277]: `(E,)` is not a tuple
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/nb-1.0.0/src/lib.rs:223:12
    |
223 |         F: FnOnce(E) -> T,
    |            ^^^^^^^^^^^^^^ the trait `Tuple` is not implemented for `(E,)`
    |
note: required by a bound in `FnOnce`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:502:24
    |
502 | pub trait FnOnce<Args: Tuple> {
    |                        ^^^^^ required by this bound in `FnOnce`

error: could not compile `panic-halt` due to 2 previous errors
  18:     0x7ff070c0960e - <rustc_errors[a1ce8dcef9ff7a7d]::emitter::EmitterWriter as rustc_errors[a1ce8dcef9ff7a7d]::translation::Translate>::translate_message
  19:     0x7ff070c09112 - <rustc_errors[a1ce8dcef9ff7a7d]::emitter::EmitterWriter>::msg_to_buffer
  20:     0x7ff070c14276 - <rustc_errors[a1ce8dcef9ff7a7d]::emitter::EmitterWriter>::emit_message_default
  21:     0x7ff070c008d3 - <rustc_errors[a1ce8dcef9ff7a7d]::emitter::EmitterWriter as rustc_errors[a1ce8dcef9ff7a7d]::emitter::Emitter>::emit_diagnostic
  22:     0x7ff070bfe2c2 - <rustc_errors[a1ce8dcef9ff7a7d]::json::Diagnostic>::from_errors_diagnostic
  23:     0x7ff070bfd86c - <rustc_errors[a1ce8dcef9ff7a7d]::json::JsonEmitter as rustc_errors[a1ce8dcef9ff7a7d]::emitter::Emitter>::emit_diagnostic
  24:     0x7ff06f8a788a - <rustc_errors[a1ce8dcef9ff7a7d]::HandlerInner>::emit_diagnostic
  25:     0x7ff0703bcf21 - <rustc_errors[a1ce8dcef9ff7a7d]::Handler>::emit_diagnostic
  26:     0x7ff07037a34d - <rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed as rustc_errors[a1ce8dcef9ff7a7d]::diagnostic_builder::EmissionGuarantee>::diagnostic_builder_emit_producing_guarantee
  27:     0x7ff071ce26dc - <rustc_session[47f761f7ecc78e0d]::parse::ParseSess>::emit_err::<rustc_passes[1a3c8d413335c20c]::errors::DuplicateDiagnosticItemInCrate>
  28:     0x7ff070a28156 - rustc_passes[1a3c8d413335c20c]::diagnostic_items::collect_item
  29:     0x7ff070a2797d - rustc_passes[1a3c8d413335c20c]::diagnostic_items::all_diagnostic_items
  30:     0x7ff070df4bbb - rustc_query_system[731acdfd61cbbb95]::query::plumbing::try_execute_query::<rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt, rustc_query_system[731acdfd61cbbb95]::query::caches::ArenaCache<(), rustc_hir[b8f1839d7a3a65f1]::diagnostic_items::DiagnosticItems>>
error: could not compile `nb` due to 10 previous errors
error: could not compile `bare-metal` due to 3 previous errors
  31:     0x7ff070df48a7 - rustc_query_system[731acdfd61cbbb95]::query::plumbing::get_query::<rustc_query_impl[5d8cc954b14a6b51]::queries::all_diagnostic_items, rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt>
  32:     0x7ff070133418 - <rustc_middle[ef15c0f09f0ff036]::ty::context::TyCtxt>::get_diagnostic_item
  33:     0x7ff072164d7c - <rustc_infer[183205aa2824036]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[1a866c97ed6ff1a8]::traits::error_reporting::suggestions::TypeErrCtxtExt>::suggest_add_reference_to_arg
  34:     0x7ff072177a80 - <rustc_infer[183205aa2824036]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[1a866c97ed6ff1a8]::traits::error_reporting::TypeErrCtxtExt>::report_selection_error
  35:     0x7ff072180568 - <rustc_infer[183205aa2824036]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[1a866c97ed6ff1a8]::traits::error_reporting::InferCtxtPrivExt>::report_fulfillment_error
  36:     0x7ff07217485f - <rustc_infer[183205aa2824036]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[1a866c97ed6ff1a8]::traits::error_reporting::TypeErrCtxtExt>::report_fulfillment_errors
  37:     0x7ff06f851ef3 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_argument_types
  38:     0x7ff06f81d989 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_call
  39:     0x7ff06fed1f39 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  40:     0x7ff06ff4b180 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_expr_struct_fields
  41:     0x7ff06fed4f36 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  42:     0x7ff06ff143dc - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_block_with_expected
  43:     0x7ff06fed246a - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  44:     0x7ff06fd0ff86 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_return_expr
  45:     0x7ff06fd07f4c - rustc_hir_typeck[6da16006badde0e1]::check::check_fn
  46:     0x7ff06fcf3cdb - <rustc_hir_typeck[6da16006badde0e1]::inherited::InheritedBuilder>::enter::<rustc_hir_typeck[6da16006badde0e1]::typeck_with_fallback<rustc_hir_typeck[6da16006badde0e1]::typeck::{closure#0}>::{closure#0}::{closure#1}, &rustc_middle[ef15c0f09f0ff036]::ty::context::TypeckResults>
  47:     0x7ff06fce69dd - rustc_hir_typeck[6da16006badde0e1]::typeck
  48:     0x7ff06fce4bef - rustc_query_system[731acdfd61cbbb95]::query::plumbing::try_execute_query::<rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt, rustc_query_system[731acdfd61cbbb95]::query::caches::DefaultCache<rustc_span[2c66fb4e929445ca]::def_id::LocalDefId, &rustc_middle[ef15c0f09f0ff036]::ty::context::TypeckResults>>
  49:     0x7ff070d79008 - rustc_data_structures[fcbea81f06a7da6b]::sync::par_for_each_in::<&[rustc_span[2c66fb4e929445ca]::def_id::LocalDefId], <rustc_middle[ef15c0f09f0ff036]::hir::map::Map>::par_body_owners<rustc_hir_typeck[6da16006badde0e1]::typeck_item_bodies::{closure#0}>::{closure#0}>
  50:     0x7ff070d78ce3 - rustc_hir_typeck[6da16006badde0e1]::typeck_item_bodies
  51:     0x7ff070c6f64a - rustc_query_system[731acdfd61cbbb95]::query::plumbing::try_execute_query::<rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt, rustc_query_system[731acdfd61cbbb95]::query::caches::DefaultCache<(), ()>>
  52:     0x7ff070c6f347 - rustc_query_system[731acdfd61cbbb95]::query::plumbing::get_query::<rustc_query_impl[5d8cc954b14a6b51]::queries::typeck_item_bodies, rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt>
  53:     0x7ff06fa38b0a - <rustc_session[47f761f7ecc78e0d]::session::Session>::time::<(), rustc_hir_analysis[7cbe4a3e57699ef0]::check_crate::{closure#7}>
  54:     0x7ff06fa3824b - rustc_hir_analysis[7cbe4a3e57699ef0]::check_crate
  55:     0x7ff06fa37e7b - rustc_interface[d2b1e7858cec3daa]::passes::analysis
  56:     0x7ff070dd11e4 - rustc_query_system[731acdfd61cbbb95]::query::plumbing::try_execute_query::<rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt, rustc_query_system[731acdfd61cbbb95]::query::caches::DefaultCache<(), core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>>
  57:     0x7ff070dd0ee7 - rustc_query_system[731acdfd61cbbb95]::query::plumbing::get_query::<rustc_query_impl[5d8cc954b14a6b51]::queries::analysis, rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt>
  58:     0x7ff070880b8e - <rustc_interface[d2b1e7858cec3daa]::passes::QueryContext>::enter::<rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>
  59:     0x7ff07087dc5f - <rustc_interface[d2b1e7858cec3daa]::interface::Compiler>::enter::<rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}::{closure#2}, core[4e899ad432e99573]::result::Result<core[4e899ad432e99573]::option::Option<rustc_interface[d2b1e7858cec3daa]::queries::Linker>, rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>
  60:     0x7ff070878c92 - rustc_span[2c66fb4e929445ca]::with_source_map::<core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>, rustc_interface[d2b1e7858cec3daa]::interface::run_compiler<core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>, rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}>::{closure#0}::{closure#1}>
  61:     0x7ff07087876c - <scoped_tls[a162aae2f2befadc]::ScopedKey<rustc_span[2c66fb4e929445ca]::SessionGlobals>>::set::<rustc_interface[d2b1e7858cec3daa]::interface::run_compiler<core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>, rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}>::{closure#0}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>
  62:     0x7ff070877d58 - std[60fbac34357a1008]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[d2b1e7858cec3daa]::util::run_in_thread_pool_with_globals<rustc_interface[d2b1e7858cec3daa]::interface::run_compiler<core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>, rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}>::{closure#0}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>
  63:     0x7ff070877a7c - <<std[60fbac34357a1008]::thread::Builder>::spawn_unchecked_<rustc_interface[d2b1e7858cec3daa]::util::run_in_thread_pool_with_globals<rustc_interface[d2b1e7858cec3daa]::interface::run_compiler<core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>, rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}>::{closure#0}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>::{closure#1} as core[4e899ad432e99573]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
error[E0277]: the size for values of type `Void` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:28:10
    |
28  | #[derive(Copy)]
    |          ^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `Void`
note: required by a bound in `core::marker::Copy`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/marker.rs:389:17
    |
389 | pub trait Copy: Clone {
    |                 ^^^^^ required by this bound in `core::marker::Copy`
    = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the size for values of type `Void` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:31:6
    |
31  | impl Clone for Void {
    |      ^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `Void`
note: required by a bound in `Clone`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/clone.rs:110:18
    |
110 | pub trait Clone: Sized {
    |                  ^^^^^ required by this bound in `Clone`

error[E0277]: the size for values of type `Result<T, Void>` cannot be known at compilation time
  --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:90:9
   |
90 | impl<T> ResultVoidExt<T> for Result<T, Void> {
   |         ^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
   |
   = help: the trait `Sized` is not implemented for `Result<T, Void>`
note: required by a bound in `ResultVoidExt`
  --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:85:29
   |
85 | pub trait ResultVoidExt<T>: Sized {
   |                             ^^^^^ required by this bound in `ResultVoidExt`

error[E0277]: the size for values of type `T` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:90:30
    |
90  | impl<T> ResultVoidExt<T> for Result<T, Void> {
    |                              ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:17
    |
504 | pub enum Result<T, E> {
    |                 ^ required by this bound in `Result`
help: consider restricting type parameter `T`
    |
90  | impl<T: core::marker::Sized> ResultVoidExt<T> for Result<T, Void> {
    |       +++++++++++++++++++++

error[E0277]: the size for values of type `Void` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:90:30
    |
90  | impl<T> ResultVoidExt<T> for Result<T, Void> {
    |                              ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `Void`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:20
    |
504 | pub enum Result<T, E> {
    |                    ^ required by this bound in `Result`

error: could not compile `cfg-if` due to previous error
error[E0277]: the size for values of type `Result<Void, E>` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:109:9
    |
109 | impl<E> ResultVoidErrExt<E> for Result<Void, E> {
    |         ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `Result<Void, E>`
note: required by a bound in `ResultVoidErrExt`
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:104:32
    |
104 | pub trait ResultVoidErrExt<E>: Sized {
    |                                ^^^^^ required by this bound in `ResultVoidErrExt`

error[E0277]: the size for values of type `Void` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:109:33
    |
109 | impl<E> ResultVoidErrExt<E> for Result<Void, E> {
    |                                 ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `Void`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:17
    |
504 | pub enum Result<T, E> {
    |                 ^ required by this bound in `Result`

  64:     0x7ff072309563 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h9c5bc954debcee72
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/alloc/src/boxed.rs:2000:9
  65:     0x7ff072309563 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he1973107145a5c1d
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/alloc/src/boxed.rs:2000:9
  66:     0x7ff072309563 - std::sys::unix::thread::Thread::new::thread_start::h3f40abd87f665b17
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys/unix/thread.rs:108:17
error[E0277]: the size for values of type `E` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:109:33
    |
109 | impl<E> ResultVoidErrExt<E> for Result<Void, E> {
    |                                 ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:20
    |
504 | pub enum Result<T, E> {
    |                    ^ required by this bound in `Result`
help: consider restricting type parameter `E`
    |
109 | impl<E: core::marker::Sized> ResultVoidErrExt<E> for Result<Void, E> {
    |       +++++++++++++++++++++

error[E0277]: the size for values of type `()` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:38:46
    |
38  |     fn fmt(&self, _: &mut fmt::Formatter) -> fmt::Result {
    |                                              ^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `()`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:17
    |
504 | pub enum Result<T, E> {
    |                 ^ required by this bound in `Result`

error[E0277]: the size for values of type `core::fmt::Error` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:38:46
    |
38  |     fn fmt(&self, _: &mut fmt::Formatter) -> fmt::Result {
    |                                              ^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `core::fmt::Error`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:20
    |
504 | pub enum Result<T, E> {
    |                    ^ required by this bound in `Result`

error[E0277]: the size for values of type `()` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:44:46
    |
44  |     fn fmt(&self, _: &mut fmt::Formatter) -> fmt::Result {
    |                                              ^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `()`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:17
    |
504 | pub enum Result<T, E> {
    |                 ^ required by this bound in `Result`

error[E0277]: the size for values of type `core::fmt::Error` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:44:46
    |
44  |     fn fmt(&self, _: &mut fmt::Formatter) -> fmt::Result {
    |                                              ^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `core::fmt::Error`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:20
    |
504 | pub enum Result<T, E> {
    |                    ^ required by this bound in `Result`

error[E0277]: the size for values of type `core::cmp::Ordering` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:56:37
    |
56  |     fn partial_cmp(&self, _: &T) -> Option<cmp::Ordering> {
    |                                     ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `core::cmp::Ordering`
note: required by a bound in `Option`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:518:17
    |
518 | pub enum Option<T> {
    |                 ^ required by this bound in `Option`

error[E0277]: the size for values of type `T` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:95:20
    |
95  |     fn void_unwrap(self) -> T {
    |                    ^^^^ doesn't have a size known at compile-time
    |
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:17
    |
504 | pub enum Result<T, E> {
    |                 ^ required by this bound in `Result`
help: consider restricting type parameter `T`
    |
90  | impl<T: core::marker::Sized> ResultVoidExt<T> for Result<T, Void> {
    |       +++++++++++++++++++++

error[E0277]: the size for values of type `Void` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:95:20
    |
95  |     fn void_unwrap(self) -> T {
    |                    ^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `Void`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:20
    |
504 | pub enum Result<T, E> {
    |                    ^ required by this bound in `Result`

error[E0277]: the size for values of type `Void` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:114:24
    |
114 |     fn void_unwrap_err(self) -> E {
    |                        ^^^^ doesn't have a size known at compile-time
    |
    = help: the trait `Sized` is not implemented for `Void`
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:17
    |
504 | pub enum Result<T, E> {
    |                 ^ required by this bound in `Result`

error[E0277]: the size for values of type `E` cannot be known at compilation time
   --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs:114:24
    |
114 |     fn void_unwrap_err(self) -> E {
    |                        ^^^^ doesn't have a size known at compile-time
    |
note: required by a bound in `Result`
   --> /home/mark/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:504:20
    |
504 | pub enum Result<T, E> {
    |                    ^ required by this bound in `Result`
help: consider restricting type parameter `E`
    |
109 | impl<E: core::marker::Sized> ResultVoidErrExt<E> for Result<Void, E> {
    |       +++++++++++++++++++++

error: could not compile `void` due to 18 previous errors
  67:     0x7ff06e11ab43 - start_thread
                               at ./nptl/./nptl/pthread_create.c:442:8
  68:     0x7ff06e1aca00 - clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
  69:                0x0 - <unknown>
error: internal compiler error: the following error was constructed but not emitted

error[E0277]: the size for values of type `T` cannot be known at compilation time
  --> /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/vcell-0.1.3/src/lib.rs:25:47
   |
25 |         VolatileCell { value: UnsafeCell::new(value) }
   |                                               ^^^^^

thread '<unnamed>' panicked at 'error was constructed but not emitted', compiler/rustc_errors/src/diagnostic_builder.rs:676:21
stack backtrace:
   0:     0x7ff06e3d7520 - std::backtrace_rs::backtrace::libunwind::trace::h1c0259b0e54a0ec7
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7ff06e3d7520 - std::backtrace_rs::backtrace::trace_unsynchronized::hef156fa43f257fff
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7ff06e3d7520 - std::sys_common::backtrace::_print_fmt::h14c30be4df8a453b
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7ff06e3d7520 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6bc9ef49ac207d73
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7ff06e43963e - core::fmt::write::h670e2d8b480677bf
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/core/src/fmt/mod.rs:1209:17
   5:     0x7ff06e3c7795 - std::io::Write::write_fmt::h96cca416c9a25a8f
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/io/mod.rs:1682:15
   6:     0x7ff06e3d72e5 - std::sys_common::backtrace::_print::h209eac292799b1d3
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7ff06e3d72e5 - std::sys_common::backtrace::print::h02ded1b579fe176b
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7ff06e3da0bf - std::panicking::default_hook::{{closure}}::h8511971ca7cce5b1
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/panicking.rs:267:22
   9:     0x7ff06e3d9dfa - std::panicking::default_hook::h8bc8dfd96a84f923
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/panicking.rs:286:9
  10:     0x7ff06e3da8cc - std::panicking::rust_panic_with_hook::h9f2bfce9b4c1819d
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/panicking.rs:688:13
  11:     0x7ff06e3da621 - std::panicking::begin_panic_handler::{{closure}}::h167b5f05f9579bc1
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/panicking.rs:577:13
  12:     0x7ff06e3d79cc - std::sys_common::backtrace::__rust_end_short_backtrace::h99451dfb597ab6ac
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys_common/backtrace.rs:137:18
  13:     0x7ff06e3da382 - rust_begin_unwind
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/panicking.rs:575:5
  14:     0x7ff06e436023 - core::panicking::panic_fmt::hf9d641a075644e68
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/core/src/panicking.rs:65:14
  15:     0x7ff0702ed59b - <rustc_errors[a1ce8dcef9ff7a7d]::diagnostic_builder::DiagnosticBuilderInner as core[4e899ad432e99573]::ops::drop::Drop>::drop
  16:     0x7ff07215fa9d - core[4e899ad432e99573]::ptr::drop_in_place::<rustc_errors[a1ce8dcef9ff7a7d]::diagnostic_builder::DiagnosticBuilder<rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>
  17:     0x7ff07217a3aa - <rustc_infer[183205aa2824036]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[1a866c97ed6ff1a8]::traits::error_reporting::TypeErrCtxtExt>::report_selection_error
  18:     0x7ff072180568 - <rustc_infer[183205aa2824036]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[1a866c97ed6ff1a8]::traits::error_reporting::InferCtxtPrivExt>::report_fulfillment_error
  19:     0x7ff07217485f - <rustc_infer[183205aa2824036]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[1a866c97ed6ff1a8]::traits::error_reporting::TypeErrCtxtExt>::report_fulfillment_errors
  20:     0x7ff06f851ef3 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_argument_types
  21:     0x7ff06f81d989 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_call
  22:     0x7ff06fed1f39 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  23:     0x7ff06ff4b180 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_expr_struct_fields
  24:     0x7ff06fed4f36 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  25:     0x7ff06ff143dc - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_block_with_expected
  26:     0x7ff06fed246a - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  27:     0x7ff06fd0ff86 - <rustc_hir_typeck[6da16006badde0e1]::fn_ctxt::FnCtxt>::check_return_expr
  28:     0x7ff06fd07f4c - rustc_hir_typeck[6da16006badde0e1]::check::check_fn
  29:     0x7ff06fcf3cdb - <rustc_hir_typeck[6da16006badde0e1]::inherited::InheritedBuilder>::enter::<rustc_hir_typeck[6da16006badde0e1]::typeck_with_fallback<rustc_hir_typeck[6da16006badde0e1]::typeck::{closure#0}>::{closure#0}::{closure#1}, &rustc_middle[ef15c0f09f0ff036]::ty::context::TypeckResults>
  30:     0x7ff06fce69dd - rustc_hir_typeck[6da16006badde0e1]::typeck
  31:     0x7ff06fce4bef - rustc_query_system[731acdfd61cbbb95]::query::plumbing::try_execute_query::<rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt, rustc_query_system[731acdfd61cbbb95]::query::caches::DefaultCache<rustc_span[2c66fb4e929445ca]::def_id::LocalDefId, &rustc_middle[ef15c0f09f0ff036]::ty::context::TypeckResults>>
  32:     0x7ff070d79008 - rustc_data_structures[fcbea81f06a7da6b]::sync::par_for_each_in::<&[rustc_span[2c66fb4e929445ca]::def_id::LocalDefId], <rustc_middle[ef15c0f09f0ff036]::hir::map::Map>::par_body_owners<rustc_hir_typeck[6da16006badde0e1]::typeck_item_bodies::{closure#0}>::{closure#0}>
  33:     0x7ff070d78ce3 - rustc_hir_typeck[6da16006badde0e1]::typeck_item_bodies
  34:     0x7ff070c6f64a - rustc_query_system[731acdfd61cbbb95]::query::plumbing::try_execute_query::<rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt, rustc_query_system[731acdfd61cbbb95]::query::caches::DefaultCache<(), ()>>
  35:     0x7ff070c6f347 - rustc_query_system[731acdfd61cbbb95]::query::plumbing::get_query::<rustc_query_impl[5d8cc954b14a6b51]::queries::typeck_item_bodies, rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt>
  36:     0x7ff06fa38b0a - <rustc_session[47f761f7ecc78e0d]::session::Session>::time::<(), rustc_hir_analysis[7cbe4a3e57699ef0]::check_crate::{closure#7}>
  37:     0x7ff06fa3824b - rustc_hir_analysis[7cbe4a3e57699ef0]::check_crate
  38:     0x7ff06fa37e7b - rustc_interface[d2b1e7858cec3daa]::passes::analysis
  39:     0x7ff070dd11e4 - rustc_query_system[731acdfd61cbbb95]::query::plumbing::try_execute_query::<rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt, rustc_query_system[731acdfd61cbbb95]::query::caches::DefaultCache<(), core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>>
  40:     0x7ff070dd0ee7 - rustc_query_system[731acdfd61cbbb95]::query::plumbing::get_query::<rustc_query_impl[5d8cc954b14a6b51]::queries::analysis, rustc_query_impl[5d8cc954b14a6b51]::plumbing::QueryCtxt>
  41:     0x7ff070880b8e - <rustc_interface[d2b1e7858cec3daa]::passes::QueryContext>::enter::<rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>
  42:     0x7ff07087dc5f - <rustc_interface[d2b1e7858cec3daa]::interface::Compiler>::enter::<rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}::{closure#2}, core[4e899ad432e99573]::result::Result<core[4e899ad432e99573]::option::Option<rustc_interface[d2b1e7858cec3daa]::queries::Linker>, rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>
  43:     0x7ff070878c92 - rustc_span[2c66fb4e929445ca]::with_source_map::<core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>, rustc_interface[d2b1e7858cec3daa]::interface::run_compiler<core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>, rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}>::{closure#0}::{closure#1}>
  44:     0x7ff07087876c - <scoped_tls[a162aae2f2befadc]::ScopedKey<rustc_span[2c66fb4e929445ca]::SessionGlobals>>::set::<rustc_interface[d2b1e7858cec3daa]::interface::run_compiler<core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>, rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}>::{closure#0}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>
  45:     0x7ff070877d58 - std[60fbac34357a1008]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[d2b1e7858cec3daa]::util::run_in_thread_pool_with_globals<rustc_interface[d2b1e7858cec3daa]::interface::run_compiler<core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>, rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}>::{closure#0}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>
  46:     0x7ff070877a7c - <<std[60fbac34357a1008]::thread::Builder>::spawn_unchecked_<rustc_interface[d2b1e7858cec3daa]::util::run_in_thread_pool_with_globals<rustc_interface[d2b1e7858cec3daa]::interface::run_compiler<core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>, rustc_driver[766838ccb0cc5547]::run_compiler::{closure#1}>::{closure#0}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[4e899ad432e99573]::result::Result<(), rustc_errors[a1ce8dcef9ff7a7d]::ErrorGuaranteed>>::{closure#1} as core[4e899ad432e99573]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  47:     0x7ff072309563 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h9c5bc954debcee72
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/alloc/src/boxed.rs:2000:9
  48:     0x7ff072309563 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he1973107145a5c1d
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/alloc/src/boxed.rs:2000:9
  49:     0x7ff072309563 - std::sys::unix::thread::Thread::new::thread_start::h3f40abd87f665b17
                               at /rustc/c1a859b25a95999ba276075bbd8e284ea675b41a/library/std/src/sys/unix/thread.rs:108:17
  50:     0x7ff06e11ab43 - start_thread
                               at ./nptl/./nptl/pthread_create.c:442:8
  51:     0x7ff06e1aca00 - clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
  52:                0x0 - <unknown>
thread panicked while panicking. aborting.
error: could not compile `vcell` due to 2 previous errors

Caused by:
  process didn't exit successfully: `rustc --crate-name vcell /home/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/vcell-0.1.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=s -C linker-plugin-lto -C debuginfo=2 -C debug-assertions=on -C metadata=759351f247192a54 -C extra-filename=-759351f247192a54 --out-dir /home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps --target /home/mark/Projects/rust/ice-repro/avr-atmega328p.json -L dependency=/home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps -L dependency=/home/mark/Projects/rust/ice-repro/target/debug/deps --extern 'noprelude:compiler_builtins=/home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcompiler_builtins-a2b92db059b15fe1.rmeta' --extern 'noprelude:core=/home/mark/Projects/rust/ice-repro/target/avr-atmega328p/debug/deps/libcore-3cf297aae6df8ec5.rmeta' -Z unstable-options --cap-lints allow` (signal: 6, SIGABRT: process abort signal)

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️O-AVRTarget: AVR processors (ATtiny, ATmega, etc.)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions