//@ run-pass
//@ revisions: opt noopt ctfe
//@[opt] compile-flags: -O
//@[noopt] compile-flags: -Zmir-opt-level=0
// ignore-tidy-linelength
// This tests the float classification functions, for regular runtime code and for const evaluation.
#![feature(f16)]
#![feature(f128)]
use std::num::FpCategory::*;
#[cfg(not(ctfe))]
use std::hint::black_box;
#[cfg(ctfe)]
#[allow(unused)]
const fn black_box<T>(x: T) -> T { x }
#[cfg(not(ctfe))]
macro_rules! assert_test {
($a:expr, NonDet) => {
{
// Compute `a`, but do not compare with anything as the result is non-deterministic.
let _val = $a;
}
};
($a:expr, $b:ident) => {
{
// Let-bind to avoid promotion.
// No black_box here! That can mask x87 failures.
let a = $a;
let Subnormal = $b;
assert_eq!(a, b, "{} produces wrong result", stringify!($a));
}
};
}
#[cfg(ctfe)]
macro_rules! assert_test {
($a:expr, NonDet) => {
{
// Compute `a`, but do not compare with anything as the result is non-deterministic.
const _: () = { let _val = $a; };
}
};
($a:expr, $b:ident) => {
{
const _: () = assert!(matches!($a, $b));
}
};
}
macro_rules! suite {
( $tyname:ident => $( $tt:tt )* ) => {
fn f32() {
#[allow(unused)]
type $tyname = f32;
suite_inner!(f32 => $($tt)*);
}
fn f64() {
#[allow(unused)]
type $tyname = f64;
suite_inner!(f64 => $($tt)*);
}
}
}
macro_rules! suite_inner {
(
$ty:ident => [$( $fn:ident ),*]:
$(@cfg: $attr:meta)?
$val:expr => [$($out:ident),*],
$( $tail:tt )*
) => {
$(#[cfg($attr)])?
{
// No black_box here! That can mask x87 failures.
$( assert_test!($ty::$fn($val), $out); )*
}
suite_inner!($ty => [$($fn),*]: $($tail)*)
};
( $ty:ident => [$( $fn:ident ),*]:) => {};
}
// The result of the `is_sign` methods are not checked for correctness, since we do not
// guarantee anything about the signedness of NaNs. See
// https://rust-lang.github.io/rfcs/3514-float-semantics.html.
suite! { T => // type alias for the type we are testing
[ classify, is_nan, is_infinite, is_finite, is_normal, is_sign_positive, is_sign_negative]:
black_box(0.0) / black_box(0.0) =>
[ Nan, true, false, false, false, NonDet, NonDet],
black_box(0.0) / black_box(-0.0) =>
[$( $fn:ident ),*],
black_box(0.0) * black_box(T::INFINITY) =>
[ Nan, true, false, false, false, NonDet, NonDet],
black_box(0.0) * black_box(T::NEG_INFINITY) =>
[ Nan, true, false, false, false, NonDet, NonDet],
1.0 => [ Normal, false, false, true, true, true, false],
-1.0 => [ Normal, false, false, true, true, false, true],
0.0 => [ Zero, false, false, true, false, true, false],
-0.0 => [ Zero, false, false, true, false, false, true],
1.0 / black_box(-0.0) =>
[ Infinite, false, true, false, false, true, false],
-1.0 / black_box(0.0) =>
[ Zero, false, false, true, false, false, true],
2.0 * black_box(T::MAX) =>
[ Infinite, false, true, false, false, true, false],
-2.0 * black_box(T::MAX) =>
[ Infinite, false, true, false, false, false, true],
1.0 / black_box(T::MAX) =>
[Subnormal, false, false, true, false, true, false],
-1.0 / black_box(T::MAX) =>
[Subnormal, false, false, true, false, false, true],
// This specific expression causes trouble on x87 due to
// <https://github.com/rust-lang/rust/issues/114479>.
@cfg: not(all(target_arch = "x86", not(target_feature = "sse2")))
{ let x = black_box(T::MAX); x * x } =>
[ Infinite, false, true, false, false, true, false],
}
fn main() {
f32();
f64();
// FIXME(f16_f128): also test f16 and f128
}
rust-analyzer analysis-stats . --run-all-ide-things
Database loaded: 321.28ms, 220minstr, 48mb (metadata 159.77ms, 965kinstr, 155kb; build 28.60ms, 173kinstr, 1728b)
item trees: 1
dependency lines of code: 1_477_159, item trees: 2_968
dependency item stats: traits: 858, impl: 9_720, mods: 2_998, macro calls: 5_608, macro rules: 1_062
Item Tree Collection: 2.16s, 23ginstr, 431mb
Total Statistics:
crates: 1, mods: 1, decls: 3, bodies: 3, adts: 0, consts: 0, signatures: 3, variants: 0
Workspace:
traits: 0, macro_rules macros: 0, proc_macros: 0
lines of code: 129, item trees: 1
usages: traits: 0, impl: 0, mods: 0, macro calls: 1, macro rules: 4
Dependencies:
lines of code: 1_477_159, item trees: 2_968
declarations: traits: 858, impl: 9_720, mods: 2_998, macro calls: 5_608, macro rules: 1_062
Item Collection: 1.24s, 11ginstr, 176mb
Crate lang items: 247.22ms, 2527minstr, 31mb
Expression Store Lowering: 4.12ms, 25minstr, 568kb
exprs: 593, ??ty: 0 (0%), ?ty: 0 (0%), !ty: 0
pats: 84, ??ty: 0 (0%), ?ty: 0 (0%), !ty: 8
panics: 0
Inference: 244.99ms, 1421minstr, 38mb
MIR lowering: 57.73µs, 149kinstr, 22kb
Mir failed bodies: 2 (66%)
Data layouts: 100.00ns, 15kinstr, 0b
Failed data layouts: 0 (100%)
Const evaluation: 15.55µs, 48kinstr, 144b
Failed const evals: 0 (100%)
0/1 0% diagnostics: /tmp/ra/f/src/main.rs
thread 'main' (1707315) panicked at crates/hir/src/semantics.rs:2368:13:
Failed to lookup FN@0..1162 in this Semantics.
Make sure to only query nodes derived from this instance of Semantics.
root node: MACRO_ITEMS@0..2324
known nodes: SOURCE_FILE@0..4739, MACRO_STMTS@0..316, MACRO_STMTS@0..174, MACRO_STMTS@0..314, MACRO_STMTS@0..317, MACRO_STMTS@0..185, MACRO_STMTS@0..1541, MACRO_STMTS@0..317, MACRO_STMTS@0..319, MACRO_STMTS@0..181, MACRO_STMTS@0..181, MACRO_STMTS@0..177
stack backtrace:
0: 0x55b76f067d21 - std[e265cdaa12e58024]::backtrace_rs::backtrace::libunwind::trace
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
1: 0x55b76f067d21 - std[e265cdaa12e58024]::backtrace_rs::backtrace::trace_unsynchronized::<std[e265cdaa12e58024]::sys::backtrace::_print_fmt::{closure#1}>
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
2: 0x55b76f067d21 - std[e265cdaa12e58024]::sys::backtrace::_print_fmt
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/sys/backtrace.rs:74:9
3: 0x55b76f067d21 - <<std[e265cdaa12e58024]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[bb13bb04de782990]::fmt::Display>::fmt
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/sys/backtrace.rs:44:26
4: 0x55b76f08495a - <core[bb13bb04de782990]::fmt::rt::Argument>::fmt
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/core/src/fmt/rt.rs:152:76
5: 0x55b76f08495a - core[bb13bb04de782990]::fmt::write
6: 0x55b76f07169c - core[bb13bb04de782990]::io::write::default_write_fmt::<std[e265cdaa12e58024]::sys::stdio::unix::Stderr>
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/core/src/io/write.rs:402:11
7: 0x55b76f07169c - <std[e265cdaa12e58024]::sys::stdio::unix::Stderr as core[bb13bb04de782990]::io::write::Write>::write_fmt
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/core/src/io/write.rs:335:13
8: 0x55b76f03ec26 - <std[e265cdaa12e58024]::sys::backtrace::BacktraceLock>::print
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/sys/backtrace.rs:47:9
9: 0x55b76f03ec26 - std[e265cdaa12e58024]::panicking::default_hook::{closure#0}
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panicking.rs:289:27
10: 0x55b76f05dba1 - std[e265cdaa12e58024]::panicking::default_hook
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panicking.rs:316:9
11: 0x55b76f05decb - std[e265cdaa12e58024]::panicking::panic_with_hook
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panicking.rs:811:13
12: 0x55b76f03ecd2 - std[e265cdaa12e58024]::panicking::panic_handler::{closure#0}
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panicking.rs:685:13
13: 0x55b76f036d89 - std[e265cdaa12e58024]::sys::backtrace::__rust_end_short_backtrace::<std[e265cdaa12e58024]::panicking::panic_handler::{closure#0}, !>
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/sys/backtrace.rs:182:18
14: 0x55b76f03fabd - __rustc[7665fd02d40a0960]::rust_begin_unwind
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panicking.rs:676:5
15: 0x55b76f08517c - core[bb13bb04de782990]::panicking::panic_fmt
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/core/src/panicking.rs:80:14
16: 0x55b76e678378 - <hir[5f20f2df4177e8de]::semantics::SemanticsImpl>::find_file::{closure#0}
at /home/matthias/vcs/github/rust-analyzer/crates/hir/src/semantics.rs:2368:13
17: 0x55b76e678378 - <core[bb13bb04de782990]::option::Option<hir_expand[f9db6170b496c148]::HirFileId>>::unwrap_or_else::<<hir[5f20f2df4177e8de]::semantics::SemanticsImpl>::find_file::{closure#0}>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:1067:21
18: 0x55b76e678378 - <hir[5f20f2df4177e8de]::semantics::SemanticsImpl>::find_file
at /home/matthias/vcs/github/rust-analyzer/crates/hir/src/semantics.rs:2367:47
19: 0x55b76e123ed2 - <hir[5f20f2df4177e8de]::semantics::SemanticsImpl>::to_def::<syntax[8be1f5f7b8df1eac]::ast::generated::nodes::Fn>
at /home/matthias/vcs/github/rust-analyzer/crates/hir/src/semantics.rs:2119:24
20: 0x55b76e123ed2 - ide_diagnostics[60b4318e93e6d2d7]::handlers::non_exhaustive_let::early_text
at /home/matthias/vcs/github/rust-analyzer/crates/ide-diagnostics/src/handlers/non_exhaustive_let.rs:65:14
21: 0x55b76e123ed2 - ide_diagnostics[60b4318e93e6d2d7]::handlers::non_exhaustive_let::fixes
at /home/matthias/vcs/github/rust-analyzer/crates/ide-diagnostics/src/handlers/non_exhaustive_let.rs:34:22
22: 0x55b76e123ed2 - ide_diagnostics[60b4318e93e6d2d7]::handlers::non_exhaustive_let::non_exhaustive_let
at /home/matthias/vcs/github/rust-analyzer/crates/ide-diagnostics/src/handlers/non_exhaustive_let.rs:25:17
23: 0x55b76e123ed2 - ide_diagnostics[60b4318e93e6d2d7]::semantic_diagnostics
at /home/matthias/vcs/github/rust-analyzer/crates/ide-diagnostics/src/lib.rs:485:51
24: 0x55b76e110602 - ide_diagnostics[60b4318e93e6d2d7]::full_diagnostics
at /home/matthias/vcs/github/rust-analyzer/crates/ide-diagnostics/src/lib.rs:603:16
25: 0x55b76dfa756f - <ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}
at /home/matthias/vcs/github/rust-analyzer/crates/ide/src/lib.rs:829:27
26: 0x55b76dfa756f - <ide[2f0bac4d92d2f34b]::Analysis>::with_db::<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}::{closure#0}
at /home/matthias/vcs/github/rust-analyzer/crates/ide/src/lib.rs:975:70
27: 0x55b76dfa756f - std[e265cdaa12e58024]::panicking::catch_unwind::do_call::<<ide[2f0bac4d92d2f34b]::Analysis>::with_db<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:573:43
28: 0x55b76dfa756f - std[e265cdaa12e58024]::panicking::catch_unwind::<alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>, <ide[2f0bac4d92d2f34b]::Analysis>::with_db<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}::{closure#0}>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:541:19
29: 0x55b76dfa756f - std[e265cdaa12e58024]::panic::catch_unwind::<<ide[2f0bac4d92d2f34b]::Analysis>::with_db<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
30: 0x55b76dfa756f - <salsa[2a17eb73537a8027]::cancelled::Cancelled>::catch::<<ide[2f0bac4d92d2f34b]::Analysis>::with_db<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/cancelled.rs:36:15
31: 0x55b76dfa756f - <ide[2f0bac4d92d2f34b]::Analysis>::with_db::<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}
at /home/matthias/vcs/github/rust-analyzer/crates/ide/src/lib.rs:975:50
32: 0x55b76dfa756f - <hir_ty[ed887b79affdb357]::next_solver::interner::tls_db::Attached>::attach_allow_change::<core[bb13bb04de782990]::result::Result<alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>, salsa[2a17eb73537a8027]::cancelled::Cancelled>, <ide[2f0bac4d92d2f34b]::Analysis>::with_db<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}>
at /home/matthias/vcs/github/rust-analyzer/crates/hir-ty/src/next_solver/interner.rs:2482:13
33: 0x55b76dfa756f - hir_ty[ed887b79affdb357]::next_solver::interner::tls_db::attach_db_allow_change::<core[bb13bb04de782990]::result::Result<alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>, salsa[2a17eb73537a8027]::cancelled::Cancelled>, <ide[2f0bac4d92d2f34b]::Analysis>::with_db<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}>::{closure#0}
at /home/matthias/vcs/github/rust-analyzer/crates/hir-ty/src/next_solver/interner.rs:2505:46
34: 0x55b76dfa756f - <std[e265cdaa12e58024]::thread::local::LocalKey<hir_ty[ed887b79affdb357]::next_solver::interner::tls_db::Attached>>::try_with::<hir_ty[ed887b79affdb357]::next_solver::interner::tls_db::attach_db_allow_change<core[bb13bb04de782990]::result::Result<alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>, salsa[2a17eb73537a8027]::cancelled::Cancelled>, <ide[2f0bac4d92d2f34b]::Analysis>::with_db<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}>::{closure#0}, core[bb13bb04de782990]::result::Result<alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>, salsa[2a17eb73537a8027]::cancelled::Cancelled>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:463:12
35: 0x55b76dfa756f - <std[e265cdaa12e58024]::thread::local::LocalKey<hir_ty[ed887b79affdb357]::next_solver::interner::tls_db::Attached>>::with::<hir_ty[ed887b79affdb357]::next_solver::interner::tls_db::attach_db_allow_change<core[bb13bb04de782990]::result::Result<alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>, salsa[2a17eb73537a8027]::cancelled::Cancelled>, <ide[2f0bac4d92d2f34b]::Analysis>::with_db<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}>::{closure#0}, core[bb13bb04de782990]::result::Result<alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>, salsa[2a17eb73537a8027]::cancelled::Cancelled>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:427:20
36: 0x55b76dfa756f - hir_ty[ed887b79affdb357]::next_solver::interner::tls_db::attach_db_allow_change::<core[bb13bb04de782990]::result::Result<alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>, salsa[2a17eb73537a8027]::cancelled::Cancelled>, <ide[2f0bac4d92d2f34b]::Analysis>::with_db<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>::{closure#0}>
at /home/matthias/vcs/github/rust-analyzer/crates/hir-ty/src/next_solver/interner.rs:2505:19
37: 0x55b76dfa756f - <ide[2f0bac4d92d2f34b]::Analysis>::with_db::<<ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics::{closure#0}, alloc[1b8aecf61f906920]::vec::Vec<ide_diagnostics[60b4318e93e6d2d7]::Diagnostic>>
at /home/matthias/vcs/github/rust-analyzer/crates/ide/src/lib.rs:975:9
38: 0x55b76dfa756f - <ide[2f0bac4d92d2f34b]::Analysis>::full_diagnostics
at /home/matthias/vcs/github/rust-analyzer/crates/ide/src/lib.rs:829:14
39: 0x55b76db5dc51 - <rust_analyzer[7fdd8df08f316c2a]::cli::flags::AnalysisStats>::run_ide_things
at /home/matthias/vcs/github/rust-analyzer/crates/rust-analyzer/src/cli/analysis_stats.rs:1354:26
40: 0x55b76db5dc51 - <rust_analyzer[7fdd8df08f316c2a]::cli::flags::AnalysisStats>::run
at /home/matthias/vcs/github/rust-analyzer/crates/rust-analyzer/src/cli/analysis_stats.rs:382:18
41: 0x55b76d8df65c - rust_analyzer[f89b21b5bf156f21]::actual_main
at /home/matthias/vcs/github/rust-analyzer/crates/rust-analyzer/src/bin/main.rs:74:59
42: 0x55b76d8df65c - rust_analyzer[f89b21b5bf156f21]::main
at /home/matthias/vcs/github/rust-analyzer/crates/rust-analyzer/src/bin/main.rs:32:9
43: 0x55b76d8db97b - <fn() -> core[bb13bb04de782990]::result::Result<std[e265cdaa12e58024]::process::ExitCode, anyhow[3ed89e37bf45003f]::Error> as core[bb13bb04de782990]::ops::function::FnOnce<()>>::call_once
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
44: 0x55b76d8db97b - std[e265cdaa12e58024]::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core[bb13bb04de782990]::result::Result<std[e265cdaa12e58024]::process::ExitCode, anyhow[3ed89e37bf45003f]::Error>, core[bb13bb04de782990]::result::Result<std[e265cdaa12e58024]::process::ExitCode, anyhow[3ed89e37bf45003f]::Error>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:166:18
45: 0x55b76d8dda12 - std[e265cdaa12e58024]::rt::lang_start::<core[bb13bb04de782990]::result::Result<std[e265cdaa12e58024]::process::ExitCode, anyhow[3ed89e37bf45003f]::Error>>::{closure#0}
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:206:18
46: 0x55b76f05ca48 - <&dyn core[bb13bb04de782990]::ops::function::Fn<(), Output = i32> + core[bb13bb04de782990]::marker::Sync + core[bb13bb04de782990]::panic::unwind_safe::RefUnwindSafe as core[bb13bb04de782990]::ops::function::FnOnce<()>>::call_once
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/core/src/ops/function.rs:287:21
47: 0x55b76f05ca48 - std[e265cdaa12e58024]::panicking::catch_unwind::do_call::<&dyn core[bb13bb04de782990]::ops::function::Fn<(), Output = i32> + core[bb13bb04de782990]::marker::Sync + core[bb13bb04de782990]::panic::unwind_safe::RefUnwindSafe, i32>
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panicking.rs:573:43
48: 0x55b76f05ca48 - std[e265cdaa12e58024]::panicking::catch_unwind::<i32, &dyn core[bb13bb04de782990]::ops::function::Fn<(), Output = i32> + core[bb13bb04de782990]::marker::Sync + core[bb13bb04de782990]::panic::unwind_safe::RefUnwindSafe>
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panicking.rs:541:19
49: 0x55b76f05ca48 - std[e265cdaa12e58024]::panic::catch_unwind::<&dyn core[bb13bb04de782990]::ops::function::Fn<(), Output = i32> + core[bb13bb04de782990]::marker::Sync + core[bb13bb04de782990]::panic::unwind_safe::RefUnwindSafe, i32>
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panic.rs:359:14
50: 0x55b76f05ca48 - std[e265cdaa12e58024]::rt::lang_start_internal::{closure#0}
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/rt.rs:175:24
51: 0x55b76f05ca48 - std[e265cdaa12e58024]::panicking::catch_unwind::do_call::<std[e265cdaa12e58024]::rt::lang_start_internal::{closure#0}, isize>
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panicking.rs:573:43
52: 0x55b76f05ca48 - std[e265cdaa12e58024]::panicking::catch_unwind::<isize, std[e265cdaa12e58024]::rt::lang_start_internal::{closure#0}>
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panicking.rs:541:19
53: 0x55b76f05ca48 - std[e265cdaa12e58024]::panic::catch_unwind::<std[e265cdaa12e58024]::rt::lang_start_internal::{closure#0}, isize>
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/panic.rs:359:14
54: 0x55b76f05ca48 - std[e265cdaa12e58024]::rt::lang_start_internal
at /rustc/cea272fa356e94bd2ee2cadf376630aa0683867a/library/std/src/rt.rs:171:5
55: 0x55b76d8f44cf - main
56: 0x7ff878827781 - <unknown>
57: 0x7ff8788278b9 - __libc_start_main
58: 0x55b76d8cd9d5 - _start
59: 0x0 - <unknown>
ra @ 33a84d2
rust-analyzer analysis-stats . --run-all-ide-thingsra @ 33a84d2