Commit graph

4738 commits

Author SHA1 Message Date
ozkanonur
6c966dc656 implement stdout streaming in render_tests::Renderer
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-06-12 13:03:00 +03:00
Matthias Krüger
c1f2da5683
Rollup merge of #112528 - jyn514:fix-debuginfo-level, r=Mark-Simulacrum
bootstrap: Don't override `debuginfo-level = 1` to mean `line-tables-only`

This has real differences in the effective debuginfo: in particular, it omits the module-level information and makes perf less useful (it can't distinguish "self" from "child" time anymore).

Allow passing `line-tables-only` directly in config.toml instead.

See https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/debuginfo.20in.20try.20builds/near/365090631 and https://rust-lang.zulipchat.com/#narrow/stream/238009-t-compiler.2Fmeetings/topic/.5Bsteering.5D.202023-06-09/near/364883519 for more discussion. This effectively reverts the cargo half of https://github.com/rust-lang/rust/pull/110221 to avoid regressing https://github.com/rust-lang/rust/issues/60020 again in 1.72.
2023-06-11 18:38:29 +02:00
Matthias Krüger
733617bd16
Rollup merge of #112487 - zwhiteley:improve-docs, r=Mark-Simulacrum
Update documentation for `tools` defaults

This PR alters the information in the tools profile config to mention that `download-rustc` uses the stage2 toolchain and not the stage1 toolchain (see https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Unable.20to.20compile.20rustc.20MSVC and rust-lang/rustc-dev-guide#1694).
2023-06-11 18:38:28 +02:00
jyn
123693953f Don't override debuginfo-level = 1 to mean line-tables-only
This has real differences in the effective debuginfo: in particular, it omits the module-level information and breaks perf.

Allow passing `line-tables-only` directly in config.toml instead.
2023-06-11 10:14:37 -05:00
bors
970058e16b Auto merge of #112512 - matthiaskrgr:rollup-o2jh1jx, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #112475 (Fix issue for module name when surround the struct literal with parentheses)
 - #112477 (Give more helpful progress messages in `Assemble`)
 - #112484 (Fix ntdll linkage issues on Windows UWP platforms)
 - #112492 (Migrate GUI colors test to original CSS color format)
 - #112493 (iat selection: normalize self ty & completely erase bound vars)
 - #112497 (abs_sub: fix typo 0[-:][+.]0)
 - #112498 (Update links to Rust Reference in diagnostic)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-06-11 00:35:36 +00:00
Matthias Krüger
dbe31bb693
Rollup merge of #112477 - jyn514:assemble-info, r=clubby789
Give more helpful progress messages in `Assemble`

Before (download-rustc):
```
    # no output
```

After (download-rustc):
```
Creating a sysroot for stage2 compiler (use `rustup toolchain link 'name' build/host/stage2`)
```

Before (compiling from source):
```
Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
Assembling stage1 compiler
Build stage1 library artifacts (x86_64-unknown-linux-gnu -> i686-unknown-linux-gnu)
Building compiler artifacts (stage0:x86_64-unknown-linux-gnu -> stage1:i686-unknown-linux-gnu)
Assembling stage1 compiler (i686-unknown-linux-gnu)
```

After (compiling from source):
```
Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Build stage1 library artifacts (x86_64-unknown-linux-gnu)
Building compiler artifacts (stage0:x86_64-unknown-linux-gnu -> stage1:i686-unknown-linux-gnu)
Creating a sysroot for stage1 compiler (i686-unknown-linux-gnu) (use `rustup toolchain link 'name' build/i686-unknown-linux-gnu/stage1`)
```
cc https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Unable.20to.20compile.20rustc.20MSVC, https://discord.com/channels/273534239310479360/957720175619215380/1116867245499498506
2023-06-11 01:57:26 +02:00
bors
b8a50010de Auto merge of #112256 - jyn514:faster-mingw-check, r=Mark-Simulacrum
Don't compile rustc to self-test compiletest

This was changed from stage 0 to 1 in https://github.com/rust-lang/rust/pull/108905, but I'm not sure why. Change it to `top_stage` instead to allow people to choose the stage.

This should save quite a bit of time in the `mingw-check` builder, which explicitly runs `x test --stage 0 compiletest`.

Note that this also fixes a latent bug that depended on running `x build compiler` before `x doc compiler`, as well as a couple cleanups related to symlinks (which made the latent bug easier to find).

cc `@pietroalbini`
2023-06-10 21:47:13 +00:00
Zachary Whiteley
ab68390153
Improve documentation for tools profile
Make the build process more beginner friendly:

 - Include information explaining that the stage2 toolchain should be
   used (and not the stage1 toolchain) due to the `download-rustc`
   setting.

 - Display a message when the user runs `x setup tools` explaining that
   they should use the stage2 toolchain.
2023-06-10 19:08:58 +01:00
Matthias Krüger
04e41dda83
Rollup merge of #112297 - jyn514:remove-exclude-kind, r=Mark-Simulacrum
bootstrap: Disallow `--exclude test::std`

Use the top-level Kind to determine whether Steps are excluded.

Previously, this would use the `Kind` passed to `--exclude` (and not do any filtering at all if no kind was passed).
That meant that `x test linkchecker --exclude std` would fail - you had to explicitly say `--exclude test::std`.

Change bootstrap to use the top-level Kind instead, which does the right thing automatically.
Note that this breaks things like `x test --exclude doc::std`, but I'm not sure why you'd ever want to do that.

There's a lot of churn here, but the 1-line change in the first commit is the actual behavior change, the rest is just cleanup.

Fixes https://github.com/rust-lang/rust/issues/103201. Note that this effectively reverts most of https://github.com/rust-lang/rust/pull/91965.

cc `@pietroalbini`
2023-06-10 15:24:42 +02:00
jyn
f531fec411 Give more helpful progress messages in Assemble
Before (download-rustc):
```
 # no output
```

After (download-rustc):
```
Creating a sysroot for stage2 compiler (use `rustup toolchain link 'name' build/host/stage2`)
```

Before (compiling from source):
```
Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
Assembling stage1 compiler
Build stage1 library artifacts (x86_64-unknown-linux-gnu -> i686-unknown-linux-gnu)
Building compiler artifacts (stage0:x86_64-unknown-linux-gnu -> stage1:i686-unknown-linux-gnu)
Assembling stage1 compiler (i686-unknown-linux-gnu)
```

After (compiling from source):
```
Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Build stage1 library artifacts (x86_64-unknown-linux-gnu)
Building compiler artifacts (stage0:x86_64-unknown-linux-gnu -> stage1:i686-unknown-linux-gnu)
Creating a sysroot for stage1 compiler (i686-unknown-linux-gnu) (use `rustup toolchain link 'name' build/i686-unknown-linux-gnu/stage1`)
```
2023-06-09 18:20:38 -05:00
Matthew Esposito
7f79ceb438
Compile rustc_driver by default 2023-06-09 10:47:41 -04:00
bors
a77659a1e1 Auto merge of #112420 - matthiaskrgr:rollup-spiavw5, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - #109953 (Use 128 bits for TypeId hash)
 - #112333 (Don't hold the active queries lock while calling `make_query`)
 - #112339 (Fix rust-analyzer proc macro server)
 - #112410 (Do `fix_*_builtin_expr` hacks on the writeback results)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-06-08 13:30:52 +00:00
Matthias Krüger
c71daaac1f
Rollup merge of #112339 - lnicola:proc-macro-srv-feature, r=Veykril
Fix rust-analyzer proc macro server

The feature now exists on `proc-macro-srv-cli`, and without it the proc macro server will bail rigth out.

CC https://github.com/rust-lang/rust-analyzer/issues/14991
2023-06-08 12:36:18 +02:00
Guillaume Gomez
737dbb04d6
Rollup merge of #112309 - kadiwa4:remove_is_terminal, r=albertlarsan68
bootstrap: remove dependency `is-terminal`
2023-06-08 10:15:10 +02:00
bors
50f2176721 Auto merge of #112012 - Kobzol:try-build-llvm-rebuild, r=nikic
Avoid one `rustc` rebuild in the optimized build pipeline

This PR changes the optimized build pipeline to avoid one `rustc` rebuild, inspired by [this comment](https://github.com/rust-lang/rust/issues/112011#issuecomment-1564991175). This speeds up the pipeline by 5-10 minutes. After this change, we **no longer gather LLVM PGO profiles from compiling stage 2 of `rustc`**.

Now we build `rustc` two times (1x PGO instrumented, 1x PGO optimized) and LLVM three times (1x normal, 1x PGO instrumented, 1x PGO optimized). It should be possible to cache the normal LLVM build, but I'll leave that for another PR.
2023-06-08 00:46:58 +00:00
jyn
a2ab47f1e5 download-rustc: Fix x test core on MacOS
before, this hardcoded `.so` as the extension for dynamically linked objects, which is incorrect
everywhere except linux
2023-06-07 06:16:30 -05:00
Jakub Beránek
14ed9fa01c
Avoid one rustc rebuild in the optimized build pipeline 2023-06-07 10:58:45 +02:00
bors
7b28a6b08a Auto merge of #111495 - Kobzol:dist-tests, r=Mark-Simulacrum
Run tests on PGO/LTO/BOLT optimized dist artifacts

This PR adds baisc tests for the optimized dist builds on x64 Linux and Windows. A subset of the test suite is run, so it's not perfect, but it's better than the status quo (which is basically no testing at all, apart from the perf bot on Linux).

r? `@ghost`
2023-06-07 00:14:06 +00:00
Laurențiu Nicola
a3cc503876 Fix rust-analyzer proc macro server 2023-06-06 10:33:32 +03:00
Jakub Beránek
c91a3a4d0c
Test the PGO/BOLT/LTO optimized x64 Linux compiler on CI 2023-06-05 21:54:52 +02:00
Guillaume Gomez
154949dacd
Rollup merge of #112299 - jyn514:gha-progress, r=oli-obk
Don't double-print status messages in GHA

Before:

```
Building stage0 tool jsondocck (x86_64-unknown-linux-gnu)
  Building stage0 tool jsondocck (x86_64-unknown-linux-gnu)
   Downloading crates ...
```

After:

```
Building stage0 tool jsondocck (x86_64-unknown-linux-gnu)
   Downloading crates ...
```

r? `@oli-obk`
2023-06-05 17:02:52 +02:00
Guillaume Gomez
0258a16cdc
Rollup merge of #112291 - sigaloid:master, r=clubby789
Disable RustAnalyzer check by default, run Rustfmt check before

Fixes #112287.
2023-06-05 17:02:51 +02:00
kadiwa
edf342afc6
bootstrap: remove dep is-terminal 2023-06-05 13:52:47 +02:00
bors
42f28f9eb4 Auto merge of #110221 - jyn514:smaller-debuginfo, r=Mark-Simulacrum
Greatly decrease the size of `rustc_driver.so` when debuginfo is enabled

- Don't include extra unnecessary debuginfo when only debuginfo-level=1 is set
- Compress debuginfo sections to reduce the size of debuginfo on disk.

before: 650 MB
line tables only: 335 MB
compressed only: 216 MB
compressed and line tables: 186 MB
no debuginfo at all: 130 MB

Here's an example backtrace:

<details><summary>with `debuginfo=1` (what we emit currently for `debuginfo-level-rustc = 1`)</summary>

```
stack backtrace:
   0:     0x7f480fac6097 - std::backtrace_rs::backtrace::libunwind::trace::h8966ca44d9a34123
                               at /home/jyn/src/rust3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f480fac6097 - std::backtrace_rs::backtrace::trace_unsynchronized::h4d58a1c9cd2d9e24
                               at /home/jyn/src/rust3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f480faeb577 - std::sys_common::backtrace::_print_fmt::h95c3301848eb0632
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f480faeb577 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h723a24a56fc95abd
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f480fb45b39 - core::fmt::write::hfd80e5a0f5ad2c26
                               at /home/jyn/src/rust3/library/core/src/fmt/mod.rs:1254:17
   5:     0x7f480fa8a591 - std::io::Write::write_fmt::he06ca70f402de9f9
                               at /home/jyn/src/rust3/library/std/src/io/mod.rs:1698:15
   6:     0x7f480faeb3db - std::sys_common::backtrace::_print::h5c042881d187dfdd
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7f480faeb3db - std::sys_common::backtrace::print::h63ca06eeb2d47b55
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7f480fac5397 - std::panicking::default_hook::{{closure}}::h1f5c92be2aff3285
   9:     0x7f480fac5115 - std::panicking::default_hook::h6dc3715b1746d160
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:288:9
  10:     0x7f48108534ff - rustc_driver_impl[51f301ed0be6f62f]::DEFAULT_HOOK::{closure#0}::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_driver_impl/src/lib.rs:1188:17
  11:     0x7f480fac5aa4 - std::panicking::rust_panic_with_hook::h84ebf72507cc7aca
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:694:13
  12:     0x7f480fabfec2 - std::panicking::begin_panic_handler::{{closure}}::h2ee673746838829d
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:579:13
  13:     0x7f480fabfe36 - std::sys_common::backtrace::__rust_end_short_backtrace::h5f7b4d3d0568679c
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:150:18
  14:     0x7f480fac5492 - rust_begin_unwind
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:577:5
  15:     0x7f480fa80bd3 - core::panicking::panic_fmt::h53276e9f07775686
                               at /home/jyn/src/rust3/library/core/src/panicking.rs:67:14
  16:     0x7f4813a5999a - <rustc_errors[ce8323ca4cc1fd17]::HandlerInner>::panic_if_treat_err_as_bug
  17:     0x7f4813a5953d - <rustc_errors[ce8323ca4cc1fd17]::HandlerInner>::emit_diagnostic::{closure#2}
  18:     0x7f481094f589 - rustc_interface[850741d9ad1ee353]::callbacks::track_diagnostic::{closure#0}::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/callbacks.rs:41:53
  19:     0x7f481094f589 - rustc_middle[42813831790177f8]::ty::context::tls::enter_context::<rustc_interface[850741d9ad1ee353]::callbacks::track_diagnostic::{closure#0}::{closure#0}, ()>::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  20:     0x7f481094f589 - <std[4b96690c503973c9]:🧵:local::LocalKey<core[9f6b914a8323238a]::cell::Cell<*const ()>>>::try_with::<rustc_middle[42813831790177f8]::ty::context::tls::enter_context<rustc_interface[850741d9ad1ee353]::callbacks::track_diagnostic::{closure#0}::{closure#0}, ()>::{closure#0}, ()>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:252:16
  21:     0x7f481094f589 - <std[4b96690c503973c9]:🧵:local::LocalKey<core[9f6b914a8323238a]::cell::Cell<*const ()>>>::with::<rustc_middle[42813831790177f8]::ty::context::tls::enter_context<rustc_interface[850741d9ad1ee353]::callbacks::track_diagnostic::{closure#0}::{closure#0}, ()>::{closure#0}, ()>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:228:9
  22:     0x7f481093ea5a - rustc_middle[42813831790177f8]::ty::context::tls::enter_context::<rustc_interface[850741d9ad1ee353]::callbacks::track_diagnostic::{closure#0}::{closure#0}, ()>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:79:5
  23:     0x7f481093ea5a - rustc_interface[850741d9ad1ee353]::callbacks::track_diagnostic::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/callbacks.rs:41:20
  24:     0x7f481093ea5a - rustc_middle[42813831790177f8]::ty::context::tls::with_context_opt::<rustc_interface[850741d9ad1ee353]::callbacks::track_diagnostic::{closure#0}, ()>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs💯18
  25:     0x7f481093ea5a - rustc_interface[850741d9ad1ee353]::callbacks::track_diagnostic
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/callbacks.rs:31:5
  26:     0x7f4813a58b31 - <rustc_errors[ce8323ca4cc1fd17]::HandlerInner>::emit_diagnostic
                               at /home/jyn/src/rust3/compiler/rustc_errors/src/lib.rs:1370:9
  27:     0x7f4813a576a3 - <rustc_errors[ce8323ca4cc1fd17]::Handler>::emit_diagnostic
                               at /home/jyn/src/rust3/compiler/rustc_errors/src/lib.rs:1121:9
  28:     0x7f4813a9a00a - <rustc_span[c31f71685094a917]::ErrorGuaranteed as rustc_errors[ce8323ca4cc1fd17]::diagnostic_builder::EmissionGuarantee>::diagnostic_builder_emit_producing_guarantee
                               at /home/jyn/src/rust3/compiler/rustc_errors/src/diagnostic_builder.rs:169:28
  29:     0x7f48116f1e82 - <rustc_resolve[ae3e8cdb7693af44]::Resolver>::report_error
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/diagnostics.rs:533:9
  30:     0x7f4811799349 - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::report_error
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:3665:13
  31:     0x7f4811799349 - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::smart_resolve_path_fragment
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:3630:21
  32:     0x7f48117fb10c - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::with_optional_trait_ref::<(), <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::resolve_implementation::{closure#0}::{closure#0}::{closure#0}::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2680:23
  33:     0x7f48117fb10c - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::resolve_implementation::{closure#0}::{closure#0}::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2741:29
  34:     0x7f48117fb10c - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::with_lifetime_rib::<(), <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::resolve_implementation::{closure#0}::{closure#0}::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:1427:19
  35:     0x7f48117fb10c - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::resolve_implementation::{closure#0}::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2734:21
  36:     0x7f48117fb10c - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::with_self_rib_ns::<<rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::resolve_implementation::{closure#0}::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2704:9
  37:     0x7f48117fb10c - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::with_self_rib::<<rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::resolve_implementation::{closure#0}::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2709:9
  38:     0x7f48117fb10c - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::resolve_implementation::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2733:17
  39:     0x7f48117fb10c - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::with_generic_param_rib::<<rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::resolve_implementation::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2530:9
  40:     0x7f481178f9d6 - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::resolve_implementation
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2723:9
  41:     0x7f481178f9d6 - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::resolve_item
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2280:17
  42:     0x7f481181041f - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor as rustc_ast[c8db5f01609d59c8]::visit::Visitor>::visit_item::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:638:62
  43:     0x7f481181041f - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>::with_lifetime_rib::<(), <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor as rustc_ast[c8db5f01609d59c8]::visit::Visitor>::visit_item::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:1427:19
  44:     0x7f4811788dfc - <rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor as rustc_ast[c8db5f01609d59c8]::visit::Visitor>::visit_item
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:638:9
  45:     0x7f4811727b72 - rustc_ast[c8db5f01609d59c8]::visit::walk_crate::<rustc_resolve[ae3e8cdb7693af44]::late::LateResolutionVisitor>
                               at /home/jyn/src/rust3/compiler/rustc_ast/src/visit.rs:266:5
  46:     0x7f48117009fe - <rustc_resolve[ae3e8cdb7693af44]::Resolver>::late_resolve_crate
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:4355:9
  47:     0x7f4811718769 - <rustc_resolve[ae3e8cdb7693af44]::Resolver>::resolve_crate::{closure#0}::{closure#4}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/lib.rs:1486:57
  48:     0x7f4811718769 - <rustc_data_structures[eb5e208c37d0260d]::profiling::VerboseTimingGuard>::run::<(), <rustc_resolve[ae3e8cdb7693af44]::Resolver>::resolve_crate::{closure#0}::{closure#4}>
                               at /home/jyn/src/rust3/compiler/rustc_data_structures/src/profiling.rs:752:9
  49:     0x7f4811718769 - <rustc_session[1a3952bb48d6309d]::session::Session>::time::<(), <rustc_resolve[ae3e8cdb7693af44]::Resolver>::resolve_crate::{closure#0}::{closure#4}>
                               at /home/jyn/src/rust3/compiler/rustc_session/src/utils.rs:11:9
  50:     0x7f4811718769 - <rustc_resolve[ae3e8cdb7693af44]::Resolver>::resolve_crate::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/lib.rs:1486:13
  51:     0x7f4811718769 - <rustc_data_structures[eb5e208c37d0260d]::profiling::VerboseTimingGuard>::run::<(), <rustc_resolve[ae3e8cdb7693af44]::Resolver>::resolve_crate::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_data_structures/src/profiling.rs:752:9
  52:     0x7f4811718769 - <rustc_session[1a3952bb48d6309d]::session::Session>::time::<(), <rustc_resolve[ae3e8cdb7693af44]::Resolver>::resolve_crate::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_session/src/utils.rs:11:9
  53:     0x7f481170cb11 - <rustc_resolve[ae3e8cdb7693af44]::Resolver>::resolve_crate
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/lib.rs:1477:9
  54:     0x7f481093a0a2 - rustc_interface[850741d9ad1ee353]::passes::configure_and_expand
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/passes.rs:309:5
  55:     0x7f481093a0a2 - rustc_interface[850741d9ad1ee353]::passes::resolver_for_lowering
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/passes.rs:566:17
  56:     0x7f481276b314 - <rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering as rustc_query_system[79c28ca66b9d8600]::query::config::QueryConfig<rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>>::compute
                               at /home/jyn/src/rust3/compiler/rustc_query_impl/src/plumbing.rs:519:21
  57:     0x7f481276b314 - rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr::<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:443:72
  58:     0x7f481276b314 - rustc_middle[42813831790177f8]::ty::context::tls::enter_context::<rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  59:     0x7f481276b314 - <std[4b96690c503973c9]:🧵:local::LocalKey<core[9f6b914a8323238a]::cell::Cell<*const ()>>>::try_with::<rustc_middle[42813831790177f8]::ty::context::tls::enter_context<rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:252:16
  60:     0x7f481276b314 - <std[4b96690c503973c9]:🧵:local::LocalKey<core[9f6b914a8323238a]::cell::Cell<*const ()>>>::with::<rustc_middle[42813831790177f8]::ty::context::tls::enter_context<rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:228:9
  61:     0x7f48125abd27 - rustc_middle[42813831790177f8]::ty::context::tls::enter_context::<rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:79:5
  62:     0x7f48125abd27 - <rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt as rustc_query_system[79c28ca66b9d8600]::query::QueryContext>::start_query::<&rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>, rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_query_impl/src/plumbing.rs:127:13
  63:     0x7f48125abd27 - rustc_middle[42813831790177f8]::ty::context::tls::with_related_context::<<rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt as rustc_query_system[79c28ca66b9d8600]::query::QueryContext>::start_query<&rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>, rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:133:9
  64:     0x7f48125abd27 - rustc_middle[42813831790177f8]::ty::context::tls::with_context::<rustc_middle[42813831790177f8]::ty::context::tls::with_related_context<<rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt as rustc_query_system[79c28ca66b9d8600]::query::QueryContext>::start_query<&rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>, rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:111:36
  65:     0x7f48125abd27 - rustc_middle[42813831790177f8]::ty::context::tls::with_context_opt::<rustc_middle[42813831790177f8]::ty::context::tls::with_context<rustc_middle[42813831790177f8]::ty::context::tls::with_related_context<<rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt as rustc_query_system[79c28ca66b9d8600]::query::QueryContext>::start_query<&rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>, rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs💯18
  66:     0x7f48125abd27 - rustc_middle[42813831790177f8]::ty::context::tls::with_context::<rustc_middle[42813831790177f8]::ty::context::tls::with_related_context<<rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt as rustc_query_system[79c28ca66b9d8600]::query::QueryContext>::start_query<&rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>, rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:111:5
  67:     0x7f48125abd27 - rustc_middle[42813831790177f8]::ty::context::tls::with_related_context::<<rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt as rustc_query_system[79c28ca66b9d8600]::query::QueryContext>::start_query<&rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>, rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:124:5
  68:     0x7f48125abd27 - <rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt as rustc_query_system[79c28ca66b9d8600]::query::QueryContext>::start_query::<&rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>, rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_query_impl/src/plumbing.rs:112:9
  69:     0x7f48125abd27 - rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job_non_incr::<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:443:18
  70:     0x7f48125abd27 - rustc_query_system[79c28ca66b9d8600]::query::plumbing::execute_job::<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:401:17
  71:     0x7f48125abd27 - rustc_query_system[79c28ca66b9d8600]::query::plumbing::try_execute_query::<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:357:13
  72:     0x7f481244276f - rustc_query_system[79c28ca66b9d8600]::query::plumbing::get_query::<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:800:36
  73:     0x7f481244276f - stacker[d946eb825266a062]::maybe_grow::<(&rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>, core[9f6b914a8323238a]::option::Option<rustc_query_system[79c28ca66b9d8600]::dep_graph::graph::DepNodeIndex>), rustc_query_system[79c28ca66b9d8600]::query::plumbing::get_query<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/jyn/.local/lib/cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
  74:     0x7f481244276f - rustc_data_structures[eb5e208c37d0260d]::stack::ensure_sufficient_stack::<(&rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>, core[9f6b914a8323238a]::option::Option<rustc_query_system[79c28ca66b9d8600]::dep_graph::graph::DepNodeIndex>), rustc_query_system[79c28ca66b9d8600]::query::plumbing::get_query<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_data_structures/src/stack.rs:17:5
  75:     0x7f481244276f - rustc_query_system[79c28ca66b9d8600]::query::plumbing::get_query::<rustc_query_impl[d74f45b2a9c18a73]::queries::resolver_for_lowering, rustc_query_impl[d74f45b2a9c18a73]::plumbing::QueryCtxt>
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:800:9
  76:     0x7f481244276f - <rustc_query_impl[d74f45b2a9c18a73]::Queries as rustc_middle[42813831790177f8]::ty::query::QueryEngine>::resolver_for_lowering::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_query_impl/src/plumbing.rs:805:17
  77:     0x7f481244276f - <rustc_query_impl[d74f45b2a9c18a73]::Queries as rustc_middle[42813831790177f8]::ty::query::QueryEngine>::resolver_for_lowering
                               at /home/jyn/src/rust3/compiler/rustc_query_impl/src/lib.rs:46:1
  78:     0x7f4810902093 - <rustc_middle[42813831790177f8]::ty::query::TyCtxtAt>::resolver_for_lowering
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/query.rs:400:29
  79:     0x7f4810902093 - <rustc_middle[42813831790177f8]::ty::context::TyCtxt>::resolver_for_lowering
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/query.rs:386:17
  80:     0x7f4810902093 - rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}::{closure#2}::{closure#2}
                               at /home/jyn/src/rust3/compiler/rustc_driver_impl/src/lib.rs:369:48
  81:     0x7f4810902093 - <rustc_middle[42813831790177f8]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}::{closure#2}::{closure#2}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context.rs:559:37
  82:     0x7f4810902093 - rustc_middle[42813831790177f8]::ty::context::tls::enter_context::<<rustc_middle[42813831790177f8]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}::{closure#2}::{closure#2}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  83:     0x7f4810902093 - <std[4b96690c503973c9]:🧵:local::LocalKey<core[9f6b914a8323238a]::cell::Cell<*const ()>>>::try_with::<rustc_middle[42813831790177f8]::ty::context::tls::enter_context<<rustc_middle[42813831790177f8]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}::{closure#2}::{closure#2}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:252:16
  84:     0x7f4810902093 - <std[4b96690c503973c9]:🧵:local::LocalKey<core[9f6b914a8323238a]::cell::Cell<*const ()>>>::with::<rustc_middle[42813831790177f8]::ty::context::tls::enter_context<<rustc_middle[42813831790177f8]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}::{closure#2}::{closure#2}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:228:9
  85:     0x7f48108d8388 - rustc_middle[42813831790177f8]::ty::context::tls::enter_context::<<rustc_middle[42813831790177f8]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}::{closure#2}::{closure#2}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:79:5
  86:     0x7f48108d8388 - <rustc_middle[42813831790177f8]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}::{closure#2}::{closure#2}, &rustc_data_structures[eb5e208c37d0260d]::steal::Steal<(rustc_middle[42813831790177f8]::ty::ResolverAstLowering, alloc[7616734a6a699536]::rc::Rc<rustc_ast[c8db5f01609d59c8]::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context.rs:559:9
  87:     0x7f48108dfcf8 - rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}::{closure#2}
                               at /home/jyn/src/rust3/compiler/rustc_driver_impl/src/lib.rs:369:13
  88:     0x7f48108dfcf8 - <rustc_interface[850741d9ad1ee353]::interface::Compiler>::enter::<rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}::{closure#2}, core[9f6b914a8323238a]::result::Result<core[9f6b914a8323238a]::option::Option<rustc_interface[850741d9ad1ee353]::queries::Linker>, rustc_span[c31f71685094a917]::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/queries.rs:394:19
  89:     0x7f4810903a60 - rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}
                               at /home/jyn/src/rust3/compiler/rustc_driver_impl/src/lib.rs:330:22
  90:     0x7f4810903a60 - rustc_interface[850741d9ad1ee353]::interface::run_compiler::<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/interface.rs:301:21
  91:     0x7f4810903a60 - rustc_span[c31f71685094a917]::set_source_map::<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_span/src/lib.rs:1040:5
  92:     0x7f481086922e - rustc_interface[850741d9ad1ee353]::interface::run_compiler::<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/interface.rs:295:13
  93:     0x7f481086922e - <scoped_tls[edf8690d0b030835]::ScopedKey<rustc_span[c31f71685094a917]::SessionGlobals>>::set::<rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>
                               at /home/jyn/.local/lib/cargo/registry/src/index.crates.io-6f17d22bba15001f/scoped-tls-1.0.0/src/lib.rs:137:9
  94:     0x7f48109001e7 - rustc_span[c31f71685094a917]::create_session_globals_then::<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}>
                               at /home/jyn/src/rust3/compiler/rustc_span/src/lib.rs:120:5
  95:     0x7f48109001e7 - rustc_interface[850741d9ad1ee353]::util::run_in_thread_pool_with_globals::<rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#0}::{closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/util.rs:152:38
  96:     0x7f48109001e7 - std[4b96690c503973c9]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[850741d9ad1ee353]::util::run_in_thread_pool_with_globals<rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:134:18
  97:     0x7f4810900784 - <std[4b96690c503973c9]:🧵:Builder>::spawn_unchecked_::<rustc_interface[850741d9ad1ee353]::util::run_in_thread_pool_with_globals<rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#1}::{closure#0}
                               at /home/jyn/src/rust3/library/std/src/thread/mod.rs:525:17
  98:     0x7f4810900784 - <core[9f6b914a8323238a]::panic::unwind_safe::AssertUnwindSafe<<std[4b96690c503973c9]:🧵:Builder>::spawn_unchecked_<rustc_interface[850741d9ad1ee353]::util::run_in_thread_pool_with_globals<rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#1}::{closure#0}> as core[9f6b914a8323238a]::ops::function::FnOnce<()>>::call_once
                               at /home/jyn/src/rust3/library/core/src/panic/unwind_safe.rs:271:9
  99:     0x7f48108dd115 - std[4b96690c503973c9]::panicking::try::do_call::<core[9f6b914a8323238a]::panic::unwind_safe::AssertUnwindSafe<<std[4b96690c503973c9]:🧵:Builder>::spawn_unchecked_<rustc_interface[850741d9ad1ee353]::util::run_in_thread_pool_with_globals<rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:485:40
 100:     0x7f48108dd115 - std[4b96690c503973c9]::panicking::try::<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, core[9f6b914a8323238a]::panic::unwind_safe::AssertUnwindSafe<<std[4b96690c503973c9]:🧵:Builder>::spawn_unchecked_<rustc_interface[850741d9ad1ee353]::util::run_in_thread_pool_with_globals<rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#1}::{closure#0}>>
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:449:19
 101:     0x7f48108ff5a9 - std[4b96690c503973c9]::panic::catch_unwind::<core[9f6b914a8323238a]::panic::unwind_safe::AssertUnwindSafe<<std[4b96690c503973c9]:🧵:Builder>::spawn_unchecked_<rustc_interface[850741d9ad1ee353]::util::run_in_thread_pool_with_globals<rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/library/std/src/panic.rs:140:14
 102:     0x7f4810906dce - <std[4b96690c503973c9]:🧵:Builder>::spawn_unchecked_::<rustc_interface[850741d9ad1ee353]::util::run_in_thread_pool_with_globals<rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#1}
                               at /home/jyn/src/rust3/library/std/src/thread/mod.rs:524:30
 103:     0x7f4810906dce - <<std[4b96690c503973c9]:🧵:Builder>::spawn_unchecked_<rustc_interface[850741d9ad1ee353]::util::run_in_thread_pool_with_globals<rustc_interface[850741d9ad1ee353]::interface::run_compiler<core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>, rustc_driver_impl[51f301ed0be6f62f]::run_compiler::{closure#1}>::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[9f6b914a8323238a]::result::Result<(), rustc_span[c31f71685094a917]::ErrorGuaranteed>>::{closure#1} as core[9f6b914a8323238a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /home/jyn/src/rust3/library/core/src/ops/function.rs:250:5
 104:     0x7f480fade618 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h204dfbd14fd98aa2
                               at /home/jyn/src/rust3/library/alloc/src/boxed.rs:1976:9
 105:     0x7f480fade618 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h86fe0f298afbbb0f
                               at /home/jyn/src/rust3/library/alloc/src/boxed.rs:1976:9
 106:     0x7f480faab62f - std::sys::unix:🧵:Thread:🆕:thread_start::h3c9bf2d63800d28c
                               at /home/jyn/src/rust3/library/std/src/sys/unix/thread.rs:108:17
 107:     0x7f480f694b43 - start_thread
                               at ./nptl/./nptl/pthread_create.c:442:8
 108:     0x7f480f726a00 - clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
 109:                0x0 - <unknown>
```

</details>

<details><summary>with `debuginfo=line-tables-only` (what we'll emit for  `debuginfo-level-rustc = 1`) after this change</summary>

```
thread 'rustc' panicked at 'aborting due to `-Z treat-err-as-bug=1`', compiler/rustc_errors/src/lib.rs:1705:30
stack backtrace:
   0:     0x7fac39acb0b7 - trace
                               at /home/jyn/src/rust3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fac39acb0b7 - trace_unsynchronized<std::sys_common::backtrace::_print_fmt::{closure_env#1}>
                               at /home/jyn/src/rust3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fac39aaa745 - _print_fmt
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7fac39aaa745 - fmt
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fac39b67463 - write
                               at /home/jyn/src/rust3/library/core/src/fmt/mod.rs:1254:17
   5:     0x7fac39acf2a1 - write_fmt<std::sys::unix::stdio::Stderr>
                               at /home/jyn/src/rust3/library/std/src/io/mod.rs:1698:15
   6:     0x7fac39aaa5ad - _print
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7fac39aaa5ad - print
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7fac39ab4d47 - {closure#1}
   9:     0x7fac39ab4a8c - default_hook
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:288:9
  10:     0x7fac3a87f74f - {closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_driver_impl/src/lib.rs:1188:17
  11:     0x7fac39ab5452 - rust_panic_with_hook
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:694:13
  12:     0x7fac39aab252 - {closure#0}
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:579:13
  13:     0x7fac39aab1c6 - __rust_end_short_backtrace<std::panicking::begin_panic_handler::{closure_env#0}, !>
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:150:18
  14:     0x7fac39ab4e42 - begin_panic_handler
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:577:5
  15:     0x7fac39a81e13 - panic_fmt
                               at /home/jyn/src/rust3/library/core/src/panicking.rs:67:14
  16:     0x7fac3dbc79ba - panic_if_treat_err_as_bug
  17:     0x7fac3dbc756b - {closure#2}
  18:     0x7fac3a966278 - {closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/callbacks.rs:41:53
  19:     0x7fac3a966278 - {closure#0}<rustc_interface::callbacks::track_diagnostic::{closure#0}::{closure_env#0}, ()>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  20:     0x7fac3a966278 - try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_interface::callbacks::track_diagnostic::{closure#0}::{closure_env#0}, ()>, ()>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:252:16
  21:     0x7fac3a966278 - with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_interface::callbacks::track_diagnostic::{closure#0}::{closure_env#0}, ()>, ()>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:228:9
  22:     0x7fac3a954798 - enter_context<rustc_interface::callbacks::track_diagnostic::{closure#0}::{closure_env#0}, ()>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:79:5
  23:     0x7fac3a954798 - {closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/callbacks.rs:41:20
  24:     0x7fac3a954798 - with_context_opt<rustc_interface::callbacks::track_diagnostic::{closure_env#0}, ()>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs💯18
  25:     0x7fac3a954798 - track_diagnostic
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/callbacks.rs:31:5
  26:     0x7fac3dbc6b6d - emit_diagnostic
                               at /home/jyn/src/rust3/compiler/rustc_errors/src/lib.rs:1370:9
  27:     0x7fac3dbc5683 - emit_diagnostic
                               at /home/jyn/src/rust3/compiler/rustc_errors/src/lib.rs:1121:9
  28:     0x7fac3dbd974a - diagnostic_builder_emit_producing_guarantee
                               at /home/jyn/src/rust3/compiler/rustc_errors/src/diagnostic_builder.rs:169:28
  29:     0x7fac3b7e8012 - <rustc_resolve[f1b0f8896e774b]::Resolver>::report_error
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/diagnostics.rs:533:9
  30:     0x7fac3b75c083 - report_error
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:3665:13
  31:     0x7fac3b75c083 - smart_resolve_path_fragment
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:3630:21
  32:     0x7fac3b7b62d4 - with_optional_trait_ref<(), rustc_resolve::late::{impl#10}::resolve_implementation::{closure#0}::{closure#0}::{closure#0}::{closure_env#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2680:23
  33:     0x7fac3b7b62d4 - {closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2741:29
  34:     0x7fac3b7b62d4 - with_lifetime_rib<(), rustc_resolve::late::{impl#10}::resolve_implementation::{closure#0}::{closure#0}::{closure_env#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:1427:19
  35:     0x7fac3b7b62d4 - {closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2734:21
  36:     0x7fac3b7b62d4 - with_self_rib_ns<rustc_resolve::late::{impl#10}::resolve_implementation::{closure#0}::{closure_env#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2704:9
  37:     0x7fac3b7b62d4 - with_self_rib<rustc_resolve::late::{impl#10}::resolve_implementation::{closure#0}::{closure_env#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2709:9
  38:     0x7fac3b7b62d4 - {closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2733:17
  39:     0x7fac3b7b62d4 - with_generic_param_rib<rustc_resolve::late::{impl#10}::resolve_implementation::{closure_env#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2530:9
  40:     0x7fac3b752055 - resolve_implementation
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2723:9
  41:     0x7fac3b752055 - resolve_item
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:2280:17
  42:     0x7fac3b7cf6d1 - {closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:638:62
  43:     0x7fac3b7cf6d1 - with_lifetime_rib<(), rustc_resolve::late::{impl#9}::visit_item::{closure_env#0}>
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:1427:19
  44:     0x7fac3b74b179 - visit_item
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:638:9
  45:     0x7fac3b84b7e8 - walk_crate<rustc_resolve::late::LateResolutionVisitor>
                               at /home/jyn/src/rust3/compiler/rustc_ast/src/visit.rs:266:5
  46:     0x7fac3b7f731e - late_resolve_crate
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/late.rs:4355:9
  47:     0x7fac3b811562 - {closure#4}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/lib.rs:1486:57
  48:     0x7fac3b811562 - run<(), rustc_resolve::{impl#17}::resolve_crate::{closure#0}::{closure_env#4}>
                               at /home/jyn/src/rust3/compiler/rustc_data_structures/src/profiling.rs:752:9
  49:     0x7fac3b811562 - time<(), rustc_resolve::{impl#17}::resolve_crate::{closure#0}::{closure_env#4}>
                               at /home/jyn/src/rust3/compiler/rustc_session/src/utils.rs:11:9
  50:     0x7fac3b811562 - {closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/lib.rs:1486:13
  51:     0x7fac3b811562 - run<(), rustc_resolve::{impl#17}::resolve_crate::{closure_env#0}>
                               at /home/jyn/src/rust3/compiler/rustc_data_structures/src/profiling.rs:752:9
  52:     0x7fac3b811562 - time<(), rustc_resolve::{impl#17}::resolve_crate::{closure_env#0}>
                               at /home/jyn/src/rust3/compiler/rustc_session/src/utils.rs:11:9
  53:     0x7fac3b803761 - resolve_crate
                               at /home/jyn/src/rust3/compiler/rustc_resolve/src/lib.rs:1477:9
  54:     0x7fac3a96976f - configure_and_expand
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/passes.rs:309:5
  55:     0x7fac3a96976f - resolver_for_lowering
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/passes.rs:566:17
  56:     0x7fac3c61f894 - compute
                               at /home/jyn/src/rust3/compiler/rustc_query_impl/src/plumbing.rs:519:21
  57:     0x7fac3c61f894 - {closure#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:443:72
  58:     0x7fac3c61f894 - {closure#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  59:     0x7fac3c61f894 - try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:252:16
  60:     0x7fac3c61f894 - with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:228:9
  61:     0x7fac3c73544b - enter_context<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:79:5
  62:     0x7fac3c73544b - {closure#0}<&rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>>
                               at /home/jyn/src/rust3/compiler/rustc_query_impl/src/plumbing.rs:127:13
  63:     0x7fac3c73544b - {closure#0}<rustc_query_impl::plumbing::{impl#2}::start_query::{closure_env#0}<&rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:133:9
  64:     0x7fac3c73544b - {closure#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#2}::start_query::{closure_env#0}<&rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:111:36
  65:     0x7fac3c73544b - with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#2}::start_query::{closure_env#0}<&rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs💯18
  66:     0x7fac3c73544b - with_context<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#2}::start_query::{closure_env#0}<&rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:111:5
  67:     0x7fac3c73544b - with_related_context<rustc_query_impl::plumbing::{impl#2}::start_query::{closure_env#0}<&rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:124:5
  68:     0x7fac3c73544b - start_query<&rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>>
                               at /home/jyn/src/rust3/compiler/rustc_query_impl/src/plumbing.rs:112:9
  69:     0x7fac3c73544b - execute_job_non_incr<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:443:18
  70:     0x7fac3c73544b - execute_job<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:401:17
  71:     0x7fac3c73544b - try_execute_query<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:357:13
  72:     0x7fac3c3e4191 - {closure#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:800:36
  73:     0x7fac3c3e4191 - maybe_grow<(&rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>, core::option::Option<rustc_query_system::dep_graph::graph::DepNodeIndex>), rustc_query_system::query::plumbing::get_query::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>>
                               at /home/jyn/.local/lib/cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55:9
  74:     0x7fac3c3e4191 - ensure_sufficient_stack<(&rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>, core::option::Option<rustc_query_system::dep_graph::graph::DepNodeIndex>), rustc_query_system::query::plumbing::get_query::{closure_env#0}<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>>
                               at /home/jyn/src/rust3/compiler/rustc_data_structures/src/stack.rs:17:5
  75:     0x7fac3c3e4191 - get_query<rustc_query_impl::queries::resolver_for_lowering, rustc_query_impl::plumbing::QueryCtxt>
                               at /home/jyn/src/rust3/compiler/rustc_query_system/src/query/plumbing.rs:800:9
  76:     0x7fac3c3e4191 - {closure#0}
                               at /home/jyn/src/rust3/compiler/rustc_query_impl/src/plumbing.rs:805:17
  77:     0x7fac3c3e4191 - resolver_for_lowering
                               at /home/jyn/src/rust3/compiler/rustc_query_impl/src/lib.rs:46:1
  78:     0x7fac3a927bc4 - resolver_for_lowering
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/query.rs:400:29
  79:     0x7fac3a927bc4 - resolver_for_lowering
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/query.rs:386:17
  80:     0x7fac3a927bc4 - {closure#2}
                               at /home/jyn/src/rust3/compiler/rustc_driver_impl/src/lib.rs:369:48
  81:     0x7fac3a927bc4 - {closure#0}<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context.rs:559:37
  82:     0x7fac3a927bc4 - {closure#0}<rustc_middle::ty::context::{impl#9}::enter::{closure_env#0}<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  83:     0x7fac3a927bc4 - try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#9}::enter::{closure_env#0}<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:252:16
  84:     0x7fac3a927bc4 - with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#9}::enter::{closure_env#0}<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/library/std/src/thread/local.rs:228:9
  85:     0x7fac3a920978 - enter_context<rustc_middle::ty::context::{impl#9}::enter::{closure_env#0}<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context/tls.rs:79:5
  86:     0x7fac3a920978 - enter<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::rc::Rc<rustc_ast::ast::Crate>)>>
                               at /home/jyn/src/rust3/compiler/rustc_middle/src/ty/context.rs:559:9
  87:     0x7fac3a898231 - {closure#2}
                               at /home/jyn/src/rust3/compiler/rustc_driver_impl/src/lib.rs:369:13
  88:     0x7fac3a898231 - enter<rustc_driver_impl::run_compiler::{closure#1}::{closure_env#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/queries.rs:394:19
  89:     0x7fac3a92acd0 - {closure#1}
                               at /home/jyn/src/rust3/compiler/rustc_driver_impl/src/lib.rs:330:22
  90:     0x7fac3a92acd0 - {closure#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/interface.rs:301:21
  91:     0x7fac3a92acd0 - set_source_map<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler::{closure#0}::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>>
                               at /home/jyn/src/rust3/compiler/rustc_span/src/lib.rs:1040:5
  92:     0x7fac3a90be75 - {closure#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/interface.rs:295:13
  93:     0x7fac3a90be75 - set<rustc_span::SessionGlobals, rustc_interface::interface::run_compiler::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /home/jyn/.local/lib/cargo/registry/src/index.crates.io-6f17d22bba15001f/scoped-tls-1.0.0/src/lib.rs:137:9
  94:     0x7fac3a936180 - create_session_globals_then<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>>
                               at /home/jyn/src/rust3/compiler/rustc_span/src/lib.rs:120:5
  95:     0x7fac3a936180 - {closure#0}<rustc_interface::interface::run_compiler::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/compiler/rustc_interface/src/util.rs:152:38
  96:     0x7fac3a936180 - __rust_begin_short_backtrace<rustc_interface::util::run_in_thread_pool_with_globals::{closure#0}::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/library/std/src/sys_common/backtrace.rs:134:18
  97:     0x7fac3a933f34 - {closure#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure#0}::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/library/std/src/thread/mod.rs:525:17
  98:     0x7fac3a933f34 - call_once<core::result::Result<(), rustc_span::ErrorGuaranteed>, std:🧵:{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure#0}::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>
                               at /home/jyn/src/rust3/library/core/src/panic/unwind_safe.rs:271:9
  99:     0x7fac3a92edee - do_call<core::panic::unwind_safe::AssertUnwindSafe<std:🧵:{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure#0}::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:485:40
 100:     0x7fac3a92edee - try<core::result::Result<(), rustc_span::ErrorGuaranteed>, core::panic::unwind_safe::AssertUnwindSafe<std:🧵:{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure#0}::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>>
                               at /home/jyn/src/rust3/library/std/src/panicking.rs:449:19
 101:     0x7fac3a92b4a9 - std[87510a80a31d1ff5]::panic::catch_unwind::<core[d7640b29515502ef]::panic::unwind_safe::AssertUnwindSafe<<std[87510a80a31d1ff5]:🧵:Builder>::spawn_unchecked_<rustc_interface[d7f3acd7fb1171d2]::util::run_in_thread_pool_with_globals<rustc_interface[d7f3acd7fb1171d2]::interface::run_compiler<core[d7640b29515502ef]::result::Result<(), rustc_span[a64d79e97ca68de]::ErrorGuaranteed>, rustc_driver_impl[c9cfc8bd445e3254]::run_compiler::{closure#1}>::{closure#0}, core[d7640b29515502ef]::result::Result<(), rustc_span[a64d79e97ca68de]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[d7640b29515502ef]::result::Result<(), rustc_span[a64d79e97ca68de]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[d7640b29515502ef]::result::Result<(), rustc_span[a64d79e97ca68de]::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/library/std/src/panic.rs:140:14
 102:     0x7fac3a93565a - {closure#1}<rustc_interface::util::run_in_thread_pool_with_globals::{closure#0}::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>
                               at /home/jyn/src/rust3/library/std/src/thread/mod.rs:524:30
 103:     0x7fac3a93565a - call_once<std:🧵:{impl#0}::spawn_unchecked_::{closure_env#1}<rustc_interface::util::run_in_thread_pool_with_globals::{closure#0}::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#0}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#1}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, ()>
                               at /home/jyn/src/rust3/library/core/src/ops/function.rs:250:5
 104:     0x7fac39abfb7a - call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>
                               at /home/jyn/src/rust3/library/alloc/src/boxed.rs:1976:9
 105:     0x7fac39abfb7a - call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global>
                               at /home/jyn/src/rust3/library/alloc/src/boxed.rs:1976:9
 106:     0x7fac39acc15f - thread_start
                               at /home/jyn/src/rust3/library/std/src/sys/unix/thread.rs:108:17
 107:     0x7fac39694b43 - start_thread
                               at ./nptl/./nptl/pthread_create.c:442:8
 108:     0x7fac39726a00 - clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
 109:                0x0 - <unknown>
```

</details>

<details><summary>with `debuginfo==0` (what we ship on nightly)</summary>

```
thread 'rustc' panicked at 'aborting due to `-Z treat-err-as-bug=1`', compiler/rustc_errors/src/lib.rs:1707:30
stack backtrace:
   0:     0x7fecab564dda - std::backtrace_rs::backtrace::libunwind::trace::hd890f297c35553be
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fecab564dda - std::backtrace_rs::backtrace::trace_unsynchronized::h5e501f63d322b5d9
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fecab564dda - std::sys_common::backtrace::_print_fmt::h4ea5404a8dc8a615
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7fecab564dda - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h528f1c63f2f0b5a2
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fecab5c8e8f - core::fmt::write::h92fbcfdd55bf20e5
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/core/src/fmt/mod.rs:1254:17
   5:     0x7fecab557a15 - std::io::Write::write_fmt::hd6d4f06b4b60f7dd
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/io/mod.rs:1698:15
   6:     0x7fecab564ba5 - std::sys_common::backtrace::_print::hfe70f1a1dda7f547
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7fecab564ba5 - std::sys_common::backtrace::print::h204d02dc6e92a8d4
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7fecab56784e - std::panicking::default_hook::{{closure}}::h590499ac98120a02
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/panicking.rs:269:22
   9:     0x7fecab5675f5 - std::panicking::default_hook::h8432db3afafe8754
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/panicking.rs:288:9
  10:     0x7fecae86bc95 - <rustc_driver_impl[51bbdc723b4381e6]::DEFAULT_HOOK::{closure#0}::{closure#0} as core[b4e41bc4a7d98353]::ops::function::FnOnce<(&core[b4e41bc4a7d98353]::panic::panic_info::PanicInfo,)>>::call_once::{shim:vtable#0}
  11:     0x7fecab568044 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6a5479add409cfec
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/alloc/src/boxed.rs:1990:9
  12:     0x7fecab568044 - std::panicking::rust_panic_with_hook::hc982020112517be5
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/panicking.rs:694:13
  13:     0x7fecab567d72 - std::panicking::begin_panic_handler::{{closure}}::h68df73769393a5df
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/panicking.rs:579:13
  14:     0x7fecab565246 - std::sys_common::backtrace::__rust_end_short_backtrace::h490338a02e715ea3
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/sys_common/backtrace.rs:150:18
  15:     0x7fecab567b12 - rust_begin_unwind
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/panicking.rs:577:5
  16:     0x7fecab5c51a3 - core::panicking::panic_fmt::hb91cac3667584009
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/core/src/panicking.rs:67:14
  17:     0x7fecadfa81c0 - <rustc_errors[2fd8e19074bb19a7]::HandlerInner>::panic_if_treat_err_as_bug
  18:     0x7fecadfa650f - <rustc_errors[2fd8e19074bb19a7]::HandlerInner>::emit_diagnostic::{closure#2}
  19:     0x7fecadfd04e9 - rustc_interface[868d1d6dcc7ce3f3]::callbacks::track_diagnostic
  20:     0x7fecac87941a - <rustc_errors[2fd8e19074bb19a7]::HandlerInner>::emit_diagnostic
  21:     0x7fecad75de51 - <rustc_errors[2fd8e19074bb19a7]::Handler>::emit_diagnostic
  22:     0x7fecad73392d - <rustc_span[d920f05353a0b67d]::ErrorGuaranteed as rustc_errors[2fd8e19074bb19a7]::diagnostic_builder::EmissionGuarantee>::diagnostic_builder_emit_producing_guarantee
  23:     0x7fecad81a421 - <rustc_resolve[cc3659b19ec6d104]::Resolver>::report_error
  24:     0x7fecad81a3e7 - <rustc_resolve[cc3659b19ec6d104]::late::LateResolutionVisitor>::report_error
  25:     0x7fecacd57edb - <rustc_resolve[cc3659b19ec6d104]::late::LateResolutionVisitor>::smart_resolve_path_fragment
  26:     0x7fecad7a9179 - <rustc_resolve[cc3659b19ec6d104]::late::LateResolutionVisitor>::resolve_item
  27:     0x7fecad7a7ce1 - <rustc_resolve[cc3659b19ec6d104]::late::LateResolutionVisitor as rustc_ast[46060e470f68bdeb]::visit::Visitor>::visit_item
  28:     0x7fecad7a7b4d - <rustc_resolve[cc3659b19ec6d104]::Resolver>::late_resolve_crate
  29:     0x7fecad7a6e07 - <rustc_session[34fa709a0c7b5987]::session::Session>::time::<(), <rustc_resolve[cc3659b19ec6d104]::Resolver>::resolve_crate::{closure#0}>
  30:     0x7fecad7a4524 - rustc_interface[868d1d6dcc7ce3f3]::passes::resolver_for_lowering
  31:     0x7fecae044e5e - rustc_query_system[eeb3ef4bd40de947]::query::plumbing::try_execute_query::<rustc_query_impl[2a438d6e87721fba]::queries::resolver_for_lowering, rustc_query_impl[2a438d6e87721fba]::plumbing::QueryCtxt>
  32:     0x7fecae044b4d - <rustc_query_impl[2a438d6e87721fba]::Queries as rustc_middle[957f224f93100ef5]::ty::query::QueryEngine>::resolver_for_lowering
  33:     0x7fecadee5ce8 - <std[db937e718f1a3e1c]:🧵:local::LocalKey<core[b4e41bc4a7d98353]::cell::Cell<*const ()>>>::with::<rustc_middle[957f224f93100ef5]::ty::context::tls::enter_context<<rustc_middle[957f224f93100ef5]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[51bbdc723b4381e6]::run_compiler::{closure#1}::{closure#2}::{closure#2}, &rustc_data_structures[410595481347da08]::steal::Steal<(rustc_middle[957f224f93100ef5]::ty::ResolverAstLowering, alloc[dc4e5414e8dd53a1]::rc::Rc<rustc_ast[46060e470f68bdeb]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[410595481347da08]::steal::Steal<(rustc_middle[957f224f93100ef5]::ty::ResolverAstLowering, alloc[dc4e5414e8dd53a1]::rc::Rc<rustc_ast[46060e470f68bdeb]::ast::Crate>)>>::{closure#0}, &rustc_data_structures[410595481347da08]::steal::Steal<(rustc_middle[957f224f93100ef5]::ty::ResolverAstLowering, alloc[dc4e5414e8dd53a1]::rc::Rc<rustc_ast[46060e470f68bdeb]::ast::Crate>)>>
  34:     0x7fecadae2583 - <rustc_interface[868d1d6dcc7ce3f3]::interface::Compiler>::enter::<rustc_driver_impl[51bbdc723b4381e6]::run_compiler::{closure#1}::{closure#2}, core[b4e41bc4a7d98353]::result::Result<core[b4e41bc4a7d98353]::option::Option<rustc_interface[868d1d6dcc7ce3f3]::queries::Linker>, rustc_span[d920f05353a0b67d]::ErrorGuaranteed>>
  35:     0x7fecadadd901 - rustc_span[d920f05353a0b67d]::set_source_map::<core[b4e41bc4a7d98353]::result::Result<(), rustc_span[d920f05353a0b67d]::ErrorGuaranteed>, rustc_interface[868d1d6dcc7ce3f3]::interface::run_compiler<core[b4e41bc4a7d98353]::result::Result<(), rustc_span[d920f05353a0b67d]::ErrorGuaranteed>, rustc_driver_impl[51bbdc723b4381e6]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  36:     0x7fecadadceaf - std[db937e718f1a3e1c]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[868d1d6dcc7ce3f3]::util::run_in_thread_pool_with_globals<rustc_interface[868d1d6dcc7ce3f3]::interface::run_compiler<core[b4e41bc4a7d98353]::result::Result<(), rustc_span[d920f05353a0b67d]::ErrorGuaranteed>, rustc_driver_impl[51bbdc723b4381e6]::run_compiler::{closure#1}>::{closure#0}, core[b4e41bc4a7d98353]::result::Result<(), rustc_span[d920f05353a0b67d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[b4e41bc4a7d98353]::result::Result<(), rustc_span[d920f05353a0b67d]::ErrorGuaranteed>>
  37:     0x7fecae133881 - <<std[db937e718f1a3e1c]:🧵:Builder>::spawn_unchecked_<rustc_interface[868d1d6dcc7ce3f3]::util::run_in_thread_pool_with_globals<rustc_interface[868d1d6dcc7ce3f3]::interface::run_compiler<core[b4e41bc4a7d98353]::result::Result<(), rustc_span[d920f05353a0b67d]::ErrorGuaranteed>, rustc_driver_impl[51bbdc723b4381e6]::run_compiler::{closure#1}>::{closure#0}, core[b4e41bc4a7d98353]::result::Result<(), rustc_span[d920f05353a0b67d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[b4e41bc4a7d98353]::result::Result<(), rustc_span[d920f05353a0b67d]::ErrorGuaranteed>>::{closure#1} as core[b4e41bc4a7d98353]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  38:     0x7fecab572125 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hef9df890a1678c59
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/alloc/src/boxed.rs:1976:9
  39:     0x7fecab572125 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h71aaab3d70b452a5
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/alloc/src/boxed.rs:1976:9
  40:     0x7fecab572125 - std::sys::unix:🧵:Thread:🆕:thread_start::h235613601b6f7135
                               at /rustc/9df3a39fb30575d808e70800f9fad5362aac57a2/library/std/src/sys/unix/thread.rs:108:17
  41:     0x7fecab294b43 - start_thread
                               at ./nptl/./nptl/pthread_create.c:442:8
  42:     0x7fecab326a00 - clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
  43:                0x0 - <unknown>
```

</details>

I want to investigate why `-C line-tables-only` is still ~tripling the size of the binary (update: done https://github.com/rust-lang/rust/pull/110221#issuecomment-1507563024), but this seems like a good improvement in the meantime.

I've tested that both valgrind and perf can read the debuginfo:

<details>

```
(bash@dev-desktop-us-1.infra.rust-lang.org) ~/rust [08:31:08]
; valgrind $(rustup which rustc --toolchain rust_stage2) --version
==441671== Memcheck, a memory error detector
==441671== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==441671== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==441671== Command: /home/gh-jyn514/.local/lib/rustup/toolchains/rust_stage2/bin/rustc --version
==441671==
rustc 1.70.0-dev
==441671==
==441671== HEAP SUMMARY:
==441671==     in use at exit: 231,289 bytes in 1,874 blocks
==441671==   total heap usage: 2,538 allocs, 664 frees, 486,368 bytes allocated
==441671==
==441671== LEAK SUMMARY:
==441671==    definitely lost: 70,656 bytes in 1 blocks
==441671==    indirectly lost: 0 bytes in 0 blocks
==441671==      possibly lost: 0 bytes in 0 blocks
==441671==    still reachable: 160,633 bytes in 1,873 blocks
==441671==         suppressed: 0 bytes in 0 blocks
==441671== Rerun with --leak-check=full to see details of leaked memory
==441671==
==441671== For lists of detected and suppressed errors, rerun with: -s
==441671== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
; perf record $(rustup which rustc --toolchain rust_stage2) --version
rustc 1.70.0-dev
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.005 MB perf.data (70 samples) ]
; perf report
Samples: 70  of event 'cycles:u', Event count (approx.): 21356967
Overhead  Command  Shared Object                        Symbol
  51.55%  rustc    ld-linux-aarch64.so.1                [.] _dl_lookup_symbol_x
  18.70%  rustc    ld-linux-aarch64.so.1                [.] _dl_relocate_object
  11.95%  rustc    ld-linux-aarch64.so.1                [.] do_lookup_x
   5.55%  rustc    [unknown]                            [k] 0xffffa9ad41cfcfdc
   2.68%  rustc    libc.so.6                            [.] __GI___strlen_asimd
   2.42%  rustc    librustc_driver-1a385c366c35e81a.so  [.] llvm::StringMapImpl::LookupBucketFor
   2.16%  rustc    librustc_driver-1a385c366c35e81a.so  [.] _GLOBAL__sub_I_X86InstructionSelector.cpp
   1.96%  rustc    libstd-990fe978dab76ef3.so           [.] <alloc::vec::Vec<T,A> as core::clone::Clone>::clone
   1.60%  rustc    librustc_driver-1a385c366c35e81a.so  [.] llvm:🆑:opt<bool, false, llvm:🆑:parser<bool> >::~opt
   1.22%  rustc    ld-linux-aarch64.so.1                [.] strcmp
   0.13%  rustc    ld-linux-aarch64.so.1                [.] stat64
   0.05%  rustc    ld-linux-aarch64.so.1                [.] __minimal_calloc
   0.02%  rustc    ld-linux-aarch64.so.1                [.] __GI___tunables_init
   0.02%  rustc    ld-linux-aarch64.so.1                [.] _dl_start
   0.00%  rustc    [unknown]                            [k] 0xffffa9ad41cfd844
   0.00%  rustc    ld-linux-aarch64.so.1                [.] _start
```

</details>

To test this, you can run `x build --stage 0 cargo`, set `build.cargo = "build/host/stage0-tools-bin/cargo"`, and then `x build --stage 2 std`. You should be able to compare the rustc_driver.so outputs to each other:
```
; ls -lh build/host/stage{0,1,2}/lib/librustc_driver*.so
-rw-r--r-- 1 jyn jyn 130M Mar  6 15:24 build/host/stage0/lib/librustc_driver-f265b505c593f632.so
-rwxrwxr-x 3 jyn jyn 216M Apr 11 00:51 build/host/stage1/lib/librustc_driver-3aa1aa8c8214a2de.so
-rwxrwxr-x 4 jyn jyn 186M Apr 11 00:54 build/host/stage2/lib/librustc_driver-02d96489c468b21e.so
```

The difference between stage1 and stage2 is `debuginfo=1` vs `debuginfo=line-tables-only`. Both stages have `-gz` (compressed debuginfo) enabled.

This depends on https://github.com/rust-lang/cargo/pull/11958 (and the exact commit of the cargo submodule will need to change before merging).

Helps with https://github.com/rust-lang/rust/pull/104968.
2023-06-05 07:48:47 +00:00
jyn
c73c5dd35f cleanup now that Kind is no longer used for excludes 2023-06-04 23:15:22 -05:00
jyn
af4e6c1937 Don't double-print status messages in GHA
Before:

```
Building stage0 tool jsondocck (x86_64-unknown-linux-gnu)
  Building stage0 tool jsondocck (x86_64-unknown-linux-gnu)
   Downloading crates ...
```

After:

```
Building stage0 tool jsondocck (x86_64-unknown-linux-gnu)
   Downloading crates ...
```
2023-06-04 22:12:29 -05:00
jyn
1205e6cff3 Use the top-level Kind to determine whether Steps are excluded
Previously, this would use the `Kind` passed to `--exclude` (and not do any filtering at all if no kind was passed).
That meant that `x test linkchecker --exclude std` would fail - you had to explicitly say `--exclude test::std`.

Change bootstrap to use the top-level Kind instead, which does the right thing automatically.
Note that this breaks things like `x test --exclude doc::std`, but I'm not sure why you'd ever want to do that.
2023-06-04 21:44:02 -05:00
jyn
5eeeed1aa1 Greatly decrease the size of rustc_driver.so when debuginfo is enabled
- Only add -gz if it's supported
- Don't include extra unnecessary debuginfo when only debuginfo-level=1 is set
- Compress debuginfo sections to reduce the size of debuginfo on disk.

before: 650 MB
line tables only: 335 MB
compressed only: 216 MB
compressed and line tables: 186 MB
no debuginfo at all: 130 MB

I want to investigate why `-C line-tables-only` is still ~tripling the
size of the binary, but this seems like a good improvement in the
meantime.

I've tested that both valgrind and perf can read the debuginfo:
```
(bash@dev-desktop-us-1.infra.rust-lang.org) ~/rust [08:31:08]
; valgrind $(rustup which rustc --toolchain rust_stage2) --version
==441671== Memcheck, a memory error detector
==441671== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==441671== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==441671== Command: /home/gh-jyn514/.local/lib/rustup/toolchains/rust_stage2/bin/rustc --version
==441671==
rustc 1.70.0-dev
==441671==
==441671== HEAP SUMMARY:
==441671==     in use at exit: 231,289 bytes in 1,874 blocks
==441671==   total heap usage: 2,538 allocs, 664 frees, 486,368 bytes allocated
==441671==
==441671== LEAK SUMMARY:
==441671==    definitely lost: 70,656 bytes in 1 blocks
==441671==    indirectly lost: 0 bytes in 0 blocks
==441671==      possibly lost: 0 bytes in 0 blocks
==441671==    still reachable: 160,633 bytes in 1,873 blocks
==441671==         suppressed: 0 bytes in 0 blocks
==441671== Rerun with --leak-check=full to see details of leaked memory
==441671==
==441671== For lists of detected and suppressed errors, rerun with: -s
==441671== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
; perf record $(rustup which rustc --toolchain rust_stage2) --version
rustc 1.70.0-dev
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.005 MB perf.data (70 samples) ]
; perf report
Samples: 70  of event 'cycles:u', Event count (approx.): 21356967
Overhead  Command  Shared Object                        Symbol
  51.55%  rustc    ld-linux-aarch64.so.1                [.] _dl_lookup_symbol_x
  18.70%  rustc    ld-linux-aarch64.so.1                [.] _dl_relocate_object
  11.95%  rustc    ld-linux-aarch64.so.1                [.] do_lookup_x
   5.55%  rustc    [unknown]                            [k] 0xffffa9ad41cfcfdc
   2.68%  rustc    libc.so.6                            [.] __GI___strlen_asimd
   2.42%  rustc    librustc_driver-1a385c366c35e81a.so  [.] llvm::StringMapImpl::LookupBucketFor
   2.16%  rustc    librustc_driver-1a385c366c35e81a.so  [.] _GLOBAL__sub_I_X86InstructionSelector.cpp
   1.96%  rustc    libstd-990fe978dab76ef3.so           [.] <alloc::vec::Vec<T,A> as core::clone::Clone>::clone
   1.60%  rustc    librustc_driver-1a385c366c35e81a.so  [.] llvm:🆑:opt<bool, false, llvm:🆑:parser<bool> >::~opt
   1.22%  rustc    ld-linux-aarch64.so.1                [.] strcmp
   0.13%  rustc    ld-linux-aarch64.so.1                [.] stat64
   0.05%  rustc    ld-linux-aarch64.so.1                [.] __minimal_calloc
   0.02%  rustc    ld-linux-aarch64.so.1                [.] __GI___tunables_init
   0.02%  rustc    ld-linux-aarch64.so.1                [.] _dl_start
   0.00%  rustc    [unknown]                            [k] 0xffffa9ad41cfd844
   0.00%  rustc    ld-linux-aarch64.so.1                [.] _start
```
2023-06-04 21:04:10 -05:00
Matthew Esposito
7ed7e208ab
Run Rustfmt before RustAnalyzer 2023-06-04 18:06:52 -04:00
Matthew Esposito
1835d0333b
Make RustAnalyzer check off by default 2023-06-04 18:06:34 -04:00
bors
101fa903bb Auto merge of #112282 - matthiaskrgr:rollup-1g9w02p, r=matthiaskrgr
Rollup of 3 pull requests

Successful merges:

 - #112247 (rust-lld: add rpath entry to the correct `lib` folder)
 - #112274 (Migrate GUI colors test to original CSS color format)
 - #112277 (Don't require the output from libtest to be valid UTF-8)

Failed merges:

 - #112251 (rustdoc: convert `if let Some()` that always matches to variable)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-06-04 19:38:09 +00:00
Matthias Krüger
0716ac9bff
Rollup merge of #112277 - jyn514:non-utf8-tests, r=ozkanonur
Don't require the output from libtest to be valid UTF-8

On Windows this is sometimes not the case, for reasons I can't track down (maybe related to localization? the bug report had a french locale).

This works around the problem, although I'm not sure how to confirm we're not generating invalid build metrics in this case.

Fixes https://github.com/rust-lang/rust/issues/112273.
2023-06-04 19:41:16 +02:00
Matthias Krüger
ef2c64ba6c
Rollup merge of #112247 - lqd:lld-rpath, r=Mark-Simulacrum
rust-lld: add rpath entry to the correct `lib` folder

An explanation, for our linux rustup toolchain:
- `lld` / `rust-lld` is built as a regular LLVM tool, but is not distributed via the `llvm-tools` component. It's distributed by default, like a regular rust binary, like cargo and rustc. The general expected setup is: binaries in `bin` and libraries in `lib`, so the rpath we use for a `bin/$executable` is `$ORIGIN/../lib`.
- However, `rust-lld` is _not_ in the same location as our other executables (`$root/bin`), it's in `$root/lib/rustlib/$host/bin/`. The current rpath thus expects the LLVM's shared library to be in `$root/lib/rustlib/$host/lib/`.
- That .so is only present in `$root/lib`, causing #80703. (LLVM's shared library is also copied to `$root/lib/rustlib/$host/lib/` with the `llvm-tools` component, so it also was [a workaround for the issue](https://github.com/rust-lang/rust/issues/80703#issuecomment-1574788504))

rustup's `LD_LIBRARY_PATH` overrides made this discrepancy invisible when we switched to `llvm.link-shared = true`, and this only showed up when running `rustc` or `rust-lld`'s executables directly.

To fix this we could:
- copy the .so to this expected location all the time, but that seems wasteful.
- or, add an rpath entry when building LLD, which seems preferable to me (but I don't know if it could cause issues).

This PR does the latter, tweaking how bootstrap builds LLD to point to the expected directory, and fixes #80703.

(Since this is related to P-high issues about switching to lld by default, I'll cc `@petrochenkov` to keep them updated.)
2023-06-04 19:41:14 +02:00
bors
dc25fbe984 Auto merge of #112176 - jyn514:ci-debugging, r=clubby789
Print the full arguments passed to `./configure` in CI

This is useful to replicate CI failures locally. Before, the arguments would be truncated and it would be hard to tell what it was actually doing.

Before:
```
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--save-t ...
```

After:
```
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--save-toolstates=/tmp/toolstate/toolstates.json', '--enable-verbose', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--disable-dist-src', '--set', 'rust.download-rustc=if-unchanged', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'llvm.download-ci-llvm=if-available', '--enable-missing-tools']
```
2023-06-04 16:41:37 +00:00
jyn
f9a81e4769 Don't require the output from libtest to be valid UTF-8
On Windows this is sometimes not the case, for reasons I can't track down.

This works around the problem, although I'm not sure how to confirm we're not generating invalid
build metrics in this case.
2023-06-04 09:18:23 -05:00
bors
e04e19d222 Auto merge of #112270 - matthiaskrgr:rollup-umplsb6, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #109093 (add `#[doc(alias="flatmap")]` to `Option::and_then`)
 - #110701 (Fix `x test core` when download-rustc is enabled)
 - #111982 (Revert "Enable incremental independent of stage")
 - #112158 (Add portable-simd mention)
 - #112172 (doc: improve explanation)
 - #112178 (Fix bug where private item with intermediate doc hidden re-export was not inlined)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-06-04 13:54:31 +00:00
Matthias Krüger
d545220fd9
Rollup merge of #111982 - jyn514:disable-incremental, r=Mark-Simulacrum
Revert "Enable incremental independent of stage"

This reverts commit 827f656ebb.

Incremental is not sound to use across stages. Arbitrary changes to the compiler can invalidate the incremental cache - even changes to normal queries, not incremental itself! - and we do not currently enable `incremental-verify-ich` in bootstrap. Since 2018, we highly recommend and nudge users towards stage 1 builds instead of stage 2, and using `keep-stage` for anything other than libstd is very rare.

I don't think the risk of unsoundness is worth the very minor speedup when building libstd. Disable incremental to avoid spurious panics and miscompilations when building with the stage 1 and 2 sysroot.

Combined with https://github.com/rust-lang/rust/pull/111329, this should fix https://github.com/rust-lang/rust/issues/76720.

r? `@Mark-Simulacrum`
2023-06-04 13:21:26 +02:00
Matthias Krüger
f2f0e6cc81
Rollup merge of #110701 - jyn514:test-core, r=Mark-Simulacrum
Fix `x test core` when download-rustc is enabled

Fix `x test --stage 2 core` when download-rustc is enabled

This works by building std from source instead of downloading it, for library tests only.

This was somewhat complicated because of the following requirements:
1. Unconditionally downloading libstd breaks `x test core`, because `coretests` requires the std loaded from the sysroot to match the std that's currently being tested.
2. Unconditionally rebuilding libstd breaks `x test ui-fulldeps librustdoc`, because anything loading `rustc_private` needs to use the same libstd that rustc was built with.

Break the knot by introducing a new `stage2-test-sysroot`, used only for testing `std` itself. This
holds a freshly compiled std, while `stage2` and `ci-rustc-sysroot` still hold the downloaded std.

This also extends the existing `cp_filtered` in Sysroot to apply to the `rust-std` component, not just the `rustc-dev` component, to avoid having both versions of std in `stage2-test-sysroot`.

Fixes #110352.
2023-06-04 13:21:26 +02:00
bors
a28e125b21 Auto merge of #109525 - bzEq:aix-bootstrap-no-rpath, r=Mark-Simulacrum
Rpath is not supported on AIX

Both `-Wl,-rapth` and `-Wl,-z,origin` are not supported on AIX.

AIX linker is documented in https://www.ibm.com/docs/en/aix/7.1?topic=l-ld-command.
2023-06-04 11:09:58 +00:00
Rémy Rakic
4117b5e65b improve target selection conditions 2023-06-03 19:50:45 +00:00
jyn
d613134623 fix x doc --stage 0 compiler if the compiler hasn't yet been built 2023-06-03 14:47:45 -05:00
jyn
3f05b1fb2c don't return a Result from symlink_dir_force
this gives a more helpful backtrace if it fails

before:
```
  thread 'main' panicked at 'symlink_dir_force(&builder.config, &out, &out_dir) failed with No such file or directory (os error 2)', doc.rs:697:9
```

after:
```
thread 'main' panicked at 'symlink_dir(config, original, link) failed with No such file or directory (os error 2) ("failed to create link from /home/jyn/src/rust2/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/doc -> /home/jyn/src/rust2/build/x86_64-unknown-linux-gnu/compiler-doc")', doc.rs:975:5
```
2023-06-03 14:47:45 -05:00
jyn
c57eb1bb6e rename src/dst to original/link
this is consistent with std and makes it much easier to understand what's actually happening
2023-06-03 14:31:36 -05:00
jyn
f6611d34f1 Don't compile rustc to self-test compiletest
This was changed from stage 0 to 1 in https://github.com/rust-lang/rust/pull/108905, but I'm not
sure why. Change it to `top_stage` instead to allow people to choose the stage.

This should save quite a bit of time in the `mingw-check` builder, which explicitly runs `x test --stage 0 compiletest`.
2023-06-03 14:14:54 -05:00
Matthias Krüger
d4f87d1e4f
Rollup merge of #112231 - chenyukang:yukang-fix-110067-version-issue, r=jyn514
Make sure the build.rustc version is either the same or 1 apart (revised)

https://github.com/rust-lang/rust/pull/111538 is reverted in https://github.com/rust-lang/rust/pull/112023.

This PR will only check `build.rustc` to confirm the correct version.
2023-06-03 20:38:13 +02:00
Matthias Krüger
ea8b4ff2a6
Rollup merge of #111998 - jyn514:ra-dogfooding, r=Mark-Simulacrum
Add other workspaces to `linkedProjects` in rust_analyzer_settings

This makes go-to-definition, etc. work in cg_clif, cg_gcc, rust-analyzer, and src/tools/x.
2023-06-03 20:38:12 +02:00
Matthias Krüger
95b909a119
Rollup merge of #111969 - clubby789:clean-dry-run, r=Mark-Simulacrum
bootstrap: Make `clean` respect `dry-run`

I noticed `clean_default` was getting run twice as the `DryRun::SelfCheck` flag is ignored
2023-06-03 20:38:11 +02:00
jyn
3591a1239c Allow disabling truncation for long config lines 2023-06-03 11:29:21 -05:00
Rémy Rakic
17d321cd11 rust-lld: add rpath to the root LLVM shared lib
rust-lld is not located in the same directory as the other binaries that
point to ../lib, but in a deeper directory in lib. So we need to point
a few layers up for rust-lld to find the LLVM shared library without
rustup's LD_LIBRARY_PATH overrides.
2023-06-03 16:19:09 +00:00
yukang
bff5ecd382 only check when we specify rustc in config.toml 2023-06-03 11:35:53 +08:00