Skip to content

extern crate inside a function scope dependent on that crate causes a stack overflow #87932

Description

@echeran

I've been working on a branch where I've made some refactoring changes and I'm working through cargo check errors/warnings/etc. now. Unexpectedly, one of the errors was from rustc mentioning "overflowed the stack":

Code

To reproduce:

  1. Check out the branch uniset-zerovec-rustc-bug in the repo echeran/icu4x
  2. cd icu4x
  3. Apply the patch listed below (uncomment a single line)
  4. cd components/uniset
  5. cargo check --tests
diff --git a/components/uniset/src/utils.rs b/components/uniset/src/utils.rs
index 80ef039c..aea83a3e 100644
--- a/components/uniset/src/utils.rs
+++ b/components/uniset/src/utils.rs
@@ -7,7 +7,7 @@ use core::{
     ops::{Bound::*, RangeBounds},
 };
 use zerovec::ZeroVec;
-// use zerovec::ule::AsULE;
+use zerovec::ule::AsULE;
 
 /// Returns whether the vector is sorted ascending non inclusive, of even length,
 /// and within the bounds of `0x0 -> 0x10FFFF` inclusive.

Meta

rustc --version --verbose:

rustc 1.51.0 (2fd73fabe 2021-03-23)
binary: rustc
commit-hash: 2fd73fabe469357a12c2c974c140f67e7cdd76d0
commit-date: 2021-03-23
host: x86_64-unknown-linux-gnu
release: 1.51.0
LLVM version: 11.0.1

Error output

thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow
error: could not compile `icu_uniset`

Caused by:
  process didn't exit successfully: `rustc --crate-name icu_uniset --edition=2018 components/uniset/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="provider_serde"' --cfg 'feature="serde"' -C metadata=fa6668d369c85c18 -C extra-filename=-fa6668d369c85c18 --out-dir /home/elango/oss/icu4x/target/debug/deps -C incremental=/home/elango/oss/icu4x/target/debug/incremental -L dependency=/home/elango/oss/icu4x/target/debug/deps --extern displaydoc=/home/elango/oss/icu4x/target/debug/deps/libdisplaydoc-bda10fc3c30caa52.so --extern icu_provider=/home/elango/oss/icu4x/target/debug/deps/libicu_provider-d5ba73d690619b0a.rmeta --extern litemap=/home/elango/oss/icu4x/target/debug/deps/liblitemap-d68fb71c1eeb4154.rmeta --extern serde=/home/elango/oss/icu4x/target/debug/deps/libserde-6382802c6babb864.rmeta --extern tinystr=/home/elango/oss/icu4x/target/debug/deps/libtinystr-e89d95cd91a15395.rmeta --extern zerovec=/home/elango/oss/icu4x/target/debug/deps/libzerovec-75743d7b0ecdd6d0.rmeta` (signal: 6, SIGABRT: process abort signal)

Backtrace N/A.

Activity

  1. added
    C-bugCategory: This is a bug.
    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    on Aug 11, 2021
  2. hellow554 commented on Aug 11, 2021

    @hellow554
    Contributor

    Your compiler is "very" (3 versions behind) old. There should be no reason to pin to such an old compiler, unless you're using a very specific nightly version, which you aren't.

    This error however does also occur on latest stable (1.54.0) as well as nightly. So, ...

    @rustbot modify labels: regression-from-stable-to-stable I-crash -I-ICE

    Stable and nightly outputs are different though: (See #87932 (comment) for explanation)

    stable
    thread 'rustc' has overflowed its stack
    fatal runtime error: stack overflow
    error: could not compile `icu_uniset`
    
    Caused by:
      process didn't exit successfully: `rustc --crate-name icu_uniset --edition=2018 components/uniset/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="provider_serde"' --cfg 'feature="serde"' -C metadata=43bc661b47995493 -C extra-filename=-43bc661b47995493 --out-dir /tmp/tmp.C992JMFlCk/icu4x/target/debug/deps -C incremental=/tmp/tmp.C992JMFlCk/icu4x/target/debug/incremental -L dependency=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps --extern displaydoc=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libdisplaydoc-9150e0fe01bb7d90.so --extern icu_provider=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libicu_provider-e7f972a43d9578f4.rmeta --extern litemap=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/liblitemap-cbd4369110d76085.rmeta --extern serde=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libserde-c4032796bbea7b74.rmeta --extern tinystr=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libtinystr-c47caeef66ebb1a7.rmeta --extern zerovec=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libzerovec-8b294284a19c2ce4.rmeta` (signal: 6, SIGABRT: process abort signal)
    
    nightly
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x4ff3d3)[0x7f8dd5aa63d3]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x141f0)[0x7f8dd52041f0]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02a91)[0x7f8dd74a9a91]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28a4b7c)[0x7f8dd7e4bb7c]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b219d)[0x7f8dd7e5919d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
    /home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
    warning: `icu_uniset` (lib) generated 4 warnings
    error: could not compile `icu_uniset`; 4 warnings emitted
    
    Caused by:
      process didn't exit successfully: `rustc --crate-name icu_uniset --edition=2018 components/uniset/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="provider_serde"' --cfg 'feature="serde"' -C metadata=de260c24a41512a5 -C extra-filename=-de260c24a41512a5 --out-dir /tmp/tmp.C992JMFlCk/icu4x/target/debug/deps -C incremental=/tmp/tmp.C992JMFlCk/icu4x/target/debug/incremental -L dependency=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps --extern displaydoc=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libdisplaydoc-c30ce128ca5f4501.so --extern icu_provider=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libicu_provider-ae2bfff6067f7cee.rmeta --extern litemap=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/liblitemap-88a7f8237fe55dde.rmeta --extern serde=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libserde-dbed9398154f7560.rmeta --extern tinystr=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libtinystr-f2142b170417aafa.rmeta --extern zerovec=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libzerovec-8c103825d0555aac.rmeta` (signal: 11, SIGSEGV: invalid memory reference)
    
  3. added
    regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.
    I-prioritizeIssue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}
    on Aug 11, 2021
  4. hellow554 commented on Aug 11, 2021

    @hellow554
    Contributor

    This is causing the overflow:

    pub struct Up;
    
    impl<'de> serde::Deserialize<'de> for Up {
        fn deserialize<D>(_: D) -> Result<Self, D::Error>
        where
            D: serde::Deserializer<'de>,
        {
            const _A: () = {
                extern crate serde as _serde; // maybe this one causing the overflow?
            };
            Ok(Up)
        }
    }
    
    fn main() {}

    Trying to get rid of serde and bisecting right now.

    Bisecting shows that even a 2018-06-01 (1.28.0-nightly) will overflow.
    This is a edition2018 specific bug, because there's no need for extern crate serde anymore. If I add that to the outer scope, the overflow will go away.


    For reference, here's a code that a user would write, therefore I think this should be P-High

    pub struct UnicodePropertyV1 {}
    
    impl<'de> serde::Deserialize<'de> for UnicodePropertyV1 {
        fn deserialize<D>(_: D) -> Result<Self, D::Error>
        where
            D: serde::Deserializer<'de>,
        {
            #[derive(serde::Deserialize)]
            enum Field {}
    
            todo!()
        }
    }

    The workaround is to move the enum Field to the outer scope.

  5. added
    I-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.
    and removed
    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
    on Aug 11, 2021
  6. Manishearth commented on Aug 11, 2021

    @Manishearth
    Member

    Your compiler is "very" (3 versions behind) old. There should be no reason to pin to such an old compiler, unless you're using a very specific nightly version, which you aren't.

    @hellow554 Please don't respond to issues in this way. There are plenty of reasons to pin compiler versions like that, it's not a good idea to presume that someone has no reason to do a thing, and in the case of this issue it seems extraneous.

    The reduced testcase is appreciated, however!

  7. Manishearth commented on Aug 11, 2021

    @Manishearth
    Member

    @echeran note that adding the use declaration is not the source of the bug; the use declaration uncovers the bug because without the use the compiler fails earlier in the pipeline.

    @hellow554's reduced testcase also runs on the playpen if needed, btw!

  8. changed the title [-]adding a use declaration causes rustc stack overflow error[/-] [+]Derive(Deserialize) inside a function scope causes a stack overflow[/+] on Aug 11, 2021
  9. changed the title [-]Derive(Deserialize) inside a function scope causes a stack overflow[/-] [+]derive(Deserialize) inside a function scope causes a stack overflow[/+] on Aug 11, 2021
  10. eddyb commented on Aug 11, 2021

    @eddyb
    Contributor
  11. changed the title [-]derive(Deserialize) inside a function scope causes a stack overflow[/-] [+]extern crate serde inside a function scope dependent on serde causes a stack overflow[/+] on Aug 11, 2021
  12. hellow554 commented on Aug 11, 2021

    @hellow554
    Contributor

    For reference: The small error went away with #80182, which seems fine and dandy because that's whats the PR is supposed to do. So there's nothing wrong with the different outputs of stable and nightly :)

  13. apiraino commented on Aug 12, 2021

    @apiraino
    Contributor

    Assigning priority as discussed in the Zulip thread of the Prioritization Working Group.

    @rustbot label -I-prioritize +P-high

  14. added
    P-highHigh priority
    and removed
    I-prioritizeIssue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}
    on Aug 12, 2021
  15. prokopyl commented on Sep 9, 2021

    @prokopyl

    I believe I managed to hit this specific crash while working on Rust-LV2 (this is the WIP commit where I first encountered that crash), however, this project does not depend on Serde.

    I investigated further, and managed to make a complete minimal test case here, here's the gist of it (in src/lib.rs) :

    use mylib::{FooTrait, LibFoo};
    
    struct Foo;
    
    impl FooTrait for Foo {
        fn foo() {
            // The main offender: using extern crate inside the impl of a trait exposed by that same crate.
            extern crate mylib as _mylib;
        }
    }
    
    // An innocent bystander trait impl. It is not necessary to trigger the stack overflow,
    // but having the same 'extern crate' declaration in it *prevents* it.
    impl Clone for Foo {
        fn clone(&self) -> Self {
            // Uncomment the following, and it works again.
            // NOTE: This alone, without the 'extern crate' in the other impl, does not trigger the stack overflow.
    
            // extern crate mylib as _mylib;
            Foo
        }
    }
    
    // Either remove the pub, or change the return type, and it works again.
    // Note: either having this as pub, or having a #[no_mangle] attribute triggers the stack overflow
    pub fn exposed_lib_foo() -> LibFoo {
        // NOTE: removing/changing this value to another type here causes the correct type error
        // and does not trigger the stack overflow (yet?)
        LibFoo
    }

    This cannot be reproduced solely in the playground without Serde, as it requires a multiple-crate setup. This project has a main crate and a single mylib dependency.

    The points for reproducing the issue in a project are the following:

    • As pointed out by the title of this issue, there needs to be an extern crate declaration inside of a trait implementation, which references the same crate the trait is coming from.
    • There also needs an exposed function referencing a type from that same crate, i.e. either returning it, or receiving it as a parameter (either directly, or through a reference or pointer).
      • The exposed function can be either a pub function, or a private function marked with the #[no_mangle] attribute (the attribute is how I encountered the crash at first).

    The common denominator with Serde here is the extern crate in fn "hack" to make proc macros as hygienic as possible, first suggested in this comment of serde#159, which I discovered through the explanation in this blog post. I had just tried to use this same trick, as we've had proc-macro hygiene issues in the past, and that's when the compiler crashed with the stack overflow:

    ❯ cargo build
       Compiling rustc_repro_87932 v0.1.0 (/home/adrien/Projects/RustAudio/rustc_repro_87932)
    
    thread 'rustc' has overflowed its stack
    fatal runtime error: stack overflow
    error: could not compile `rustc_repro_87932`
    
    Caused by:
      process didn't exit successfully: `rustc --crate-name rustc_repro_87932 --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=0af247fb9f5226ff -C extra-filename=-0af247fb9f5226ff --out-dir /home/adrien/Projects/RustAudio/rustc_repro_87932/target/debug/deps -C incremental=/home/adrien/Projects/RustAudio/rustc_repro_87932/target/debug/incremental -L dependency=/home/adrien/Projects/RustAudio/rustc_repro_87932/target/debug/deps --extern mylib=/home/adrien/Projects/RustAudio/rustc_repro_87932/target/debug/deps/libmylib-8a9782bb2f662999.rmeta --extern mylib_sys=/home/adrien/Projects/RustAudio/rustc_repro_87932/target/debug/deps/libmylib_sys-423bf155b0053619.rmeta` (signal: 6, SIGABRT: process abort signal)

    And here's my rustc --version --verbose:

    rustc 1.54.0 (a178d0322 2021-07-26)
    binary: rustc
    commit-hash: a178d0322ce20e33eac124758e837cbd80a6f633
    commit-date: 2021-07-26
    host: x86_64-unknown-linux-gnu
    release: 1.54.0
    LLVM version: 12.0.1
    

    I know nothing about rustc's internals, but here are a few additional observations I made while making this test case:

    • Unlike what's described in the first message, both Rust-LV2 and my test project only reproduce the crash by actually building the project using cargo build (in either debug or release mode). Using cargo check on those projects did not crash.
      • This is also corroborated by the fact that introducing a type error in the exposed function does not result in a crash either — the type error stops the rustc before it actually builds anything.
    • The exposed function can be either in the same module as the trait implementations, or in a submodule, as long as it is either public or the function is #[no_mangle] (which, in a way, bypasses module visibility). If the function is either private, or marked pub but in a private module, the compiler does not crash.
    • The "exposed function" part of the crash does not apply to all exposed items: replacing the exposed_lib_foo function with e.g. pub const SYS_FOO: SysFoo = SysFoo; does not trigger a crash.
    • If a second extern crate declaration is added in the implementation of another trait (here demonstrated with Clone) then the crash does not happen anymore. Having it only in the Clone impl does not trigger the crash either.
      • It behaves like there is a cache of some sort on these 'extern crate' declarations, and having a cache miss inside of the trait impl referenced by that crate causes the crash.

    Hope this helps! 🙂

  16. changed the title [-]extern crate serde inside a function scope dependent on serde causes a stack overflow[/-] [+]extern crate inside a function scope dependent on that crate causes a stack overflow[/+] on Sep 9, 2021
  17. petrochenkov commented on Sep 9, 2021

    @petrochenkov
    Contributor

    I remember this, it is an old issue - #55779.

  18. petrochenkov commented on Sep 9, 2021

    @petrochenkov
    Contributor

    If @eddyb returns and finishes #56655, then this issue should be fixed as well.

    Narrator: eddyb never returned.

  19. self-assigned this
    on Sep 9, 2021
  20. eddyb commented on Sep 9, 2021

    @eddyb
    Contributor

    Ah, right, that got lost in the chaos of Rust 2018 + all the ty::print changes.
    Fingers crossed that code hasn't gotten crazier since.

  21. tmiasko commented on Sep 14, 2021

    @tmiasko
    Contributor

    A different reproducer (one above will stop working soon; probably).

    $ cat a.rs 
    pub trait Deserialize {
        fn deserialize();
    }
    $ cat b.rs 
    pub struct A {}
    
    impl a::Deserialize for A {
        fn deserialize() {
            extern crate a as _a;
        }
    }
    
    fn main() {
        A::deserialize();
    }
    $ rustc --crate-type=lib --edition=2018 a.rs
    $ rustc --crate-type=bin --edition=2018 b.rs -L. --extern a 
  22. eddyb commented on Oct 10, 2021

    @eddyb
    Contributor

    Finally found some time for this, some notes:

    • the observation that #56655 had been superseded by ty::print work, seems to be correct, so there's not really anything to do by trying to rebase that PR
    • this plan is what never happened, and should be relatively simple by comparison
    • right now we prioritize extern crate foo; over "Rust 2018 paths to foo" (whether in use or elsewhere), as the "source of foo", but I'm not sure the latter ends up being used with extern crate-introduced names, so I'm hoping flipping that priority direction is enough to get better results
  23. eddyb commented on Oct 10, 2021

    @eddyb
    Contributor

    Also, I don't recall seeing #55779 (comment) - seems like that would be the correct fix for the stack overflow, whereas the priority thing is more of an "aesthetic" fix.

    EDIT: this turns out not to be that simple, see #55779 (comment).

  24. added a commit that references this issue on Oct 17, 2021
    59dc218
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

C-bugCategory: This is a bug.I-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.P-highHigh priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions