Skip to content

internal compiler error: two identical projections #137467

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
HomelikeBrick42 opened this issue Feb 23, 2025 · 10 comments · May be fixed by #138961
Open

internal compiler error: two identical projections #137467

HomelikeBrick42 opened this issue Feb 23, 2025 · 10 comments · May be fixed by #138961
Assignees
Labels
A-patterns Relating to patterns and pattern matching C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ P-medium Medium priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@HomelikeBrick42
Copy link
Contributor

HomelikeBrick42 commented Feb 23, 2025

Code

I dont really want to make a MRE right now, so this is the entire project
https://github.com/HomelikeBrick42/4dStuff/tree/rustc_bug

Meta

rustc --version --verbose:

rustc 1.85.0 (4d91de4e4 2025-02-17)
binary: rustc
commit-hash: 4d91de4e48198da2e33413efdcd9cd2cc0c46688
commit-date: 2025-02-17
host: x86_64-pc-windows-msvc
release: 1.85.0
LLVM version: 19.1.7

Error output

thread 'rustc' panicked at compiler\rustc_mir_build\src\builder\matches\mod.rs:2087:44:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0:     0x7ffbef3001c1 - std::backtrace_rs::backtrace::dbghelp64::trace
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\..\..\backtrace\src\backtrace\dbghelp64.rs:91
   1:     0x7ffbef3001c1 - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ffbef3001c1 - std::sys::backtrace::_print_fmt
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\sys\backtrace.rs:66
   3:     0x7ffbef3001c1 - std::sys::backtrace::impl$0::print::impl$0::fmt
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\sys\backtrace.rs:39
   4:     0x7ffbef332cca - core::fmt::rt::Argument::fmt
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\core\src\fmt\rt.rs:177
   5:     0x7ffbef332cca - core::fmt::write
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\core\src\fmt\mod.rs:1440
   6:     0x7ffbef2f5b07 - std::io::Write::write_fmt<std::sys::pal::windows::stdio::Stderr>
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\io\mod.rs:1887
   7:     0x7ffbef300005 - std::sys::backtrace::BacktraceLock::print
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\sys\backtrace.rs:42
   8:     0x7ffbef302fad - std::panicking::default_hook::closure$1
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\panicking.rs:295
   9:     0x7ffbef302d10 - std::panicking::default_hook
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\panicking.rs:322
  10:     0x7ffbf08f533a - core[13dd8dac7b8322e0]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[84e5be47eb57ee2d]::Level, &str), usize), <((rustc_lint_defs[84e5be47eb57ee2d]::Level, &str), usize) as core[13dd8dac7b8322e0]::cmp::PartialOrd>::lt>
  11:     0x7ffbef30389e - alloc::boxed::impl$30::call
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\alloc\src\boxed.rs:2007
  12:     0x7ffbef30389e - std::panicking::rust_panic_with_hook
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\panicking.rs:836
  13:     0x7ffbef3035c2 - std::panicking::begin_panic_handler::closure$0
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\panicking.rs:694
  14:     0x7ffbef300c9f - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\sys\backtrace.rs:168
  15:     0x7ffbef3031fe - std::panicking::begin_panic_handler
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\panicking.rs:692
  16:     0x7ffbf21b2e41 - core::panicking::panic_fmt
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\core\src\panicking.rs:75
  17:     0x7ffbf21b2efd - core::panicking::panic
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\core\src\panicking.rs:145
  18:     0x7ffbf21b2dbe - core::option::unwrap_failed
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\core\src\option.rs:2015
  19:     0x7ffbef8b443d - rustc_mir_build[74ebac55960bf4f1]::builder::mir_build
  20:     0x7ffbef8f4195 - rustc_mir_build[74ebac55960bf4f1]::thir::pattern::check_match::check_match
  21:     0x7ffbef8f4792 - rustc_mir_build[74ebac55960bf4f1]::thir::pattern::check_match::check_match
  22:     0x7ffbef8b1b6f - rustc_mir_build[74ebac55960bf4f1]::builder::mir_build
  23:     0x7ffbeec6ff45 - <alloc[f42caee64323a5c9]::raw_vec::RawVec<rustc_data_structures[b27a1c9e0d2e22bf]::graph::iterate::Event<rustc_middle[76d8ed0cc97ff880]::mir::BasicBlock>>>::grow_one
  24:     0x7ffbef8965e5 - rustc_mir_build[74ebac55960bf4f1]::builder::mir_build
  25:     0x7ffbef8e772c - rustc_mir_build[74ebac55960bf4f1]::thir::pattern::check_match::check_match
  26:     0x7ffbef8e6fb4 - rustc_mir_build[74ebac55960bf4f1]::thir::pattern::check_match::check_match
  27:     0x7ffbef8e95b1 - rustc_mir_build[74ebac55960bf4f1]::thir::pattern::check_match::check_match
  28:     0x7ffbef8e6fb4 - rustc_mir_build[74ebac55960bf4f1]::thir::pattern::check_match::check_match
  29:     0x7ffbef895f07 - rustc_mir_build[74ebac55960bf4f1]::builder::mir_build
  30:     0x7ffbef8e772c - rustc_mir_build[74ebac55960bf4f1]::thir::pattern::check_match::check_match
  31:     0x7ffbef8e6fb4 - rustc_mir_build[74ebac55960bf4f1]::thir::pattern::check_match::check_match
  32:     0x7ffbef86cfa3 - rustc_mir_build[74ebac55960bf4f1]::builder::mir_build
  33:     0x7ffbef74c43b - rustc_mir_transform[5978154a3d28926b]::mir_built
  34:     0x7ffbf009b9eb - rustc_query_impl[cd955f68236d2689]::plumbing::query_key_hash_verify_all
  35:     0x7ffbeffe0a4b - RINvNtNtCs8Ehw5TsioVt_18rustc_query_system5query8plumbing17try_execute_queryINtCshEjB07rFK3d_16rustc_query_impl13DynamicConfigINtNtCsfk1N0zTQ1Ep_21rustc_data_structures9vec_cache8VecCacheNtNtCs8yPNJtyUAIM_10rustc_span6def_id10LocalDefIdINtNtNtCsacCxZy8tNDM
  36:     0x7ffbeeeee56e - rustc_query_impl[cd955f68236d2689]::query_system
  37:     0x7ffbeec7444e - <alloc[f42caee64323a5c9]::raw_vec::RawVec<rustc_data_structures[b27a1c9e0d2e22bf]::graph::iterate::Event<rustc_middle[76d8ed0cc97ff880]::mir::BasicBlock>>>::grow_one
  38:     0x7ffbef8ca332 - <rustc_mir_build[74ebac55960bf4f1]::check_unsafety::UnsafetyVisitor as rustc_middle[76d8ed0cc97ff880]::thir::visit::Visitor>::visit_expr
  39:     0x7ffbef8cb846 - <rustc_mir_build[74ebac55960bf4f1]::check_unsafety::UnsafetyVisitor as rustc_middle[76d8ed0cc97ff880]::thir::visit::Visitor>::visit_expr
  40:     0x7ffbef8ca332 - <rustc_mir_build[74ebac55960bf4f1]::check_unsafety::UnsafetyVisitor as rustc_middle[76d8ed0cc97ff880]::thir::visit::Visitor>::visit_expr
  41:     0x7ffbef8c9362 - <rustc_mir_build[74ebac55960bf4f1]::check_unsafety::UnsafetyVisitor as rustc_middle[76d8ed0cc97ff880]::thir::visit::Visitor>::visit_block
  42:     0x7ffbef8cb873 - <rustc_mir_build[74ebac55960bf4f1]::check_unsafety::UnsafetyVisitor as rustc_middle[76d8ed0cc97ff880]::thir::visit::Visitor>::visit_expr
  43:     0x7ffbef8ca332 - <rustc_mir_build[74ebac55960bf4f1]::check_unsafety::UnsafetyVisitor as rustc_middle[76d8ed0cc97ff880]::thir::visit::Visitor>::visit_expr
  44:     0x7ffbef8cc53d - rustc_mir_build[74ebac55960bf4f1]::check_unsafety::check_unsafety
  45:     0x7ffbf0099c3a - rustc_query_impl[cd955f68236d2689]::plumbing::query_key_hash_verify_all
  46:     0x7ffbeffd4bce - RINvNtNtCs8Ehw5TsioVt_18rustc_query_system5query8plumbing17try_execute_queryINtCshEjB07rFK3d_16rustc_query_impl13DynamicConfigINtNtCsfk1N0zTQ1Ep_21rustc_data_structures9vec_cache8VecCacheNtNtCs8yPNJtyUAIM_10rustc_span6def_id10LocalDefIdINtNtNtCsacCxZy8tNDM
  47:     0x7ffbf00a344b - rustc_query_impl[cd955f68236d2689]::plumbing::query_key_hash_verify_all
  48:     0x7ffbef37b86e - rustc_interface[891a09a0cea1e8ed]::passes::resolver_for_lowering_raw
  49:     0x7ffbec337dde - rustc_interface[891a09a0cea1e8ed]::passes::analysis
  50:     0x7ffbeeee509a - <alloc[f42caee64323a5c9]::sync::Arc<rustc_session[a1380b7e7bd1e9c4]::cstore::CrateSource>>::drop_slow
  51:     0x7ffbeede9ca6 - RINvNtNtCs8Ehw5TsioVt_18rustc_query_system5query8plumbing17try_execute_queryINtCshEjB07rFK3d_16rustc_query_impl13DynamicConfigINtNtB4_6caches11SingleCacheINtNtNtCsacCxZy8tNDM_12rustc_middle5query5erase6ErasedAhj0_EEKb0_KB3s_KB3s_ENtNtB1f_8plumbing9QueryCtx
  52:     0x7ffbeeeeac44 - rustc_query_impl[cd955f68236d2689]::query_system
  53:     0x7ffbec2fe3c9 - RINvNtNtCsaor5jccb5ur_3std3sys9backtrace28___rust_begin_short_backtraceNCNCNCINvMNtB6_6threadNtB1h_7Builder16spawn_unchecked_INtNtCskXJAKvAmGc7_5alloc5boxed3BoxDINtNtNtCs1HK5c7eE0eW_4core3ops8function6FnOnceuEp6OutputuNtNtB2G_6marker4SendEL_EuEs_000uECs13K
  54:     0x7ffbec2f6d9e - RINvNtNtCsaor5jccb5ur_3std3sys9backtrace28___rust_begin_short_backtraceNCNCNCINvMNtB6_6threadNtB1h_7Builder16spawn_unchecked_INtNtCskXJAKvAmGc7_5alloc5boxed3BoxDINtNtNtCs1HK5c7eE0eW_4core3ops8function6FnOnceuEp6OutputuNtNtB2G_6marker4SendEL_EuEs_000uECs13K
  55:     0x7ffbec2efe09 - RINvNtNtCsaor5jccb5ur_3std3sys9backtrace28___rust_begin_short_backtraceNCNCINvNtCsbLMVCc8CHyP_15rustc_interface4util26run_in_thread_with_globalsNCINvB1e_31run_in_thread_pool_with_globalsNCINvNtB1g_9interface12run_compileruNCNvCs13KITJ2Zc2G_17rustc_driver_i
  56:     0x7ffbec302ea5 - RINvNtNtCsaor5jccb5ur_3std3sys9backtrace28___rust_begin_short_backtraceNCNCNCINvMNtB6_6threadNtB1h_7Builder16spawn_unchecked_INtNtCskXJAKvAmGc7_5alloc5boxed3BoxDINtNtNtCs1HK5c7eE0eW_4core3ops8function6FnOnceuEp6OutputuNtNtB2G_6marker4SendEL_EuEs_000uECs13K
  57:     0x7ffbef3157cd - alloc::boxed::impl$28::call_once
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\alloc\src\boxed.rs:1993
  58:     0x7ffbef3157cd - alloc::boxed::impl$28::call_once
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\alloc\src\boxed.rs:1993
  59:     0x7ffbef3157cd - std::sys::pal::windows::thread::impl$0::new::thread_start
                               at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library\std\src\sys\pal\windows\thread.rs:56
  60:     0x7ffcb58c259d - BaseThreadInitThunk
  61:     0x7ffcb620af38 - RtlUserThreadStart

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

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

note: rustc 1.85.0 (4d91de4e4 2025-02-17) running on x86_64-pc-windows-msvc

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_built] building MIR for `<impl at src\lib.rs:68:1: 68:23>::draw_ui::{closure#0}`
#1 [check_unsafety] unsafety-checking `<impl at src\lib.rs:68:1: 68:23>::draw_ui`
end of query stack
note: no errors encountered even though delayed bugs were created

note: those delayed bugs will now be shown as internal compiler errors

error: internal compiler error: two identical projections: ([Projection { ty: Camera, kind: Deref }, Projection { ty: transform::Transform, kind: Field(0, 1) }], [Projection { ty: Camera, kind: Deref }, Projection { ty: transform::Transform, kind: Field(0, 0) }])
  --> src\lib.rs:75:23
   |
75 |           ui.horizontal(|ui| {
   |  _______________________^
76 | |             ui.label("Position: ");
77 | |             if position.draw_ui(ui) {
78 | |                 let difference = position - old_position;
...  |
87 | |         });
   | |_________^
   |
note: delayed at compiler\rustc_hir_typeck\src\upvar.rs:931:28 - disabled backtrace
  --> src\lib.rs:75:23
   |
75 |           ui.horizontal(|ui| {
   |  _______________________^
76 | |             ui.label("Position: ");
77 | |             if position.draw_ui(ui) {
78 | |                 let difference = position - old_position;
...  |
87 | |         });
   | |_________^

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

note: rustc 1.85.0 (4d91de4e4 2025-02-17) running on x86_64-pc-windows-msvc

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack
warning: `ray_tracer` (lib) generated 1 warning
error: could not compile `ray_tracer` (lib); 1 warning emitted
@HomelikeBrick42 HomelikeBrick42 added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Feb 23, 2025
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Feb 23, 2025
@theemathas
Copy link
Contributor

theemathas commented Feb 23, 2025

Minimized:

enum Camera {
    Normal { base_transform: i32 },
    Volume { transform: i32 },
}

fn draw_ui(camera: &mut Camera) {
    || {
        let (Camera::Normal {
            base_transform: _transform,
        }
        | Camera::Volume {
            transform: _transform,
        }) = camera;
    };
}
Error output (edition 2024)
thread 'rustc' panicked at compiler/rustc_mir_build/src/builder/matches/mod.rs:2087:44:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0:     0x7ba9b26dc07a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::he089f96442833f67
   1:     0x7ba9b2e14d26 - core::fmt::write::h2f210ed4c94745cb
   2:     0x7ba9b3d0f7d1 - std::io::Write::write_fmt::h7de08171ab770fb2
   3:     0x7ba9b26dbed2 - std::sys::backtrace::BacktraceLock::print::h810fbd31421329e6
   4:     0x7ba9b26de477 - std::panicking::default_hook::{{closure}}::hbaad47ed9dc6356d
   5:     0x7ba9b26de260 - std::panicking::default_hook::h24e207139139d40a
   6:     0x7ba9b184e258 - std[cba35227022cdb8c]::panicking::update_hook::<alloc[304106e3416ed1f2]::boxed::Box<rustc_driver_impl[16f35eaf1f029c02]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x7ba9b26decc3 - std::panicking::rust_panic_with_hook::ha9131beeb2ddc506
   8:     0x7ba9b26de986 - std::panicking::begin_panic_handler::{{closure}}::h1bba0eaeb6da506f
   9:     0x7ba9b26dc549 - std::sys::backtrace::__rust_end_short_backtrace::h1d1ca3eade483f4c
  10:     0x7ba9b26de67d - rust_begin_unwind
  11:     0x7ba9af3a1480 - core::panicking::panic_fmt::h896a0727a1a943f9
  12:     0x7ba9af5a8ffc - core::panicking::panic::h06336e0c962d4a4a
  13:     0x7ba9b0943659 - core::option::unwrap_failed::ha2239fe7bcf32a06
  14:     0x7ba9b3e0c5e8 - <rustc_mir_build[a228aa0176271564]::builder::Builder>::test_candidates
  15:     0x7ba9b37ff1cf - <rustc_mir_build[a228aa0176271564]::builder::Builder>::match_candidates
  16:     0x7ba9b37ff2ac - <rustc_mir_build[a228aa0176271564]::builder::Builder>::match_candidates
  17:     0x7ba9b38058fb - <rustc_mir_build[a228aa0176271564]::builder::Builder>::lower_match_tree
  18:     0x7ba9b30493d1 - <rustc_mir_build[a228aa0176271564]::builder::Builder>::place_into_pattern
  19:     0x7ba9af6e4e9e - <rustc_mir_build[a228aa0176271564]::builder::Builder>::ast_block_stmts
  20:     0x7ba9b305ae26 - <rustc_mir_build[a228aa0176271564]::builder::Builder>::expr_into_dest
  21:     0x7ba9b305cafa - <rustc_mir_build[a228aa0176271564]::builder::Builder>::expr_into_dest
  22:     0x7ba9b37f748a - rustc_mir_build[a228aa0176271564]::builder::mir_build
  23:     0x7ba9b2e07304 - rustc_mir_transform[9947ce7d40c4dabe]::mir_built
  24:     0x7ba9b2e072c7 - rustc_query_impl[c4be5ff3108ead09]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c4be5ff3108ead09]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 8usize]>>
  25:     0x7ba9b310c297 - rustc_query_system[bbd277e70cc7f618]::query::plumbing::try_execute_query::<rustc_query_impl[c4be5ff3108ead09]::DynamicConfig<rustc_data_structures[3109d5d84592bd45]::vec_cache::VecCache<rustc_span[7c0f9ff7c6ad315d]::def_id::LocalDefId, rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[bbd277e70cc7f618]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c4be5ff3108ead09]::plumbing::QueryCtxt, false>
  26:     0x7ba9b310be4d - rustc_query_impl[c4be5ff3108ead09]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace
  27:     0x7ba9b381b311 - <rustc_mir_build[a228aa0176271564]::check_unsafety::UnsafetyVisitor>::visit_inner_body
  28:     0x7ba9b381c458 - <rustc_mir_build[a228aa0176271564]::check_unsafety::UnsafetyVisitor as rustc_middle[c26a501345a63c03]::thir::visit::Visitor>::visit_expr
  29:     0x7ba9b381bedf - <rustc_mir_build[a228aa0176271564]::check_unsafety::UnsafetyVisitor as rustc_middle[c26a501345a63c03]::thir::visit::Visitor>::visit_block
  30:     0x7ba9b381d7df - <rustc_mir_build[a228aa0176271564]::check_unsafety::UnsafetyVisitor as rustc_middle[c26a501345a63c03]::thir::visit::Visitor>::visit_expr
  31:     0x7ba9b381c458 - <rustc_mir_build[a228aa0176271564]::check_unsafety::UnsafetyVisitor as rustc_middle[c26a501345a63c03]::thir::visit::Visitor>::visit_expr
  32:     0x7ba9aff6e241 - rustc_mir_build[a228aa0176271564]::check_unsafety::check_unsafety
  33:     0x7ba9b3649c3d - rustc_query_impl[c4be5ff3108ead09]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c4be5ff3108ead09]::query_impl::check_unsafety::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 0usize]>>
  34:     0x7ba9b3649ef0 - rustc_query_system[bbd277e70cc7f618]::query::plumbing::try_execute_query::<rustc_query_impl[c4be5ff3108ead09]::DynamicConfig<rustc_data_structures[3109d5d84592bd45]::vec_cache::VecCache<rustc_span[7c0f9ff7c6ad315d]::def_id::LocalDefId, rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[bbd277e70cc7f618]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c4be5ff3108ead09]::plumbing::QueryCtxt, false>
  35:     0x7ba9b3649b81 - rustc_query_impl[c4be5ff3108ead09]::query_impl::check_unsafety::get_query_non_incr::__rust_end_short_backtrace
  36:     0x7ba9b31f81fe - rustc_interface[d49f06094f81b30c]::passes::run_required_analyses
  37:     0x7ba9b3d1365e - rustc_interface[d49f06094f81b30c]::passes::analysis
  38:     0x7ba9b3d1362f - rustc_query_impl[c4be5ff3108ead09]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c4be5ff3108ead09]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 0usize]>>
  39:     0x7ba9b3d9de15 - rustc_query_system[bbd277e70cc7f618]::query::plumbing::try_execute_query::<rustc_query_impl[c4be5ff3108ead09]::DynamicConfig<rustc_query_system[bbd277e70cc7f618]::query::caches::SingleCache<rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[c4be5ff3108ead09]::plumbing::QueryCtxt, false>
  40:     0x7ba9b3d9db4e - rustc_query_impl[c4be5ff3108ead09]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  41:     0x7ba9b3d52ede - rustc_interface[d49f06094f81b30c]::passes::create_and_enter_global_ctxt::<core[3b140760090fa97d]::option::Option<rustc_interface[d49f06094f81b30c]::queries::Linker>, rustc_driver_impl[16f35eaf1f029c02]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  42:     0x7ba9b3d6f364 - rustc_interface[d49f06094f81b30c]::interface::run_compiler::<(), rustc_driver_impl[16f35eaf1f029c02]::run_compiler::{closure#0}>::{closure#1}
  43:     0x7ba9b3c34251 - std[cba35227022cdb8c]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[d49f06094f81b30c]::util::run_in_thread_with_globals<rustc_interface[d49f06094f81b30c]::util::run_in_thread_pool_with_globals<rustc_interface[d49f06094f81b30c]::interface::run_compiler<(), rustc_driver_impl[16f35eaf1f029c02]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  44:     0x7ba9b3c34708 - <<std[cba35227022cdb8c]::thread::Builder>::spawn_unchecked_<rustc_interface[d49f06094f81b30c]::util::run_in_thread_with_globals<rustc_interface[d49f06094f81b30c]::util::run_in_thread_pool_with_globals<rustc_interface[d49f06094f81b30c]::interface::run_compiler<(), rustc_driver_impl[16f35eaf1f029c02]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[3b140760090fa97d]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  45:     0x7ba9b3c35caf - std::sys::pal::unix::thread::Thread::new::thread_start::ha07e360225fa3528
  46:     0x7ba9b53b0a94 - <unknown>
  47:     0x7ba9b543da34 - clone
  48:                0x0 - <unknown>

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

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

note: rustc 1.85.0 (4d91de4e4 2025-02-17) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_built] building MIR for `draw_ui::{closure#0}`
#1 [check_unsafety] unsafety-checking `draw_ui`
end of query stack
note: no errors encountered even though delayed bugs were created

note: those delayed bugs will now be shown as internal compiler errors

error: internal compiler error: two identical projections: ([Projection { ty: Camera, kind: Deref }, Projection { ty: i32, kind: Field(0, 1) }], [Projection { ty: Camera, kind: Deref }, Projection { ty: i32, kind: Field(0, 0) }])
  --> src/lib.rs:7:5
   |
7  | /     || {
8  | |         let (Camera::Normal {
9  | |             base_transform: _transform,
...  |
13 | |         }) = camera;
14 | |     };
   | |_____^
   |
note: delayed at compiler/rustc_hir_typeck/src/upvar.rs:931:28 - disabled backtrace
  --> src/lib.rs:7:5
   |
7  | /     || {
8  | |         let (Camera::Normal {
9  | |             base_transform: _transform,
...  |
13 | |         }) = camera;
14 | |     };
   | |_____^

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

note: rustc 1.85.0 (4d91de4e4 2025-02-17) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack
error: could not compile `playground` (lib)

Caused by:
  process didn't exit successfully: `/playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name playground --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=366a788cf4c17076 -C extra-filename=-1fb08721bd71a35f --out-dir /playground/target/debug/deps -L dependency=/playground/target/debug/deps --extern addr2line=/playground/target/debug/deps/libaddr2line-4ff13357dc7639cc.rmeta --extern adler2=/playground/target/debug/deps/libadler2-eddc1c7d884e9733.rmeta --extern ahash=/playground/target/debug/deps/libahash-53c5ed9345950de4.rmeta --extern aho_corasick=/playground/target/debug/deps/libaho_corasick-54ead6df13b9af7e.rmeta --extern aligned_vec=/playground/target/debug/deps/libaligned_vec-b32070a13c799e5f.rmeta --extern allocator_api2=/playground/target/debug/deps/liballocator_api2-0a3d09e477b05933.rmeta --extern ansi_term=/playground/target/debug/deps/libansi_term-f95579f079bd92eb.rmeta --extern anstream=/playground/target/debug/deps/libanstream-9a765d829445b55f.rmeta --extern anstyle=/playground/target/debug/deps/libanstyle-099a7ef05901f6df.rmeta --extern anstyle_parse=/playground/target/debug/deps/libanstyle_parse-8eb80659271d3c5e.rmeta --extern anstyle_query=/playground/target/debug/deps/libanstyle_query-e1c555ffc2a9dca2.rmeta --extern anyhow=/playground/target/debug/deps/libanyhow-06dae85c91726123.rmeta --extern approx=/playground/target/debug/deps/libapprox-bcacf29c24e1b49e.rmeta --extern arc_swap=/playground/target/debug/deps/libarc_swap-c427dc87f00b8045.rmeta --extern arg_enum_proc_macro=/playground/target/debug/deps/libarg_enum_proc_macro-ddef36ed7baf1357.so --extern arrayvec=/playground/target/debug/deps/libarrayvec-475d5dd591b809af.rmeta --extern async_trait=/playground/target/debug/deps/libasync_trait-1540cdfe57f00cf5.so --extern atomic=/playground/target/debug/deps/libatomic-14f9881da2385e5a.rmeta --extern atomic_waker=/playground/target/debug/deps/libatomic_waker-af5c5847841f97a0.rmeta --extern autocfg=/playground/target/debug/deps/libautocfg-121c73c9744014ea.rmeta --extern av1_grain=/playground/target/debug/deps/libav1_grain-4d8012ee28fc519f.rmeta --extern avif_serialize=/playground/target/debug/deps/libavif_serialize-bb6dda283727a004.rmeta --extern aws_lc_rs=/playground/target/debug/deps/libaws_lc_rs-5099ee4d4505e342.rmeta --extern aws_lc_sys=/playground/target/debug/deps/libaws_lc_sys-541958d8bc1a8077.rmeta --extern backtrace=/playground/target/debug/deps/libbacktrace-855029e9101c9081.rmeta --extern base64=/playground/target/debug/deps/libbase64-da04cbdc6a11ec2f.rmeta --extern bit_set=/playground/target/debug/deps/libbit_set-06c176f560e580f0.rmeta --extern bit_vec=/playground/target/debug/deps/libbit_vec-cd12cce26dfeb08f.rmeta --extern bit_field=/playground/target/debug/deps/libbit_field-49a771562812a1c1.rmeta --extern bitflags_1_3_2=/playground/target/debug/deps/libbitflags-e7a7e6fce74e6418.rmeta --extern bitflags=/playground/target/debug/deps/libbitflags-ecc0b51b35c097ec.rmeta --extern bitstream_io=/playground/target/debug/deps/libbitstream_io-927c4ed563d42423.rmeta --extern block_buffer=/playground/target/debug/deps/libblock_buffer-e2d91687b00116d9.rmeta --extern built=/playground/target/debug/deps/libbuilt-a281001f41fab2fd.rmeta --extern bumpalo=/playground/target/debug/deps/libbumpalo-26f98d5e516a3d55.rmeta --extern bytemuck=/playground/target/debug/deps/libbytemuck-92a780b36f2863be.rmeta --extern bytemuck_derive=/playground/target/debug/deps/libbytemuck_derive-4e30735511464f1b.so --extern byteorder=/playground/target/debug/deps/libbyteorder-57a463c1f35d9d12.rmeta --extern byteorder_lite=/playground/target/debug/deps/libbyteorder_lite-09b27377e6d3df08.rmeta --extern bytes_0_4_12=/playground/target/debug/deps/libbytes-1419d36a00d79986.rmeta --extern bytes=/playground/target/debug/deps/libbytes-7c026c3707402c98.rmeta --extern cc=/playground/target/debug/deps/libcc-0a7768687499f8e3.rmeta --extern cfg_if=/playground/target/debug/deps/libcfg_if-df02ababc950fb2e.rmeta --extern chrono=/playground/target/debug/deps/libchrono-76fdf80f701f1799.rmeta --extern clap=/playground/target/debug/deps/libclap-109e2e2e4372d32d.rmeta --extern clap_builder=/playground/target/debug/deps/libclap_builder-bb3470ba67d8ac19.rmeta --extern clap_derive=/playground/target/debug/deps/libclap_derive-ce7a6403e8c9053c.so --extern clap_lex=/playground/target/debug/deps/libclap_lex-a502eadde329acb2.rmeta --extern cmake=/playground/target/debug/deps/libcmake-05e06b59310df769.rmeta --extern color_quant=/playground/target/debug/deps/libcolor_quant-0cb58b46bc6d704c.rmeta --extern colorchoice=/playground/target/debug/deps/libcolorchoice-1375da6a9ba69895.rmeta --extern const_default=/playground/target/debug/deps/libconst_default-d9fb3d77721013f6.rmeta --extern cookie=/playground/target/debug/deps/libcookie-1c266e0301d01618.rmeta --extern cookie_store=/playground/target/debug/deps/libcookie_store-5f82207dd7fafe06.rmeta --extern cpufeatures=/playground/target/debug/deps/libcpufeatures-566dbddd462aebbd.rmeta --extern crc32fast=/playground/target/debug/deps/libcrc32fast-294259c7e6bfd42f.rmeta --extern crossbeam=/playground/target/debug/deps/libcrossbeam-86852af61a790a42.rmeta --extern crossbeam_channel=/playground/target/debug/deps/libcrossbeam_channel-27d04ea83992ce41.rmeta --extern crossbeam_deque=/playground/target/debug/deps/libcrossbeam_deque-86d43bdacb3a4236.rmeta --extern crossbeam_epoch=/playground/target/debug/deps/libcrossbeam_epoch-13681ab5b360fd15.rmeta --extern crossbeam_queue=/playground/target/debug/deps/libcrossbeam_queue-d9b5433f8db59d79.rmeta --extern crossbeam_utils=/playground/target/debug/deps/libcrossbeam_utils-0b7eb488df3cdd76.rmeta --extern crypto_common=/playground/target/debug/deps/libcrypto_common-b422245d2b89c7eb.rmeta --extern cssparser=/playground/target/debug/deps/libcssparser-37e53e69b03c9309.rmeta --extern cssparser_macros=/playground/target/debug/deps/libcssparser_macros-862f7a5d8a4a7912.so --extern csv=/playground/target/debug/deps/libcsv-e40733c69f2cf5d0.rmeta --extern csv_core=/playground/target/debug/deps/libcsv_core-f713504008b5bf92.rmeta --extern data_encoding=/playground/target/debug/deps/libdata_encoding-e70490471b5ff072.rmeta --extern deranged=/playground/target/debug/deps/libderanged-e8ee862c62020dda.rmeta --extern derivative=/playground/target/debug/deps/libderivative-4b8d649391643b8a.so --extern destructure_traitobject=/playground/target/debug/deps/libdestructure_traitobject-90608edd8bc0359e.rmeta --extern digest=/playground/target/debug/deps/libdigest-862d1f55ef5dca93.rmeta --extern displaydoc=/playground/target/debug/deps/libdisplaydoc-ee99e51cdeaae725.so --extern document_features=/playground/target/debug/deps/libdocument_features-e8b3b27b1cbd1c27.so --extern dtoa=/playground/target/debug/deps/libdtoa-0ff29febbe024386.rmeta --extern dtoa_short=/playground/target/debug/deps/libdtoa_short-acc0691d0e6e1117.rmeta --extern dunce=/playground/target/debug/deps/libdunce-48ad8ab917b3f197.rmeta --extern ego_tree=/playground/target/debug/deps/libego_tree-ae84dc4e7bfa9cd4.rmeta --extern either=/playground/target/debug/deps/libeither-a5e0af6aec9d5b8c.rmeta --extern encoding_rs=/playground/target/debug/deps/libencoding_rs-b16407f89b946243.rmeta --extern env_filter=/playground/target/debug/deps/libenv_filter-1a337edf97b82c8a.rmeta --extern env_logger=/playground/target/debug/deps/libenv_logger-c2f28b4ac226d020.rmeta --extern equivalent=/playground/target/debug/deps/libequivalent-35b4522ea87dcef5.rmeta --extern errno=/playground/target/debug/deps/liberrno-7a962fecfe51e068.rmeta --extern exr=/playground/target/debug/deps/libexr-15ff6e38d96291d7.rmeta --extern fallible_iterator_0_2_0=/playground/target/debug/deps/libfallible_iterator-927f84eee317320b.rmeta --extern fallible_iterator=/playground/target/debug/deps/libfallible_iterator-9220e1b7a6863850.rmeta --extern fallible_streaming_iterator=/playground/target/debug/deps/libfallible_streaming_iterator-89bb4046cf494bac.rmeta --extern faster_hex=/playground/target/debug/deps/libfaster_hex-648698131b147c99.rmeta --extern fastrand=/playground/target/debug/deps/libfastrand-8d5184b5cab08f0d.rmeta --extern fdeflate=/playground/target/debug/deps/libfdeflate-dc4a9b5d40390051.rmeta --extern filetime=/playground/target/debug/deps/libfiletime-8e3366b9983ec036.rmeta --extern fixedbitset_0_4_2=/playground/target/debug/deps/libfixedbitset-f9ad1c81618f7b86.rmeta --extern fixedbitset=/playground/target/debug/deps/libfixedbitset-b7acfcf1ff9adaaf.rmeta --extern flate2=/playground/target/debug/deps/libflate2-01b6ad7c2add1428.rmeta --extern fnv=/playground/target/debug/deps/libfnv-a64a8d757b0d7228.rmeta --extern foldhash=/playground/target/debug/deps/libfoldhash-ebf755ce0998a20a.rmeta --extern foreign_types=/playground/target/debug/deps/libforeign_types-8129242409cb9f09.rmeta --extern foreign_types_shared=/playground/target/debug/deps/libforeign_types_shared-5901e39abd75ee80.rmeta --extern form_urlencoded=/playground/target/debug/deps/libform_urlencoded-8a515da6a7a61600.rmeta --extern fs_extra=/playground/target/debug/deps/libfs_extra-06b6b5402c2baacb.rmeta --extern futf=/playground/target/debug/deps/libfutf-6b34157baba90d8a.rmeta --extern futures_0_1_31=/playground/target/debug/deps/libfutures-8c6f9ffd588573e8.rmeta --extern futures=/playground/target/debug/deps/libfutures-3f479a3c7622085c.rmeta --extern futures_channel=/playground/target/debug/deps/libfutures_channel-4b5f3a9c6d21c929.rmeta --extern futures_core=/playground/target/debug/deps/libfutures_core-afcb3ffab56719da.rmeta --extern futures_executor=/playground/target/debug/deps/libfutures_executor-6ffc61395ae59049.rmeta --extern futures_io=/playground/target/debug/deps/libfutures_io-a9c9b05d70432de8.rmeta --extern futures_macro=/playground/target/debug/deps/libfutures_macro-6eb2e2b4e59ce505.so --extern futures_sink=/playground/target/debug/deps/libfutures_sink-a1bf755215319174.rmeta --extern futures_task=/playground/target/debug/deps/libfutures_task-bb41a13d7c604c21.rmeta --extern futures_util=/playground/target/debug/deps/libfutures_util-3fb0adee85d09340.rmeta --extern fxhash=/playground/target/debug/deps/libfxhash-548213afc591ab15.rmeta --extern generic_array_0_14_7=/playground/target/debug/deps/libgeneric_array-a15caa1a7092dc50.rmeta --extern generic_array=/playground/target/debug/deps/libgeneric_array-18311620ed0133c7.rmeta --extern getopts=/playground/target/debug/deps/libgetopts-4a8e1d7bec654e67.rmeta --extern getrandom_0_2_15=/playground/target/debug/deps/libgetrandom-5409d8d02cee0369.rmeta --extern getrandom=/playground/target/debug/deps/libgetrandom-715808df2b365ae5.rmeta --extern gif=/playground/target/debug/deps/libgif-3421d66ff5f2996d.rmeta --extern gimli=/playground/target/debug/deps/libgimli-88ba45fb10ff65b6.rmeta --extern glob=/playground/target/debug/deps/libglob-f9a5b9f3847903b6.rmeta --extern h2=/playground/target/debug/deps/libh2-b0ec77fc9f7c7f38.rmeta --extern half=/playground/target/debug/deps/libhalf-8276d309a6abe119.rmeta --extern hash32=/playground/target/debug/deps/libhash32-1903ba15aed44915.rmeta --extern hashbrown=/playground/target/debug/deps/libhashbrown-0a679262f4d27363.rmeta --extern hashlink=/playground/target/debug/deps/libhashlink-edd0d5e81e626d0c.rmeta --extern hdrhistogram=/playground/target/debug/deps/libhdrhistogram-54293de65c40bca5.rmeta --extern heapless=/playground/target/debug/deps/libheapless-0aa7bfaf6ebb36af.rmeta --extern heck=/playground/target/debug/deps/libheck-1932b34dc8599671.rmeta --extern hmac=/playground/target/debug/deps/libhmac-cea8c0f3bb86f006.rmeta --extern html5ever_0_26_0=/playground/target/debug/deps/libhtml5ever-dd931826e149c475.rmeta --extern html5ever=/playground/target/debug/deps/libhtml5ever-816b3cbb2d1a0e64.rmeta --extern http=/playground/target/debug/deps/libhttp-6780b07d1e636524.rmeta --extern http_body=/playground/target/debug/deps/libhttp_body-4e86c4ff3c7ad72e.rmeta --extern http_body_util=/playground/target/debug/deps/libhttp_body_util-0a397203e704d108.rmeta --extern httparse=/playground/target/debug/deps/libhttparse-6c0bd8d18e01db5d.rmeta --extern httpdate=/playground/target/debug/deps/libhttpdate-2e2d4fc1d544845b.rmeta --extern humantime=/playground/target/debug/deps/libhumantime-71a58f1793f2000f.rmeta --extern hyper=/playground/target/debug/deps/libhyper-784e75b21a3b2231.rmeta --extern hyper_rustls=/playground/target/debug/deps/libhyper_rustls-7748feee2b911565.rmeta --extern hyper_tls=/playground/target/debug/deps/libhyper_tls-dae821c9ee8cd7e2.rmeta --extern hyper_util=/playground/target/debug/deps/libhyper_util-c68f41151accfac3.rmeta --extern iana_time_zone=/playground/target/debug/deps/libiana_time_zone-8b31eef2c025eada.rmeta --extern icu_collections=/playground/target/debug/deps/libicu_collections-4054b5641843fc5a.rmeta --extern icu_locid=/playground/target/debug/deps/libicu_locid-7e1fc650af059902.rmeta --extern icu_locid_transform=/playground/target/debug/deps/libicu_locid_transform-1504c68e890208d6.rmeta --extern icu_locid_transform_data=/playground/target/debug/deps/libicu_locid_transform_data-cb6cda47a2db60ab.rmeta --extern icu_normalizer=/playground/target/debug/deps/libicu_normalizer-1b8a9f89bd6f824b.rmeta --extern icu_normalizer_data=/playground/target/debug/deps/libicu_normalizer_data-9cb7279eed4e0249.rmeta --extern icu_properties=/playground/target/debug/deps/libicu_properties-66d53dee8b5339d3.rmeta --extern icu_properties_data=/playground/target/debug/deps/libicu_properties_data-9ffd6da1ddf86dd4.rmeta --extern icu_provider=/playground/target/debug/deps/libicu_provider-e1b11d1e5247ba31.rmeta --extern icu_provider_macros=/playground/target/debug/deps/libicu_provider_macros-ae94ac7d1000a169.so --extern idna=/playground/target/debug/deps/libidna-5a47e2caea5e2bf8.rmeta --extern idna_adapter=/playground/target/debug/deps/libidna_adapter-b6e26c9b9762c852.rmeta --extern image=/playground/target/debug/deps/libimage-025d2b08459cfaed.rmeta --extern image_webp=/playground/target/debug/deps/libimage_webp-56bd7d4d9d91d346.rmeta --extern imgref=/playground/target/debug/deps/libimgref-ff3a7d1f0d9f3329.rmeta --extern indexmap=/playground/target/debug/deps/libindexmap-d1d715e611d59d83.rmeta --extern iovec=/playground/target/debug/deps/libiovec-6c29962b6d5f2f75.rmeta --extern ipnet=/playground/target/debug/deps/libipnet-df8866d67eea76e2.rmeta --extern is_terminal_polyfill=/playground/target/debug/deps/libis_terminal_polyfill-4b9acf82e27fb1a8.rmeta --extern itertools_0_12_1=/playground/target/debug/deps/libitertools-a3114118ac88e9c9.rmeta --extern itertools=/playground/target/debug/deps/libitertools-6bf35647682d3738.rmeta --extern itoa=/playground/target/debug/deps/libitoa-a926177dcadb9845.rmeta --extern jiff=/playground/target/debug/deps/libjiff-0d620d95475049df.rmeta --extern jobserver=/playground/target/debug/deps/libjobserver-48d0bf6117749e03.rmeta --extern jpeg_decoder=/playground/target/debug/deps/libjpeg_decoder-a2497e9dbf2f1f0c.rmeta --extern lazy_static=/playground/target/debug/deps/liblazy_static-9d48a44f86d4ab49.rmeta --extern lebe=/playground/target/debug/deps/liblebe-92ed88002e86dfcd.rmeta --extern libc=/playground/target/debug/deps/liblibc-cdf7efd26ba83ae0.rmeta --extern libm=/playground/target/debug/deps/liblibm-bc02c249fb862814.rmeta --extern libsqlite3_sys=/playground/target/debug/deps/liblibsqlite3_sys-70a3c647bb4c29d1.rmeta --extern linux_raw_sys_0_4_15=/playground/target/debug/deps/liblinux_raw_sys-39e45cd8b5a6a651.rmeta --extern linux_raw_sys=/playground/target/debug/deps/liblinux_raw_sys-ed507fe12611e20f.rmeta --extern litemap=/playground/target/debug/deps/liblitemap-a5cd25770499ff28.rmeta --extern litrs=/playground/target/debug/deps/liblitrs-5820e240e31b2371.rmeta --extern lock_api=/playground/target/debug/deps/liblock_api-2cd3828a086a84f2.rmeta --extern log=/playground/target/debug/deps/liblog-f2eb65e77d49e0ef.rmeta --extern log_mdc=/playground/target/debug/deps/liblog_mdc-97963ff9d6d87004.rmeta --extern log4rs=/playground/target/debug/deps/liblog4rs-06d9a5769b998156.rmeta --extern loop9=/playground/target/debug/deps/libloop9-86f33696f556edaa.rmeta --extern mac=/playground/target/debug/deps/libmac-3a9d2e9fafa3fd38.rmeta --extern markup5ever_0_11_0=/playground/target/debug/deps/libmarkup5ever-4d52d814ce0fe229.rmeta --extern markup5ever=/playground/target/debug/deps/libmarkup5ever-0001f5f7d5356f5b.rmeta --extern markup5ever_rcdom=/playground/target/debug/deps/libmarkup5ever_rcdom-877f7c4f50aafa11.rmeta --extern matrixmultiply=/playground/target/debug/deps/libmatrixmultiply-4b79212e6e04b217.rmeta --extern maybe_rayon=/playground/target/debug/deps/libmaybe_rayon-b726e2ebe673dddb.rmeta --extern md5=/playground/target/debug/deps/libmd5-a022cbbad76c27a8.rmeta --extern memchr=/playground/target/debug/deps/libmemchr-b3fba48383326a77.rmeta --extern memmap=/playground/target/debug/deps/libmemmap-9d42986d611f02e4.rmeta --extern memoffset=/playground/target/debug/deps/libmemoffset-bef6546b4d61aa89.rmeta --extern mime=/playground/target/debug/deps/libmime-e37a333207b99a99.rmeta --extern mime_guess=/playground/target/debug/deps/libmime_guess-b14f5c20aa7af380.rmeta --extern minimal_lexical=/playground/target/debug/deps/libminimal_lexical-dcb50c39dbfb4f3a.rmeta --extern miniz_oxide=/playground/target/debug/deps/libminiz_oxide-cfb70dbb09e10216.rmeta --extern mio=/playground/target/debug/deps/libmio-711adeb397930527.rmeta --extern nalgebra=/playground/target/debug/deps/libnalgebra-9aa6da6bc20b4fc2.rmeta --extern nalgebra_macros=/playground/target/debug/deps/libnalgebra_macros-1f8eb4e3e328f0a4.so --extern native_tls=/playground/target/debug/deps/libnative_tls-666685fe20419356.rmeta --extern ndarray=/playground/target/debug/deps/libndarray-730674b3e21dcd07.rmeta --extern debug_unreachable=/playground/target/debug/deps/libdebug_unreachable-5150246b52ceae63.rmeta --extern nom=/playground/target/debug/deps/libnom-c5984e7352b0fff0.rmeta --extern noop_proc_macro=/playground/target/debug/deps/libnoop_proc_macro-944ee73a854aaea9.so --extern num=/playground/target/debug/deps/libnum-8cdd2f9aba57cf68.rmeta --extern num_bigint=/playground/target/debug/deps/libnum_bigint-700cf1faa3bed09f.rmeta --extern num_complex=/playground/target/debug/deps/libnum_complex-226f9c7969751acc.rmeta --extern num_conv=/playground/target/debug/deps/libnum_conv-60a37fa4b20345c5.rmeta --extern num_derive=/playground/target/debug/deps/libnum_derive-aebeb2b627de2515.so --extern num_integer=/playground/target/debug/deps/libnum_integer-f4ce7a4fc65d4708.rmeta --extern num_iter=/playground/target/debug/deps/libnum_iter-e9d556ab5b6ce64e.rmeta --extern num_rational=/playground/target/debug/deps/libnum_rational-38c512e91f2cdfea.rmeta --extern num_traits=/playground/target/debug/deps/libnum_traits-ca0f3e9efa70c7ac.rmeta --extern num_cpus=/playground/target/debug/deps/libnum_cpus-5200ef57b3fb9c8c.rmeta --extern object=/playground/target/debug/deps/libobject-8cb0259a0de515f2.rmeta --extern once_cell=/playground/target/debug/deps/libonce_cell-e1bfbc3ee910d292.rmeta --extern openssl=/playground/target/debug/deps/libopenssl-d5c013aaf1d51275.rmeta --extern openssl_macros=/playground/target/debug/deps/libopenssl_macros-0f170bc71ca94a26.so --extern openssl_probe=/playground/target/debug/deps/libopenssl_probe-8cf2eb44c4364243.rmeta --extern openssl_sys=/playground/target/debug/deps/libopenssl_sys-cf90396fca83410b.rmeta --extern ordered_float=/playground/target/debug/deps/libordered_float-908a043e381e4a23.rmeta --extern parking_lot=/playground/target/debug/deps/libparking_lot-62ed08037d7b5518.rmeta --extern parking_lot_core=/playground/target/debug/deps/libparking_lot_core-0163445b0ce5c601.rmeta --extern paste=/playground/target/debug/deps/libpaste-877c00952be8f9b7.so --extern percent_encoding=/playground/target/debug/deps/libpercent_encoding-89a8c9a576ed0c86.rmeta --extern petgraph_0_6_5=/playground/target/debug/deps/libpetgraph-d07ecfe4841bd1ed.rmeta --extern petgraph=/playground/target/debug/deps/libpetgraph-4058ffb51655c568.rmeta --extern phf_0_10_1=/playground/target/debug/deps/libphf-40112889b0930576.rmeta --extern phf=/playground/target/debug/deps/libphf-d17bffa46f0470a3.rmeta --extern phf_codegen_0_10_0=/playground/target/debug/deps/libphf_codegen-12ccee382b320398.rmeta --extern phf_codegen=/playground/target/debug/deps/libphf_codegen-68c98ad485fc7167.rmeta --extern phf_generator_0_10_0=/playground/target/debug/deps/libphf_generator-dcc1e1de98ad2da8.rmeta --extern phf_generator=/playground/target/debug/deps/libphf_generator-3fc71fa07f9335dd.rmeta --extern phf_macros=/playground/target/debug/deps/libphf_macros-2725cb0e00dc9319.so --extern phf_shared_0_10_0=/playground/target/debug/deps/libphf_shared-803a56923caba34a.rmeta --extern phf_shared=/playground/target/debug/deps/libphf_shared-aa15b4a5f6cf0203.rmeta --extern pin_project_lite=/playground/target/debug/deps/libpin_project_lite-eb9a151313326bc2.rmeta --extern pin_utils=/playground/target/debug/deps/libpin_utils-eac0dc040f0ba4b2.rmeta --extern pkg_config=/playground/target/debug/deps/libpkg_config-0592b56ab50a2384.rmeta --extern png=/playground/target/debug/deps/libpng-a524371a6ed88f46.rmeta --extern postgres=/playground/target/debug/deps/libpostgres-3a9723a22c2ef260.rmeta --extern postgres_protocol=/playground/target/debug/deps/libpostgres_protocol-79e1cbc73fbba8c7.rmeta --extern postgres_types=/playground/target/debug/deps/libpostgres_types-8b737e16a2691f6f.rmeta --extern powerfmt=/playground/target/debug/deps/libpowerfmt-7477f39ad5466a2f.rmeta --extern ppv_lite86=/playground/target/debug/deps/libppv_lite86-b7e24ee828bb878f.rmeta --extern precomputed_hash=/playground/target/debug/deps/libprecomputed_hash-0b0f8ac7fb661b36.rmeta --extern proc_macro2=/playground/target/debug/deps/libproc_macro2-f9aec840a773b823.rmeta --extern profiling=/playground/target/debug/deps/libprofiling-be3a384737bce7c1.rmeta --extern profiling_procmacros=/playground/target/debug/deps/libprofiling_procmacros-8cac1bf1e5ee24c6.so --extern psl_types=/playground/target/debug/deps/libpsl_types-230c1d459545640c.rmeta --extern publicsuffix=/playground/target/debug/deps/libpublicsuffix-77d8117cb24dedaa.rmeta --extern qoi=/playground/target/debug/deps/libqoi-04cda81e161d6f1e.rmeta --extern quick_error=/playground/target/debug/deps/libquick_error-41ad4285e12f7083.rmeta --extern quote=/playground/target/debug/deps/libquote-bf2c1d7129a811ad.rmeta --extern rand_0_8_5=/playground/target/debug/deps/librand-87b7ea6ced5304fc.rmeta --extern rand=/playground/target/debug/deps/librand-cbe6860de7a86183.rmeta --extern rand_chacha_0_3_1=/playground/target/debug/deps/librand_chacha-8ad20e5f84a1af56.rmeta --extern rand_chacha=/playground/target/debug/deps/librand_chacha-f93aaae2571f9bc5.rmeta --extern rand_core_0_6_4=/playground/target/debug/deps/librand_core-549e50b689b916d2.rmeta --extern rand_core=/playground/target/debug/deps/librand_core-5d907f8bab93dc56.rmeta --extern rand_distr=/playground/target/debug/deps/librand_distr-7937b783e49e5440.rmeta --extern rav1e=/playground/target/debug/deps/librav1e-9081e53b66923782.rmeta --extern ravif=/playground/target/debug/deps/libravif-9f3b0ae16f134ba1.rmeta --extern rawpointer=/playground/target/debug/deps/librawpointer-f7bfc7ed46508754.rmeta --extern rayon=/playground/target/debug/deps/librayon-3a6f71bedd5f3d6a.rmeta --extern rayon_core=/playground/target/debug/deps/librayon_core-de65d471ccadd010.rmeta --extern regex=/playground/target/debug/deps/libregex-40503a9c5c1956ce.rmeta --extern regex_automata=/playground/target/debug/deps/libregex_automata-5625a7aaa31b5bf8.rmeta --extern regex_syntax=/playground/target/debug/deps/libregex_syntax-54fff3ca5d4cd276.rmeta --extern reqwest=/playground/target/debug/deps/libreqwest-8c26776c3ea227bc.rmeta --extern rgb=/playground/target/debug/deps/librgb-0452492d48851286.rmeta --extern ring=/playground/target/debug/deps/libring-17f7265807728458.rmeta --extern rusqlite=/playground/target/debug/deps/librusqlite-6f83553550ba55e5.rmeta --extern rustc_demangle=/playground/target/debug/deps/librustc_demangle-cb17f1c413f0710a.rmeta --extern rustc_version=/playground/target/debug/deps/librustc_version-09ab6e8ed8cf2159.rmeta --extern rustix=/playground/target/debug/deps/librustix-cf4cb18290f2b3f4.rmeta --extern rustls=/playground/target/debug/deps/librustls-ab814b6059fcdbb6.rmeta --extern rustls_pemfile=/playground/target/debug/deps/librustls_pemfile-f8d2976987c2c450.rmeta --extern rustls_pki_types=/playground/target/debug/deps/librustls_pki_types-831191df19f58259.rmeta --extern webpki=/playground/target/debug/deps/libwebpki-3a71c42403bb9253.rmeta --extern rustversion=/playground/target/debug/deps/librustversion-1813c59b8b1de3f6.so --extern ryu=/playground/target/debug/deps/libryu-e55fd8e8372b9512.rmeta --extern safe_arch=/playground/target/debug/deps/libsafe_arch-dd196edcdbb12597.rmeta --extern same_file=/playground/target/debug/deps/libsame_file-2cd4738eed09f545.rmeta --extern scopeguard=/playground/target/debug/deps/libscopeguard-9f701abff82356c4.rmeta --extern scraper=/playground/target/debug/deps/libscraper-c4f1bf14c9f2cc8f.rmeta --extern select=/playground/target/debug/deps/libselect-4e5f7e3c160c633f.rmeta --extern selectors=/playground/target/debug/deps/libselectors-1797caeae037a9c9.rmeta --extern semver=/playground/target/debug/deps/libsemver-55df0c9e06f2acd9.rmeta --extern serde=/playground/target/debug/deps/libserde-44a236f4662ce5be.rmeta --extern serde_value=/playground/target/debug/deps/libserde_value-cc50f20223432c76.rmeta --extern serde_derive=/playground/target/debug/deps/libserde_derive-cbcb9e5ab8a39622.so --extern serde_json=/playground/target/debug/deps/libserde_json-989550c40ffa224c.rmeta --extern serde_spanned=/playground/target/debug/deps/libserde_spanned-d7613bef4ac02f9b.rmeta --extern serde_urlencoded=/playground/target/debug/deps/libserde_urlencoded-faf03d2c5c6b1560.rmeta --extern serde_yaml=/playground/target/debug/deps/libserde_yaml-ca65b85fd575edba.rmeta --extern servo_arc=/playground/target/debug/deps/libservo_arc-c4553eb662ecf06b.rmeta --extern sha1_smol=/playground/target/debug/deps/libsha1_smol-9589c6d5d6dc44e6.rmeta --extern sha2=/playground/target/debug/deps/libsha2-e7907d110dab4ee5.rmeta --extern shlex=/playground/target/debug/deps/libshlex-b29bf627ade0fbee.rmeta --extern signal_hook_registry=/playground/target/debug/deps/libsignal_hook_registry-172db6c571bf8cc9.rmeta --extern simba=/playground/target/debug/deps/libsimba-b8770f4adaf0e4f6.rmeta --extern simd_adler32=/playground/target/debug/deps/libsimd_adler32-a3d04411296ccf3c.rmeta --extern simd_helpers=/playground/target/debug/deps/libsimd_helpers-5726124f66d9ac2e.so --extern siphasher_0_3_11=/playground/target/debug/deps/libsiphasher-db2981c295ee481f.rmeta --extern siphasher=/playground/target/debug/deps/libsiphasher-a1b7c6e1ae03bfab.rmeta --extern slab=/playground/target/debug/deps/libslab-bdcf5e2d53b44a8e.rmeta --extern smallvec=/playground/target/debug/deps/libsmallvec-31ebe7054b40b5cc.rmeta --extern socket2=/playground/target/debug/deps/libsocket2-162c7493392fd734.rmeta --extern spin=/playground/target/debug/deps/libspin-059d6ecc6db10ccc.rmeta --extern sptr=/playground/target/debug/deps/libsptr-52ad68cfe255a676.rmeta --extern stable_deref_trait=/playground/target/debug/deps/libstable_deref_trait-1d45f07fee67eccd.rmeta --extern string_cache=/playground/target/debug/deps/libstring_cache-1eb3cdff7d0b5a89.rmeta --extern string_cache_codegen=/playground/target/debug/deps/libstring_cache_codegen-ba6b0ce6eab8f791.rmeta --extern stringprep=/playground/target/debug/deps/libstringprep-95d6c7b34b51be32.rmeta --extern strsim=/playground/target/debug/deps/libstrsim-55f508323b80f6ed.rmeta --extern subtle=/playground/target/debug/deps/libsubtle-9978c7e607031ba6.rmeta --extern syn_1_0_109=/playground/target/debug/deps/libsyn-21eebf09ee49b517.rmeta --extern syn=/playground/target/debug/deps/libsyn-f3775df1ad5ba9f2.rmeta --extern sync_wrapper=/playground/target/debug/deps/libsync_wrapper-bb858d10b061b95a.rmeta --extern synstructure=/playground/target/debug/deps/libsynstructure-441cbd694ef7b3f3.rmeta --extern tar=/playground/target/debug/deps/libtar-974b97f723df0195.rmeta --extern tempfile=/playground/target/debug/deps/libtempfile-0afb6f18dd9b8858.rmeta --extern tendril=/playground/target/debug/deps/libtendril-cfe11f600fb89792.rmeta --extern terminal_size=/playground/target/debug/deps/libterminal_size-f2025cb7f5ecc310.rmeta --extern thiserror_1_0_69=/playground/target/debug/deps/libthiserror-9a495dedd96b3c5f.rmeta --extern thiserror=/playground/target/debug/deps/libthiserror-48c324702fae1072.rmeta --extern thiserror_impl_1_0_69=/playground/target/debug/deps/libthiserror_impl-791702cfb14a5222.so --extern thiserror_impl=/playground/target/debug/deps/libthiserror_impl-630bdbb8fa651b5c.so --extern thread_id=/playground/target/debug/deps/libthread_id-3e06d3a6e22a126b.rmeta --extern threadpool=/playground/target/debug/deps/libthreadpool-dc6c570582b17c24.rmeta --extern tiff=/playground/target/debug/deps/libtiff-21553806ee72253a.rmeta --extern time=/playground/target/debug/deps/libtime-e54c15240d408f7e.rmeta --extern time_core=/playground/target/debug/deps/libtime_core-8b028bde507ff000.rmeta --extern time_macros=/playground/target/debug/deps/libtime_macros-713e8d5717125f9b.so --extern tinystr=/playground/target/debug/deps/libtinystr-c53882e95a7d0bcb.rmeta --extern tinyvec=/playground/target/debug/deps/libtinyvec-22a7c03a7b79037e.rmeta --extern tinyvec_macros=/playground/target/debug/deps/libtinyvec_macros-74781d1b7fe658d6.rmeta --extern tokio=/playground/target/debug/deps/libtokio-6e16b1bb998a7f04.rmeta --extern tokio_io=/playground/target/debug/deps/libtokio_io-9ccd8f6026a7b5b0.rmeta --extern tokio_macros=/playground/target/debug/deps/libtokio_macros-260337f11816280f.so --extern tokio_native_tls=/playground/target/debug/deps/libtokio_native_tls-1e06854f2cbd2fad.rmeta --extern tokio_postgres=/playground/target/debug/deps/libtokio_postgres-66e918e605bf38da.rmeta --extern tokio_rustls=/playground/target/debug/deps/libtokio_rustls-23bb799e362c61c2.rmeta --extern tokio_stream=/playground/target/debug/deps/libtokio_stream-dd36314e0f55ae43.rmeta --extern tokio_util=/playground/target/debug/deps/libtokio_util-593bacf0b0a630bb.rmeta --extern toml=/playground/target/debug/deps/libtoml-b88e8efff44a38e9.rmeta --extern toml_datetime=/playground/target/debug/deps/libtoml_datetime-4a797b747c36b4c5.rmeta --extern toml_edit=/playground/target/debug/deps/libtoml_edit-b2b5eecaebe13bcb.rmeta --extern tower=/playground/target/debug/deps/libtower-48dbaa2aa493cec8.rmeta --extern tower_layer=/playground/target/debug/deps/libtower_layer-5b76e1b22d87f690.rmeta --extern tower_service=/playground/target/debug/deps/libtower_service-91d1de27199e1804.rmeta --extern tracing=/playground/target/debug/deps/libtracing-490fcaea887d3d3b.rmeta --extern tracing_attributes=/playground/target/debug/deps/libtracing_attributes-5750ee420b769fbb.so --extern tracing_core=/playground/target/debug/deps/libtracing_core-58ba79c3045368c6.rmeta --extern trpl=/playground/target/debug/deps/libtrpl-341d0cee9fe6c6b4.rmeta --extern try_lock=/playground/target/debug/deps/libtry_lock-14f7a1e70de3063e.rmeta --extern typemap_ors=/playground/target/debug/deps/libtypemap_ors-633560b18a7a5332.rmeta --extern typenum=/playground/target/debug/deps/libtypenum-40dd88ec0cce76ec.rmeta --extern unicase=/playground/target/debug/deps/libunicase-0b220ef550315069.rmeta --extern unicode_bidi=/playground/target/debug/deps/libunicode_bidi-33973c5c0b8b19a6.rmeta --extern unicode_ident=/playground/target/debug/deps/libunicode_ident-abac8adaab3f79a0.rmeta --extern unicode_normalization=/playground/target/debug/deps/libunicode_normalization-afc2fd98e4bc2050.rmeta --extern unicode_properties=/playground/target/debug/deps/libunicode_properties-a754e58e86548ccd.rmeta --extern unicode_segmentation=/playground/target/debug/deps/libunicode_segmentation-5b9f98226fef88a4.rmeta --extern unicode_width_0_1_14=/playground/target/debug/deps/libunicode_width-bc8d18fc8f8724be.rmeta --extern unicode_width=/playground/target/debug/deps/libunicode_width-ac3ddddaa58bccb0.rmeta --extern unicode_xid=/playground/target/debug/deps/libunicode_xid-288efc7a3a645028.rmeta --extern unsafe_any_ors=/playground/target/debug/deps/libunsafe_any_ors-5b8a3dc07e5d1175.rmeta --extern unsafe_libyaml=/playground/target/debug/deps/libunsafe_libyaml-2f86ec7e180f46c8.rmeta --extern untrusted=/playground/target/debug/deps/libuntrusted-07a73a8d52f42697.rmeta --extern url=/playground/target/debug/deps/liburl-86367b9873b8464b.rmeta --extern utf8=/playground/target/debug/deps/libutf8-9377542321ad586a.rmeta --extern utf16_iter=/playground/target/debug/deps/libutf16_iter-1260e642f722e36d.rmeta --extern utf8_iter=/playground/target/debug/deps/libutf8_iter-473d4b0b9823051e.rmeta --extern utf8parse=/playground/target/debug/deps/libutf8parse-0391b50bc925e1f1.rmeta --extern uuid=/playground/target/debug/deps/libuuid-f50e2c4b53dd1259.rmeta --extern v_frame=/playground/target/debug/deps/libv_frame-a674e76bb098cb0f.rmeta --extern vcpkg=/playground/target/debug/deps/libvcpkg-e27f2325bacb211b.rmeta --extern version_check=/playground/target/debug/deps/libversion_check-2441df1024be1a0b.rmeta --extern walkdir=/playground/target/debug/deps/libwalkdir-9506aee47ba9e27b.rmeta --extern want=/playground/target/debug/deps/libwant-3386e63db5f349a6.rmeta --extern wasm_bindgen=/playground/target/debug/deps/libwasm_bindgen-f2133518778d8dcf.rmeta --extern wasm_bindgen_backend=/playground/target/debug/deps/libwasm_bindgen_backend-30025f38997c7413.rmeta --extern wasm_bindgen_macro=/playground/target/debug/deps/libwasm_bindgen_macro-70aea6e72034f1bf.so --extern wasm_bindgen_macro_support=/playground/target/debug/deps/libwasm_bindgen_macro_support-ca3e860ba4ac4a2b.rmeta --extern wasm_bindgen_shared=/playground/target/debug/deps/libwasm_bindgen_shared-2f4c34160382a395.rmeta --extern weezl=/playground/target/debug/deps/libweezl-052e9c2ae65aa10d.rmeta --extern whoami=/playground/target/debug/deps/libwhoami-dc994342f666360b.rmeta --extern wide=/playground/target/debug/deps/libwide-4fc9eaa981dd3c6d.rmeta --extern windows_sys=/playground/target/debug/deps/libwindows_sys-e32ef1ad42f3e072.rmeta --extern windows_targets=/playground/target/debug/deps/libwindows_targets-c12e8abb0a07641c.rmeta --extern windows_x86_64_gnu_0_52_6=/playground/target/debug/deps/libwindows_x86_64_gnu-cc3e766dcdf5c963.rmeta --extern windows_x86_64_gnu=/playground/target/debug/deps/libwindows_x86_64_gnu-ad71f719be1e1ab3.rmeta --extern windows_x86_64_msvc=/playground/target/debug/deps/libwindows_x86_64_msvc-2b6f791332adc8cb.rmeta --extern winnow=/playground/target/debug/deps/libwinnow-85f82a38a52e8d24.rmeta --extern write16=/playground/target/debug/deps/libwrite16-9c0da22c2b6b0f1c.rmeta --extern writeable=/playground/target/debug/deps/libwriteable-3147c0c815703a6b.rmeta --extern xattr=/playground/target/debug/deps/libxattr-34e6c02334463c07.rmeta --extern xml5ever=/playground/target/debug/deps/libxml5ever-1e307f7331a337a3.rmeta --extern yoke=/playground/target/debug/deps/libyoke-6b27307868a4ff1b.rmeta --extern yoke_derive=/playground/target/debug/deps/libyoke_derive-4c8ef785bc10dc23.so --extern zerocopy_0_7_35=/playground/target/debug/deps/libzerocopy-233fa8bcc1d19a68.rmeta --extern zerocopy=/playground/target/debug/deps/libzerocopy-b9f696412c8d4a39.rmeta --extern zerocopy_derive_0_7_35=/playground/target/debug/deps/libzerocopy_derive-4955d31b7c7dfcbd.so --extern zerocopy_derive=/playground/target/debug/deps/libzerocopy_derive-8b2546b4578ecdc9.so --extern zerofrom=/playground/target/debug/deps/libzerofrom-f8002a5000776c2b.rmeta --extern zerofrom_derive=/playground/target/debug/deps/libzerofrom_derive-e61a6d66a39ae26d.so --extern zeroize=/playground/target/debug/deps/libzeroize-ac0cf9694c99a65e.rmeta --extern zerovec=/playground/target/debug/deps/libzerovec-36d110f9006c99dc.rmeta --extern zerovec_derive=/playground/target/debug/deps/libzerovec_derive-9461b8ad777f46d2.so --extern zune_core=/playground/target/debug/deps/libzune_core-41cbe8ae361b60a8.rmeta --extern zune_inflate=/playground/target/debug/deps/libzune_inflate-6904dd1c28cf13d0.rmeta --extern zune_jpeg=/playground/target/debug/deps/libzune_jpeg-90b91c0365752984.rmeta -L native=/playground/target/debug/build/aws-lc-sys-c28a655848885fb1/out -L native=/playground/target/debug/build/libsqlite3-sys-0731013579f2eed1/out -L native=/playground/target/debug/build/ring-2ab8e66242ff9358/out -L native=/playground/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_gnu-0.52.6/lib -L native=/playground/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_gnu-0.53.0/lib -L native=/playground/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_msvc-0.53.0/lib` (exit status: 101)
Error output (edition 2015)
warning: enum `Camera` is never used
 --> src/lib.rs:1:6
  |
1 | enum Camera {
  |      ^^^^^^
  |
  = note: `#[warn(dead_code)]` on by default

warning: function `draw_ui` is never used
 --> src/lib.rs:6:4
  |
6 | fn draw_ui(camera: &mut Camera) {
  |    ^^^^^^^

warning: unused closure that must be used
  --> src/lib.rs:7:5
   |
7  | /     || {
8  | |         let (Camera::Normal {
9  | |             base_transform: _transform,
...  |
13 | |         }) = camera;
14 | |     };
   | |_____^
   |
   = note: closures are lazy and do nothing unless called
   = note: `#[warn(unused_must_use)]` on by default

note: no errors encountered even though delayed bugs were created

note: those delayed bugs will now be shown as internal compiler errors

error: internal compiler error: two identical projections: ([Projection { ty: Camera, kind: Deref }, Projection { ty: i32, kind: Field(0, 1) }], [Projection { ty: Camera, kind: Deref }, Projection { ty: i32, kind: Field(0, 0) }])
  --> src/lib.rs:7:5
   |
7  | /     || {
8  | |         let (Camera::Normal {
9  | |             base_transform: _transform,
...  |
13 | |         }) = camera;
14 | |     };
   | |_____^
   |
note: delayed at compiler/rustc_hir_typeck/src/upvar.rs:931:28 - disabled backtrace
  --> src/lib.rs:7:5
   |
7  | /     || {
8  | |         let (Camera::Normal {
9  | |             base_transform: _transform,
...  |
13 | |         }) = camera;
14 | |     };
   | |_____^

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

note: rustc 1.85.0 (4d91de4e4 2025-02-17) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack
warning: `playground` (lib) generated 3 warnings
error: could not compile `playground` (lib); 3 warnings emitted

Caused by:
  process didn't exit successfully: `/playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name playground --edition=2015 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=366a788cf4c17076 -C extra-filename=-1fb08721bd71a35f --out-dir /playground/target/debug/deps -L dependency=/playground/target/debug/deps --extern addr2line=/playground/target/debug/deps/libaddr2line-4ff13357dc7639cc.rmeta --extern adler2=/playground/target/debug/deps/libadler2-eddc1c7d884e9733.rmeta --extern ahash=/playground/target/debug/deps/libahash-53c5ed9345950de4.rmeta --extern aho_corasick=/playground/target/debug/deps/libaho_corasick-54ead6df13b9af7e.rmeta --extern aligned_vec=/playground/target/debug/deps/libaligned_vec-b32070a13c799e5f.rmeta --extern allocator_api2=/playground/target/debug/deps/liballocator_api2-0a3d09e477b05933.rmeta --extern ansi_term=/playground/target/debug/deps/libansi_term-f95579f079bd92eb.rmeta --extern anstream=/playground/target/debug/deps/libanstream-9a765d829445b55f.rmeta --extern anstyle=/playground/target/debug/deps/libanstyle-099a7ef05901f6df.rmeta --extern anstyle_parse=/playground/target/debug/deps/libanstyle_parse-8eb80659271d3c5e.rmeta --extern anstyle_query=/playground/target/debug/deps/libanstyle_query-e1c555ffc2a9dca2.rmeta --extern anyhow=/playground/target/debug/deps/libanyhow-06dae85c91726123.rmeta --extern approx=/playground/target/debug/deps/libapprox-bcacf29c24e1b49e.rmeta --extern arc_swap=/playground/target/debug/deps/libarc_swap-c427dc87f00b8045.rmeta --extern arg_enum_proc_macro=/playground/target/debug/deps/libarg_enum_proc_macro-ddef36ed7baf1357.so --extern arrayvec=/playground/target/debug/deps/libarrayvec-475d5dd591b809af.rmeta --extern async_trait=/playground/target/debug/deps/libasync_trait-1540cdfe57f00cf5.so --extern atomic=/playground/target/debug/deps/libatomic-14f9881da2385e5a.rmeta --extern atomic_waker=/playground/target/debug/deps/libatomic_waker-af5c5847841f97a0.rmeta --extern autocfg=/playground/target/debug/deps/libautocfg-121c73c9744014ea.rmeta --extern av1_grain=/playground/target/debug/deps/libav1_grain-4d8012ee28fc519f.rmeta --extern avif_serialize=/playground/target/debug/deps/libavif_serialize-bb6dda283727a004.rmeta --extern aws_lc_rs=/playground/target/debug/deps/libaws_lc_rs-5099ee4d4505e342.rmeta --extern aws_lc_sys=/playground/target/debug/deps/libaws_lc_sys-541958d8bc1a8077.rmeta --extern backtrace=/playground/target/debug/deps/libbacktrace-855029e9101c9081.rmeta --extern base64=/playground/target/debug/deps/libbase64-da04cbdc6a11ec2f.rmeta --extern bit_set=/playground/target/debug/deps/libbit_set-06c176f560e580f0.rmeta --extern bit_vec=/playground/target/debug/deps/libbit_vec-cd12cce26dfeb08f.rmeta --extern bit_field=/playground/target/debug/deps/libbit_field-49a771562812a1c1.rmeta --extern bitflags_1_3_2=/playground/target/debug/deps/libbitflags-e7a7e6fce74e6418.rmeta --extern bitflags=/playground/target/debug/deps/libbitflags-ecc0b51b35c097ec.rmeta --extern bitstream_io=/playground/target/debug/deps/libbitstream_io-927c4ed563d42423.rmeta --extern block_buffer=/playground/target/debug/deps/libblock_buffer-e2d91687b00116d9.rmeta --extern built=/playground/target/debug/deps/libbuilt-a281001f41fab2fd.rmeta --extern bumpalo=/playground/target/debug/deps/libbumpalo-26f98d5e516a3d55.rmeta --extern bytemuck=/playground/target/debug/deps/libbytemuck-92a780b36f2863be.rmeta --extern bytemuck_derive=/playground/target/debug/deps/libbytemuck_derive-4e30735511464f1b.so --extern byteorder=/playground/target/debug/deps/libbyteorder-57a463c1f35d9d12.rmeta --extern byteorder_lite=/playground/target/debug/deps/libbyteorder_lite-09b27377e6d3df08.rmeta --extern bytes_0_4_12=/playground/target/debug/deps/libbytes-1419d36a00d79986.rmeta --extern bytes=/playground/target/debug/deps/libbytes-7c026c3707402c98.rmeta --extern cc=/playground/target/debug/deps/libcc-0a7768687499f8e3.rmeta --extern cfg_if=/playground/target/debug/deps/libcfg_if-df02ababc950fb2e.rmeta --extern chrono=/playground/target/debug/deps/libchrono-76fdf80f701f1799.rmeta --extern clap=/playground/target/debug/deps/libclap-109e2e2e4372d32d.rmeta --extern clap_builder=/playground/target/debug/deps/libclap_builder-bb3470ba67d8ac19.rmeta --extern clap_derive=/playground/target/debug/deps/libclap_derive-ce7a6403e8c9053c.so --extern clap_lex=/playground/target/debug/deps/libclap_lex-a502eadde329acb2.rmeta --extern cmake=/playground/target/debug/deps/libcmake-05e06b59310df769.rmeta --extern color_quant=/playground/target/debug/deps/libcolor_quant-0cb58b46bc6d704c.rmeta --extern colorchoice=/playground/target/debug/deps/libcolorchoice-1375da6a9ba69895.rmeta --extern const_default=/playground/target/debug/deps/libconst_default-d9fb3d77721013f6.rmeta --extern cookie=/playground/target/debug/deps/libcookie-1c266e0301d01618.rmeta --extern cookie_store=/playground/target/debug/deps/libcookie_store-5f82207dd7fafe06.rmeta --extern cpufeatures=/playground/target/debug/deps/libcpufeatures-566dbddd462aebbd.rmeta --extern crc32fast=/playground/target/debug/deps/libcrc32fast-294259c7e6bfd42f.rmeta --extern crossbeam=/playground/target/debug/deps/libcrossbeam-86852af61a790a42.rmeta --extern crossbeam_channel=/playground/target/debug/deps/libcrossbeam_channel-27d04ea83992ce41.rmeta --extern crossbeam_deque=/playground/target/debug/deps/libcrossbeam_deque-86d43bdacb3a4236.rmeta --extern crossbeam_epoch=/playground/target/debug/deps/libcrossbeam_epoch-13681ab5b360fd15.rmeta --extern crossbeam_queue=/playground/target/debug/deps/libcrossbeam_queue-d9b5433f8db59d79.rmeta --extern crossbeam_utils=/playground/target/debug/deps/libcrossbeam_utils-0b7eb488df3cdd76.rmeta --extern crypto_common=/playground/target/debug/deps/libcrypto_common-b422245d2b89c7eb.rmeta --extern cssparser=/playground/target/debug/deps/libcssparser-37e53e69b03c9309.rmeta --extern cssparser_macros=/playground/target/debug/deps/libcssparser_macros-862f7a5d8a4a7912.so --extern csv=/playground/target/debug/deps/libcsv-e40733c69f2cf5d0.rmeta --extern csv_core=/playground/target/debug/deps/libcsv_core-f713504008b5bf92.rmeta --extern data_encoding=/playground/target/debug/deps/libdata_encoding-e70490471b5ff072.rmeta --extern deranged=/playground/target/debug/deps/libderanged-e8ee862c62020dda.rmeta --extern derivative=/playground/target/debug/deps/libderivative-4b8d649391643b8a.so --extern destructure_traitobject=/playground/target/debug/deps/libdestructure_traitobject-90608edd8bc0359e.rmeta --extern digest=/playground/target/debug/deps/libdigest-862d1f55ef5dca93.rmeta --extern displaydoc=/playground/target/debug/deps/libdisplaydoc-ee99e51cdeaae725.so --extern document_features=/playground/target/debug/deps/libdocument_features-e8b3b27b1cbd1c27.so --extern dtoa=/playground/target/debug/deps/libdtoa-0ff29febbe024386.rmeta --extern dtoa_short=/playground/target/debug/deps/libdtoa_short-acc0691d0e6e1117.rmeta --extern dunce=/playground/target/debug/deps/libdunce-48ad8ab917b3f197.rmeta --extern ego_tree=/playground/target/debug/deps/libego_tree-ae84dc4e7bfa9cd4.rmeta --extern either=/playground/target/debug/deps/libeither-a5e0af6aec9d5b8c.rmeta --extern encoding_rs=/playground/target/debug/deps/libencoding_rs-b16407f89b946243.rmeta --extern env_filter=/playground/target/debug/deps/libenv_filter-1a337edf97b82c8a.rmeta --extern env_logger=/playground/target/debug/deps/libenv_logger-c2f28b4ac226d020.rmeta --extern equivalent=/playground/target/debug/deps/libequivalent-35b4522ea87dcef5.rmeta --extern errno=/playground/target/debug/deps/liberrno-7a962fecfe51e068.rmeta --extern exr=/playground/target/debug/deps/libexr-15ff6e38d96291d7.rmeta --extern fallible_iterator_0_2_0=/playground/target/debug/deps/libfallible_iterator-927f84eee317320b.rmeta --extern fallible_iterator=/playground/target/debug/deps/libfallible_iterator-9220e1b7a6863850.rmeta --extern fallible_streaming_iterator=/playground/target/debug/deps/libfallible_streaming_iterator-89bb4046cf494bac.rmeta --extern faster_hex=/playground/target/debug/deps/libfaster_hex-648698131b147c99.rmeta --extern fastrand=/playground/target/debug/deps/libfastrand-8d5184b5cab08f0d.rmeta --extern fdeflate=/playground/target/debug/deps/libfdeflate-dc4a9b5d40390051.rmeta --extern filetime=/playground/target/debug/deps/libfiletime-8e3366b9983ec036.rmeta --extern fixedbitset_0_4_2=/playground/target/debug/deps/libfixedbitset-f9ad1c81618f7b86.rmeta --extern fixedbitset=/playground/target/debug/deps/libfixedbitset-b7acfcf1ff9adaaf.rmeta --extern flate2=/playground/target/debug/deps/libflate2-01b6ad7c2add1428.rmeta --extern fnv=/playground/target/debug/deps/libfnv-a64a8d757b0d7228.rmeta --extern foldhash=/playground/target/debug/deps/libfoldhash-ebf755ce0998a20a.rmeta --extern foreign_types=/playground/target/debug/deps/libforeign_types-8129242409cb9f09.rmeta --extern foreign_types_shared=/playground/target/debug/deps/libforeign_types_shared-5901e39abd75ee80.rmeta --extern form_urlencoded=/playground/target/debug/deps/libform_urlencoded-8a515da6a7a61600.rmeta --extern fs_extra=/playground/target/debug/deps/libfs_extra-06b6b5402c2baacb.rmeta --extern futf=/playground/target/debug/deps/libfutf-6b34157baba90d8a.rmeta --extern futures_0_1_31=/playground/target/debug/deps/libfutures-8c6f9ffd588573e8.rmeta --extern futures=/playground/target/debug/deps/libfutures-3f479a3c7622085c.rmeta --extern futures_channel=/playground/target/debug/deps/libfutures_channel-4b5f3a9c6d21c929.rmeta --extern futures_core=/playground/target/debug/deps/libfutures_core-afcb3ffab56719da.rmeta --extern futures_executor=/playground/target/debug/deps/libfutures_executor-6ffc61395ae59049.rmeta --extern futures_io=/playground/target/debug/deps/libfutures_io-a9c9b05d70432de8.rmeta --extern futures_macro=/playground/target/debug/deps/libfutures_macro-6eb2e2b4e59ce505.so --extern futures_sink=/playground/target/debug/deps/libfutures_sink-a1bf755215319174.rmeta --extern futures_task=/playground/target/debug/deps/libfutures_task-bb41a13d7c604c21.rmeta --extern futures_util=/playground/target/debug/deps/libfutures_util-3fb0adee85d09340.rmeta --extern fxhash=/playground/target/debug/deps/libfxhash-548213afc591ab15.rmeta --extern generic_array_0_14_7=/playground/target/debug/deps/libgeneric_array-a15caa1a7092dc50.rmeta --extern generic_array=/playground/target/debug/deps/libgeneric_array-18311620ed0133c7.rmeta --extern getopts=/playground/target/debug/deps/libgetopts-4a8e1d7bec654e67.rmeta --extern getrandom_0_2_15=/playground/target/debug/deps/libgetrandom-5409d8d02cee0369.rmeta --extern getrandom=/playground/target/debug/deps/libgetrandom-715808df2b365ae5.rmeta --extern gif=/playground/target/debug/deps/libgif-3421d66ff5f2996d.rmeta --extern gimli=/playground/target/debug/deps/libgimli-88ba45fb10ff65b6.rmeta --extern glob=/playground/target/debug/deps/libglob-f9a5b9f3847903b6.rmeta --extern h2=/playground/target/debug/deps/libh2-b0ec77fc9f7c7f38.rmeta --extern half=/playground/target/debug/deps/libhalf-8276d309a6abe119.rmeta --extern hash32=/playground/target/debug/deps/libhash32-1903ba15aed44915.rmeta --extern hashbrown=/playground/target/debug/deps/libhashbrown-0a679262f4d27363.rmeta --extern hashlink=/playground/target/debug/deps/libhashlink-edd0d5e81e626d0c.rmeta --extern hdrhistogram=/playground/target/debug/deps/libhdrhistogram-54293de65c40bca5.rmeta --extern heapless=/playground/target/debug/deps/libheapless-0aa7bfaf6ebb36af.rmeta --extern heck=/playground/target/debug/deps/libheck-1932b34dc8599671.rmeta --extern hmac=/playground/target/debug/deps/libhmac-cea8c0f3bb86f006.rmeta --extern html5ever_0_26_0=/playground/target/debug/deps/libhtml5ever-dd931826e149c475.rmeta --extern html5ever=/playground/target/debug/deps/libhtml5ever-816b3cbb2d1a0e64.rmeta --extern http=/playground/target/debug/deps/libhttp-6780b07d1e636524.rmeta --extern http_body=/playground/target/debug/deps/libhttp_body-4e86c4ff3c7ad72e.rmeta --extern http_body_util=/playground/target/debug/deps/libhttp_body_util-0a397203e704d108.rmeta --extern httparse=/playground/target/debug/deps/libhttparse-6c0bd8d18e01db5d.rmeta --extern httpdate=/playground/target/debug/deps/libhttpdate-2e2d4fc1d544845b.rmeta --extern humantime=/playground/target/debug/deps/libhumantime-71a58f1793f2000f.rmeta --extern hyper=/playground/target/debug/deps/libhyper-784e75b21a3b2231.rmeta --extern hyper_rustls=/playground/target/debug/deps/libhyper_rustls-7748feee2b911565.rmeta --extern hyper_tls=/playground/target/debug/deps/libhyper_tls-dae821c9ee8cd7e2.rmeta --extern hyper_util=/playground/target/debug/deps/libhyper_util-c68f41151accfac3.rmeta --extern iana_time_zone=/playground/target/debug/deps/libiana_time_zone-8b31eef2c025eada.rmeta --extern icu_collections=/playground/target/debug/deps/libicu_collections-4054b5641843fc5a.rmeta --extern icu_locid=/playground/target/debug/deps/libicu_locid-7e1fc650af059902.rmeta --extern icu_locid_transform=/playground/target/debug/deps/libicu_locid_transform-1504c68e890208d6.rmeta --extern icu_locid_transform_data=/playground/target/debug/deps/libicu_locid_transform_data-cb6cda47a2db60ab.rmeta --extern icu_normalizer=/playground/target/debug/deps/libicu_normalizer-1b8a9f89bd6f824b.rmeta --extern icu_normalizer_data=/playground/target/debug/deps/libicu_normalizer_data-9cb7279eed4e0249.rmeta --extern icu_properties=/playground/target/debug/deps/libicu_properties-66d53dee8b5339d3.rmeta --extern icu_properties_data=/playground/target/debug/deps/libicu_properties_data-9ffd6da1ddf86dd4.rmeta --extern icu_provider=/playground/target/debug/deps/libicu_provider-e1b11d1e5247ba31.rmeta --extern icu_provider_macros=/playground/target/debug/deps/libicu_provider_macros-ae94ac7d1000a169.so --extern idna=/playground/target/debug/deps/libidna-5a47e2caea5e2bf8.rmeta --extern idna_adapter=/playground/target/debug/deps/libidna_adapter-b6e26c9b9762c852.rmeta --extern image=/playground/target/debug/deps/libimage-025d2b08459cfaed.rmeta --extern image_webp=/playground/target/debug/deps/libimage_webp-56bd7d4d9d91d346.rmeta --extern imgref=/playground/target/debug/deps/libimgref-ff3a7d1f0d9f3329.rmeta --extern indexmap=/playground/target/debug/deps/libindexmap-d1d715e611d59d83.rmeta --extern iovec=/playground/target/debug/deps/libiovec-6c29962b6d5f2f75.rmeta --extern ipnet=/playground/target/debug/deps/libipnet-df8866d67eea76e2.rmeta --extern is_terminal_polyfill=/playground/target/debug/deps/libis_terminal_polyfill-4b9acf82e27fb1a8.rmeta --extern itertools_0_12_1=/playground/target/debug/deps/libitertools-a3114118ac88e9c9.rmeta --extern itertools=/playground/target/debug/deps/libitertools-6bf35647682d3738.rmeta --extern itoa=/playground/target/debug/deps/libitoa-a926177dcadb9845.rmeta --extern jiff=/playground/target/debug/deps/libjiff-0d620d95475049df.rmeta --extern jobserver=/playground/target/debug/deps/libjobserver-48d0bf6117749e03.rmeta --extern jpeg_decoder=/playground/target/debug/deps/libjpeg_decoder-a2497e9dbf2f1f0c.rmeta --extern lazy_static=/playground/target/debug/deps/liblazy_static-9d48a44f86d4ab49.rmeta --extern lebe=/playground/target/debug/deps/liblebe-92ed88002e86dfcd.rmeta --extern libc=/playground/target/debug/deps/liblibc-cdf7efd26ba83ae0.rmeta --extern libm=/playground/target/debug/deps/liblibm-bc02c249fb862814.rmeta --extern libsqlite3_sys=/playground/target/debug/deps/liblibsqlite3_sys-70a3c647bb4c29d1.rmeta --extern linux_raw_sys_0_4_15=/playground/target/debug/deps/liblinux_raw_sys-39e45cd8b5a6a651.rmeta --extern linux_raw_sys=/playground/target/debug/deps/liblinux_raw_sys-ed507fe12611e20f.rmeta --extern litemap=/playground/target/debug/deps/liblitemap-a5cd25770499ff28.rmeta --extern litrs=/playground/target/debug/deps/liblitrs-5820e240e31b2371.rmeta --extern lock_api=/playground/target/debug/deps/liblock_api-2cd3828a086a84f2.rmeta --extern log=/playground/target/debug/deps/liblog-f2eb65e77d49e0ef.rmeta --extern log_mdc=/playground/target/debug/deps/liblog_mdc-97963ff9d6d87004.rmeta --extern log4rs=/playground/target/debug/deps/liblog4rs-06d9a5769b998156.rmeta --extern loop9=/playground/target/debug/deps/libloop9-86f33696f556edaa.rmeta --extern mac=/playground/target/debug/deps/libmac-3a9d2e9fafa3fd38.rmeta --extern markup5ever_0_11_0=/playground/target/debug/deps/libmarkup5ever-4d52d814ce0fe229.rmeta --extern markup5ever=/playground/target/debug/deps/libmarkup5ever-0001f5f7d5356f5b.rmeta --extern markup5ever_rcdom=/playground/target/debug/deps/libmarkup5ever_rcdom-877f7c4f50aafa11.rmeta --extern matrixmultiply=/playground/target/debug/deps/libmatrixmultiply-4b79212e6e04b217.rmeta --extern maybe_rayon=/playground/target/debug/deps/libmaybe_rayon-b726e2ebe673dddb.rmeta --extern md5=/playground/target/debug/deps/libmd5-a022cbbad76c27a8.rmeta --extern memchr=/playground/target/debug/deps/libmemchr-b3fba48383326a77.rmeta --extern memmap=/playground/target/debug/deps/libmemmap-9d42986d611f02e4.rmeta --extern memoffset=/playground/target/debug/deps/libmemoffset-bef6546b4d61aa89.rmeta --extern mime=/playground/target/debug/deps/libmime-e37a333207b99a99.rmeta --extern mime_guess=/playground/target/debug/deps/libmime_guess-b14f5c20aa7af380.rmeta --extern minimal_lexical=/playground/target/debug/deps/libminimal_lexical-dcb50c39dbfb4f3a.rmeta --extern miniz_oxide=/playground/target/debug/deps/libminiz_oxide-cfb70dbb09e10216.rmeta --extern mio=/playground/target/debug/deps/libmio-711adeb397930527.rmeta --extern nalgebra=/playground/target/debug/deps/libnalgebra-9aa6da6bc20b4fc2.rmeta --extern nalgebra_macros=/playground/target/debug/deps/libnalgebra_macros-1f8eb4e3e328f0a4.so --extern native_tls=/playground/target/debug/deps/libnative_tls-666685fe20419356.rmeta --extern ndarray=/playground/target/debug/deps/libndarray-730674b3e21dcd07.rmeta --extern debug_unreachable=/playground/target/debug/deps/libdebug_unreachable-5150246b52ceae63.rmeta --extern nom=/playground/target/debug/deps/libnom-c5984e7352b0fff0.rmeta --extern noop_proc_macro=/playground/target/debug/deps/libnoop_proc_macro-944ee73a854aaea9.so --extern num=/playground/target/debug/deps/libnum-8cdd2f9aba57cf68.rmeta --extern num_bigint=/playground/target/debug/deps/libnum_bigint-700cf1faa3bed09f.rmeta --extern num_complex=/playground/target/debug/deps/libnum_complex-226f9c7969751acc.rmeta --extern num_conv=/playground/target/debug/deps/libnum_conv-60a37fa4b20345c5.rmeta --extern num_derive=/playground/target/debug/deps/libnum_derive-aebeb2b627de2515.so --extern num_integer=/playground/target/debug/deps/libnum_integer-f4ce7a4fc65d4708.rmeta --extern num_iter=/playground/target/debug/deps/libnum_iter-e9d556ab5b6ce64e.rmeta --extern num_rational=/playground/target/debug/deps/libnum_rational-38c512e91f2cdfea.rmeta --extern num_traits=/playground/target/debug/deps/libnum_traits-ca0f3e9efa70c7ac.rmeta --extern num_cpus=/playground/target/debug/deps/libnum_cpus-5200ef57b3fb9c8c.rmeta --extern object=/playground/target/debug/deps/libobject-8cb0259a0de515f2.rmeta --extern once_cell=/playground/target/debug/deps/libonce_cell-e1bfbc3ee910d292.rmeta --extern openssl=/playground/target/debug/deps/libopenssl-d5c013aaf1d51275.rmeta --extern openssl_macros=/playground/target/debug/deps/libopenssl_macros-0f170bc71ca94a26.so --extern openssl_probe=/playground/target/debug/deps/libopenssl_probe-8cf2eb44c4364243.rmeta --extern openssl_sys=/playground/target/debug/deps/libopenssl_sys-cf90396fca83410b.rmeta --extern ordered_float=/playground/target/debug/deps/libordered_float-908a043e381e4a23.rmeta --extern parking_lot=/playground/target/debug/deps/libparking_lot-62ed08037d7b5518.rmeta --extern parking_lot_core=/playground/target/debug/deps/libparking_lot_core-0163445b0ce5c601.rmeta --extern paste=/playground/target/debug/deps/libpaste-877c00952be8f9b7.so --extern percent_encoding=/playground/target/debug/deps/libpercent_encoding-89a8c9a576ed0c86.rmeta --extern petgraph_0_6_5=/playground/target/debug/deps/libpetgraph-d07ecfe4841bd1ed.rmeta --extern petgraph=/playground/target/debug/deps/libpetgraph-4058ffb51655c568.rmeta --extern phf_0_10_1=/playground/target/debug/deps/libphf-40112889b0930576.rmeta --extern phf=/playground/target/debug/deps/libphf-d17bffa46f0470a3.rmeta --extern phf_codegen_0_10_0=/playground/target/debug/deps/libphf_codegen-12ccee382b320398.rmeta --extern phf_codegen=/playground/target/debug/deps/libphf_codegen-68c98ad485fc7167.rmeta --extern phf_generator_0_10_0=/playground/target/debug/deps/libphf_generator-dcc1e1de98ad2da8.rmeta --extern phf_generator=/playground/target/debug/deps/libphf_generator-3fc71fa07f9335dd.rmeta --extern phf_macros=/playground/target/debug/deps/libphf_macros-2725cb0e00dc9319.so --extern phf_shared_0_10_0=/playground/target/debug/deps/libphf_shared-803a56923caba34a.rmeta --extern phf_shared=/playground/target/debug/deps/libphf_shared-aa15b4a5f6cf0203.rmeta --extern pin_project_lite=/playground/target/debug/deps/libpin_project_lite-eb9a151313326bc2.rmeta --extern pin_utils=/playground/target/debug/deps/libpin_utils-eac0dc040f0ba4b2.rmeta --extern pkg_config=/playground/target/debug/deps/libpkg_config-0592b56ab50a2384.rmeta --extern png=/playground/target/debug/deps/libpng-a524371a6ed88f46.rmeta --extern postgres=/playground/target/debug/deps/libpostgres-3a9723a22c2ef260.rmeta --extern postgres_protocol=/playground/target/debug/deps/libpostgres_protocol-79e1cbc73fbba8c7.rmeta --extern postgres_types=/playground/target/debug/deps/libpostgres_types-8b737e16a2691f6f.rmeta --extern powerfmt=/playground/target/debug/deps/libpowerfmt-7477f39ad5466a2f.rmeta --extern ppv_lite86=/playground/target/debug/deps/libppv_lite86-b7e24ee828bb878f.rmeta --extern precomputed_hash=/playground/target/debug/deps/libprecomputed_hash-0b0f8ac7fb661b36.rmeta --extern proc_macro2=/playground/target/debug/deps/libproc_macro2-f9aec840a773b823.rmeta --extern profiling=/playground/target/debug/deps/libprofiling-be3a384737bce7c1.rmeta --extern profiling_procmacros=/playground/target/debug/deps/libprofiling_procmacros-8cac1bf1e5ee24c6.so --extern psl_types=/playground/target/debug/deps/libpsl_types-230c1d459545640c.rmeta --extern publicsuffix=/playground/target/debug/deps/libpublicsuffix-77d8117cb24dedaa.rmeta --extern qoi=/playground/target/debug/deps/libqoi-04cda81e161d6f1e.rmeta --extern quick_error=/playground/target/debug/deps/libquick_error-41ad4285e12f7083.rmeta --extern quote=/playground/target/debug/deps/libquote-bf2c1d7129a811ad.rmeta --extern rand_0_8_5=/playground/target/debug/deps/librand-87b7ea6ced5304fc.rmeta --extern rand=/playground/target/debug/deps/librand-cbe6860de7a86183.rmeta --extern rand_chacha_0_3_1=/playground/target/debug/deps/librand_chacha-8ad20e5f84a1af56.rmeta --extern rand_chacha=/playground/target/debug/deps/librand_chacha-f93aaae2571f9bc5.rmeta --extern rand_core_0_6_4=/playground/target/debug/deps/librand_core-549e50b689b916d2.rmeta --extern rand_core=/playground/target/debug/deps/librand_core-5d907f8bab93dc56.rmeta --extern rand_distr=/playground/target/debug/deps/librand_distr-7937b783e49e5440.rmeta --extern rav1e=/playground/target/debug/deps/librav1e-9081e53b66923782.rmeta --extern ravif=/playground/target/debug/deps/libravif-9f3b0ae16f134ba1.rmeta --extern rawpointer=/playground/target/debug/deps/librawpointer-f7bfc7ed46508754.rmeta --extern rayon=/playground/target/debug/deps/librayon-3a6f71bedd5f3d6a.rmeta --extern rayon_core=/playground/target/debug/deps/librayon_core-de65d471ccadd010.rmeta --extern regex=/playground/target/debug/deps/libregex-40503a9c5c1956ce.rmeta --extern regex_automata=/playground/target/debug/deps/libregex_automata-5625a7aaa31b5bf8.rmeta --extern regex_syntax=/playground/target/debug/deps/libregex_syntax-54fff3ca5d4cd276.rmeta --extern reqwest=/playground/target/debug/deps/libreqwest-8c26776c3ea227bc.rmeta --extern rgb=/playground/target/debug/deps/librgb-0452492d48851286.rmeta --extern ring=/playground/target/debug/deps/libring-17f7265807728458.rmeta --extern rusqlite=/playground/target/debug/deps/librusqlite-6f83553550ba55e5.rmeta --extern rustc_demangle=/playground/target/debug/deps/librustc_demangle-cb17f1c413f0710a.rmeta --extern rustc_version=/playground/target/debug/deps/librustc_version-09ab6e8ed8cf2159.rmeta --extern rustix=/playground/target/debug/deps/librustix-cf4cb18290f2b3f4.rmeta --extern rustls=/playground/target/debug/deps/librustls-ab814b6059fcdbb6.rmeta --extern rustls_pemfile=/playground/target/debug/deps/librustls_pemfile-f8d2976987c2c450.rmeta --extern rustls_pki_types=/playground/target/debug/deps/librustls_pki_types-831191df19f58259.rmeta --extern webpki=/playground/target/debug/deps/libwebpki-3a71c42403bb9253.rmeta --extern rustversion=/playground/target/debug/deps/librustversion-1813c59b8b1de3f6.so --extern ryu=/playground/target/debug/deps/libryu-e55fd8e8372b9512.rmeta --extern safe_arch=/playground/target/debug/deps/libsafe_arch-dd196edcdbb12597.rmeta --extern same_file=/playground/target/debug/deps/libsame_file-2cd4738eed09f545.rmeta --extern scopeguard=/playground/target/debug/deps/libscopeguard-9f701abff82356c4.rmeta --extern scraper=/playground/target/debug/deps/libscraper-c4f1bf14c9f2cc8f.rmeta --extern select=/playground/target/debug/deps/libselect-4e5f7e3c160c633f.rmeta --extern selectors=/playground/target/debug/deps/libselectors-1797caeae037a9c9.rmeta --extern semver=/playground/target/debug/deps/libsemver-55df0c9e06f2acd9.rmeta --extern serde=/playground/target/debug/deps/libserde-44a236f4662ce5be.rmeta --extern serde_value=/playground/target/debug/deps/libserde_value-cc50f20223432c76.rmeta --extern serde_derive=/playground/target/debug/deps/libserde_derive-cbcb9e5ab8a39622.so --extern serde_json=/playground/target/debug/deps/libserde_json-989550c40ffa224c.rmeta --extern serde_spanned=/playground/target/debug/deps/libserde_spanned-d7613bef4ac02f9b.rmeta --extern serde_urlencoded=/playground/target/debug/deps/libserde_urlencoded-faf03d2c5c6b1560.rmeta --extern serde_yaml=/playground/target/debug/deps/libserde_yaml-ca65b85fd575edba.rmeta --extern servo_arc=/playground/target/debug/deps/libservo_arc-c4553eb662ecf06b.rmeta --extern sha1_smol=/playground/target/debug/deps/libsha1_smol-9589c6d5d6dc44e6.rmeta --extern sha2=/playground/target/debug/deps/libsha2-e7907d110dab4ee5.rmeta --extern shlex=/playground/target/debug/deps/libshlex-b29bf627ade0fbee.rmeta --extern signal_hook_registry=/playground/target/debug/deps/libsignal_hook_registry-172db6c571bf8cc9.rmeta --extern simba=/playground/target/debug/deps/libsimba-b8770f4adaf0e4f6.rmeta --extern simd_adler32=/playground/target/debug/deps/libsimd_adler32-a3d04411296ccf3c.rmeta --extern simd_helpers=/playground/target/debug/deps/libsimd_helpers-5726124f66d9ac2e.so --extern siphasher_0_3_11=/playground/target/debug/deps/libsiphasher-db2981c295ee481f.rmeta --extern siphasher=/playground/target/debug/deps/libsiphasher-a1b7c6e1ae03bfab.rmeta --extern slab=/playground/target/debug/deps/libslab-bdcf5e2d53b44a8e.rmeta --extern smallvec=/playground/target/debug/deps/libsmallvec-31ebe7054b40b5cc.rmeta --extern socket2=/playground/target/debug/deps/libsocket2-162c7493392fd734.rmeta --extern spin=/playground/target/debug/deps/libspin-059d6ecc6db10ccc.rmeta --extern sptr=/playground/target/debug/deps/libsptr-52ad68cfe255a676.rmeta --extern stable_deref_trait=/playground/target/debug/deps/libstable_deref_trait-1d45f07fee67eccd.rmeta --extern string_cache=/playground/target/debug/deps/libstring_cache-1eb3cdff7d0b5a89.rmeta --extern string_cache_codegen=/playground/target/debug/deps/libstring_cache_codegen-ba6b0ce6eab8f791.rmeta --extern stringprep=/playground/target/debug/deps/libstringprep-95d6c7b34b51be32.rmeta --extern strsim=/playground/target/debug/deps/libstrsim-55f508323b80f6ed.rmeta --extern subtle=/playground/target/debug/deps/libsubtle-9978c7e607031ba6.rmeta --extern syn_1_0_109=/playground/target/debug/deps/libsyn-21eebf09ee49b517.rmeta --extern syn=/playground/target/debug/deps/libsyn-f3775df1ad5ba9f2.rmeta --extern sync_wrapper=/playground/target/debug/deps/libsync_wrapper-bb858d10b061b95a.rmeta --extern synstructure=/playground/target/debug/deps/libsynstructure-441cbd694ef7b3f3.rmeta --extern tar=/playground/target/debug/deps/libtar-974b97f723df0195.rmeta --extern tempfile=/playground/target/debug/deps/libtempfile-0afb6f18dd9b8858.rmeta --extern tendril=/playground/target/debug/deps/libtendril-cfe11f600fb89792.rmeta --extern terminal_size=/playground/target/debug/deps/libterminal_size-f2025cb7f5ecc310.rmeta --extern thiserror_1_0_69=/playground/target/debug/deps/libthiserror-9a495dedd96b3c5f.rmeta --extern thiserror=/playground/target/debug/deps/libthiserror-48c324702fae1072.rmeta --extern thiserror_impl_1_0_69=/playground/target/debug/deps/libthiserror_impl-791702cfb14a5222.so --extern thiserror_impl=/playground/target/debug/deps/libthiserror_impl-630bdbb8fa651b5c.so --extern thread_id=/playground/target/debug/deps/libthread_id-3e06d3a6e22a126b.rmeta --extern threadpool=/playground/target/debug/deps/libthreadpool-dc6c570582b17c24.rmeta --extern tiff=/playground/target/debug/deps/libtiff-21553806ee72253a.rmeta --extern time=/playground/target/debug/deps/libtime-e54c15240d408f7e.rmeta --extern time_core=/playground/target/debug/deps/libtime_core-8b028bde507ff000.rmeta --extern time_macros=/playground/target/debug/deps/libtime_macros-713e8d5717125f9b.so --extern tinystr=/playground/target/debug/deps/libtinystr-c53882e95a7d0bcb.rmeta --extern tinyvec=/playground/target/debug/deps/libtinyvec-22a7c03a7b79037e.rmeta --extern tinyvec_macros=/playground/target/debug/deps/libtinyvec_macros-74781d1b7fe658d6.rmeta --extern tokio=/playground/target/debug/deps/libtokio-6e16b1bb998a7f04.rmeta --extern tokio_io=/playground/target/debug/deps/libtokio_io-9ccd8f6026a7b5b0.rmeta --extern tokio_macros=/playground/target/debug/deps/libtokio_macros-260337f11816280f.so --extern tokio_native_tls=/playground/target/debug/deps/libtokio_native_tls-1e06854f2cbd2fad.rmeta --extern tokio_postgres=/playground/target/debug/deps/libtokio_postgres-66e918e605bf38da.rmeta --extern tokio_rustls=/playground/target/debug/deps/libtokio_rustls-23bb799e362c61c2.rmeta --extern tokio_stream=/playground/target/debug/deps/libtokio_stream-dd36314e0f55ae43.rmeta --extern tokio_util=/playground/target/debug/deps/libtokio_util-593bacf0b0a630bb.rmeta --extern toml=/playground/target/debug/deps/libtoml-b88e8efff44a38e9.rmeta --extern toml_datetime=/playground/target/debug/deps/libtoml_datetime-4a797b747c36b4c5.rmeta --extern toml_edit=/playground/target/debug/deps/libtoml_edit-b2b5eecaebe13bcb.rmeta --extern tower=/playground/target/debug/deps/libtower-48dbaa2aa493cec8.rmeta --extern tower_layer=/playground/target/debug/deps/libtower_layer-5b76e1b22d87f690.rmeta --extern tower_service=/playground/target/debug/deps/libtower_service-91d1de27199e1804.rmeta --extern tracing=/playground/target/debug/deps/libtracing-490fcaea887d3d3b.rmeta --extern tracing_attributes=/playground/target/debug/deps/libtracing_attributes-5750ee420b769fbb.so --extern tracing_core=/playground/target/debug/deps/libtracing_core-58ba79c3045368c6.rmeta --extern trpl=/playground/target/debug/deps/libtrpl-341d0cee9fe6c6b4.rmeta --extern try_lock=/playground/target/debug/deps/libtry_lock-14f7a1e70de3063e.rmeta --extern typemap_ors=/playground/target/debug/deps/libtypemap_ors-633560b18a7a5332.rmeta --extern typenum=/playground/target/debug/deps/libtypenum-40dd88ec0cce76ec.rmeta --extern unicase=/playground/target/debug/deps/libunicase-0b220ef550315069.rmeta --extern unicode_bidi=/playground/target/debug/deps/libunicode_bidi-33973c5c0b8b19a6.rmeta --extern unicode_ident=/playground/target/debug/deps/libunicode_ident-abac8adaab3f79a0.rmeta --extern unicode_normalization=/playground/target/debug/deps/libunicode_normalization-afc2fd98e4bc2050.rmeta --extern unicode_properties=/playground/target/debug/deps/libunicode_properties-a754e58e86548ccd.rmeta --extern unicode_segmentation=/playground/target/debug/deps/libunicode_segmentation-5b9f98226fef88a4.rmeta --extern unicode_width_0_1_14=/playground/target/debug/deps/libunicode_width-bc8d18fc8f8724be.rmeta --extern unicode_width=/playground/target/debug/deps/libunicode_width-ac3ddddaa58bccb0.rmeta --extern unicode_xid=/playground/target/debug/deps/libunicode_xid-288efc7a3a645028.rmeta --extern unsafe_any_ors=/playground/target/debug/deps/libunsafe_any_ors-5b8a3dc07e5d1175.rmeta --extern unsafe_libyaml=/playground/target/debug/deps/libunsafe_libyaml-2f86ec7e180f46c8.rmeta --extern untrusted=/playground/target/debug/deps/libuntrusted-07a73a8d52f42697.rmeta --extern url=/playground/target/debug/deps/liburl-86367b9873b8464b.rmeta --extern utf8=/playground/target/debug/deps/libutf8-9377542321ad586a.rmeta --extern utf16_iter=/playground/target/debug/deps/libutf16_iter-1260e642f722e36d.rmeta --extern utf8_iter=/playground/target/debug/deps/libutf8_iter-473d4b0b9823051e.rmeta --extern utf8parse=/playground/target/debug/deps/libutf8parse-0391b50bc925e1f1.rmeta --extern uuid=/playground/target/debug/deps/libuuid-f50e2c4b53dd1259.rmeta --extern v_frame=/playground/target/debug/deps/libv_frame-a674e76bb098cb0f.rmeta --extern vcpkg=/playground/target/debug/deps/libvcpkg-e27f2325bacb211b.rmeta --extern version_check=/playground/target/debug/deps/libversion_check-2441df1024be1a0b.rmeta --extern walkdir=/playground/target/debug/deps/libwalkdir-9506aee47ba9e27b.rmeta --extern want=/playground/target/debug/deps/libwant-3386e63db5f349a6.rmeta --extern wasm_bindgen=/playground/target/debug/deps/libwasm_bindgen-f2133518778d8dcf.rmeta --extern wasm_bindgen_backend=/playground/target/debug/deps/libwasm_bindgen_backend-30025f38997c7413.rmeta --extern wasm_bindgen_macro=/playground/target/debug/deps/libwasm_bindgen_macro-70aea6e72034f1bf.so --extern wasm_bindgen_macro_support=/playground/target/debug/deps/libwasm_bindgen_macro_support-ca3e860ba4ac4a2b.rmeta --extern wasm_bindgen_shared=/playground/target/debug/deps/libwasm_bindgen_shared-2f4c34160382a395.rmeta --extern weezl=/playground/target/debug/deps/libweezl-052e9c2ae65aa10d.rmeta --extern whoami=/playground/target/debug/deps/libwhoami-dc994342f666360b.rmeta --extern wide=/playground/target/debug/deps/libwide-4fc9eaa981dd3c6d.rmeta --extern windows_sys=/playground/target/debug/deps/libwindows_sys-e32ef1ad42f3e072.rmeta --extern windows_targets=/playground/target/debug/deps/libwindows_targets-c12e8abb0a07641c.rmeta --extern windows_x86_64_gnu_0_52_6=/playground/target/debug/deps/libwindows_x86_64_gnu-cc3e766dcdf5c963.rmeta --extern windows_x86_64_gnu=/playground/target/debug/deps/libwindows_x86_64_gnu-ad71f719be1e1ab3.rmeta --extern windows_x86_64_msvc=/playground/target/debug/deps/libwindows_x86_64_msvc-2b6f791332adc8cb.rmeta --extern winnow=/playground/target/debug/deps/libwinnow-85f82a38a52e8d24.rmeta --extern write16=/playground/target/debug/deps/libwrite16-9c0da22c2b6b0f1c.rmeta --extern writeable=/playground/target/debug/deps/libwriteable-3147c0c815703a6b.rmeta --extern xattr=/playground/target/debug/deps/libxattr-34e6c02334463c07.rmeta --extern xml5ever=/playground/target/debug/deps/libxml5ever-1e307f7331a337a3.rmeta --extern yoke=/playground/target/debug/deps/libyoke-6b27307868a4ff1b.rmeta --extern yoke_derive=/playground/target/debug/deps/libyoke_derive-4c8ef785bc10dc23.so --extern zerocopy_0_7_35=/playground/target/debug/deps/libzerocopy-233fa8bcc1d19a68.rmeta --extern zerocopy=/playground/target/debug/deps/libzerocopy-b9f696412c8d4a39.rmeta --extern zerocopy_derive_0_7_35=/playground/target/debug/deps/libzerocopy_derive-4955d31b7c7dfcbd.so --extern zerocopy_derive=/playground/target/debug/deps/libzerocopy_derive-8b2546b4578ecdc9.so --extern zerofrom=/playground/target/debug/deps/libzerofrom-f8002a5000776c2b.rmeta --extern zerofrom_derive=/playground/target/debug/deps/libzerofrom_derive-e61a6d66a39ae26d.so --extern zeroize=/playground/target/debug/deps/libzeroize-ac0cf9694c99a65e.rmeta --extern zerovec=/playground/target/debug/deps/libzerovec-36d110f9006c99dc.rmeta --extern zerovec_derive=/playground/target/debug/deps/libzerovec_derive-9461b8ad777f46d2.so --extern zune_core=/playground/target/debug/deps/libzune_core-41cbe8ae361b60a8.rmeta --extern zune_inflate=/playground/target/debug/deps/libzune_inflate-6904dd1c28cf13d0.rmeta --extern zune_jpeg=/playground/target/debug/deps/libzune_jpeg-90b91c0365752984.rmeta -L native=/playground/target/debug/build/aws-lc-sys-c28a655848885fb1/out -L native=/playground/target/debug/build/libsqlite3-sys-0731013579f2eed1/out -L native=/playground/target/debug/build/ring-2ab8e66242ff9358/out -L native=/playground/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_gnu-0.52.6/lib -L native=/playground/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_gnu-0.53.0/lib -L native=/playground/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_msvc-0.53.0/lib` (exit status: 101)

@theemathas
Copy link
Contributor

theemathas commented Feb 23, 2025

A variation with a slightly different ICE:

enum Camera {
    Normal { base_transform: i32 },
    Volume { transform: i32 },
}

fn draw_ui(camera: &mut Camera) {
    || {
        let (Camera::Normal {
            base_transform: _,
        }
        | Camera::Volume {
            transform: _,
        }) = camera;
    };
}
Error output (edition 2024)
thread 'rustc' panicked at compiler/rustc_mir_build/src/builder/matches/mod.rs:2087:44:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0:     0x77a06e2dc07a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::he089f96442833f67
   1:     0x77a06ea14d26 - core::fmt::write::h2f210ed4c94745cb
   2:     0x77a06f90f7d1 - std::io::Write::write_fmt::h7de08171ab770fb2
   3:     0x77a06e2dbed2 - std::sys::backtrace::BacktraceLock::print::h810fbd31421329e6
   4:     0x77a06e2de477 - std::panicking::default_hook::{{closure}}::hbaad47ed9dc6356d
   5:     0x77a06e2de260 - std::panicking::default_hook::h24e207139139d40a
   6:     0x77a06d44e258 - std[cba35227022cdb8c]::panicking::update_hook::<alloc[304106e3416ed1f2]::boxed::Box<rustc_driver_impl[16f35eaf1f029c02]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x77a06e2decc3 - std::panicking::rust_panic_with_hook::ha9131beeb2ddc506
   8:     0x77a06e2de986 - std::panicking::begin_panic_handler::{{closure}}::h1bba0eaeb6da506f
   9:     0x77a06e2dc549 - std::sys::backtrace::__rust_end_short_backtrace::h1d1ca3eade483f4c
  10:     0x77a06e2de67d - rust_begin_unwind
  11:     0x77a06afa1480 - core::panicking::panic_fmt::h896a0727a1a943f9
  12:     0x77a06b1a8ffc - core::panicking::panic::h06336e0c962d4a4a
  13:     0x77a06c543659 - core::option::unwrap_failed::ha2239fe7bcf32a06
  14:     0x77a06fa0c5e8 - <rustc_mir_build[a228aa0176271564]::builder::Builder>::test_candidates
  15:     0x77a06f3ff1cf - <rustc_mir_build[a228aa0176271564]::builder::Builder>::match_candidates
  16:     0x77a06f3ff2ac - <rustc_mir_build[a228aa0176271564]::builder::Builder>::match_candidates
  17:     0x77a06f4058fb - <rustc_mir_build[a228aa0176271564]::builder::Builder>::lower_match_tree
  18:     0x77a06ec493d1 - <rustc_mir_build[a228aa0176271564]::builder::Builder>::place_into_pattern
  19:     0x77a06b2e4e9e - <rustc_mir_build[a228aa0176271564]::builder::Builder>::ast_block_stmts
  20:     0x77a06ec5ae26 - <rustc_mir_build[a228aa0176271564]::builder::Builder>::expr_into_dest
  21:     0x77a06ec5cafa - <rustc_mir_build[a228aa0176271564]::builder::Builder>::expr_into_dest
  22:     0x77a06f3f748a - rustc_mir_build[a228aa0176271564]::builder::mir_build
  23:     0x77a06ea07304 - rustc_mir_transform[9947ce7d40c4dabe]::mir_built
  24:     0x77a06ea072c7 - rustc_query_impl[c4be5ff3108ead09]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c4be5ff3108ead09]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 8usize]>>
  25:     0x77a06ed0c297 - rustc_query_system[bbd277e70cc7f618]::query::plumbing::try_execute_query::<rustc_query_impl[c4be5ff3108ead09]::DynamicConfig<rustc_data_structures[3109d5d84592bd45]::vec_cache::VecCache<rustc_span[7c0f9ff7c6ad315d]::def_id::LocalDefId, rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[bbd277e70cc7f618]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c4be5ff3108ead09]::plumbing::QueryCtxt, false>
  26:     0x77a06ed0be4d - rustc_query_impl[c4be5ff3108ead09]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace
  27:     0x77a06f41b311 - <rustc_mir_build[a228aa0176271564]::check_unsafety::UnsafetyVisitor>::visit_inner_body
  28:     0x77a06f41c458 - <rustc_mir_build[a228aa0176271564]::check_unsafety::UnsafetyVisitor as rustc_middle[c26a501345a63c03]::thir::visit::Visitor>::visit_expr
  29:     0x77a06f41bedf - <rustc_mir_build[a228aa0176271564]::check_unsafety::UnsafetyVisitor as rustc_middle[c26a501345a63c03]::thir::visit::Visitor>::visit_block
  30:     0x77a06f41d7df - <rustc_mir_build[a228aa0176271564]::check_unsafety::UnsafetyVisitor as rustc_middle[c26a501345a63c03]::thir::visit::Visitor>::visit_expr
  31:     0x77a06f41c458 - <rustc_mir_build[a228aa0176271564]::check_unsafety::UnsafetyVisitor as rustc_middle[c26a501345a63c03]::thir::visit::Visitor>::visit_expr
  32:     0x77a06bb6e241 - rustc_mir_build[a228aa0176271564]::check_unsafety::check_unsafety
  33:     0x77a06f249c3d - rustc_query_impl[c4be5ff3108ead09]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c4be5ff3108ead09]::query_impl::check_unsafety::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 0usize]>>
  34:     0x77a06f249ef0 - rustc_query_system[bbd277e70cc7f618]::query::plumbing::try_execute_query::<rustc_query_impl[c4be5ff3108ead09]::DynamicConfig<rustc_data_structures[3109d5d84592bd45]::vec_cache::VecCache<rustc_span[7c0f9ff7c6ad315d]::def_id::LocalDefId, rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 0usize]>, rustc_query_system[bbd277e70cc7f618]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c4be5ff3108ead09]::plumbing::QueryCtxt, false>
  35:     0x77a06f249b81 - rustc_query_impl[c4be5ff3108ead09]::query_impl::check_unsafety::get_query_non_incr::__rust_end_short_backtrace
  36:     0x77a06edf81fe - rustc_interface[d49f06094f81b30c]::passes::run_required_analyses
  37:     0x77a06f91365e - rustc_interface[d49f06094f81b30c]::passes::analysis
  38:     0x77a06f91362f - rustc_query_impl[c4be5ff3108ead09]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c4be5ff3108ead09]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 0usize]>>
  39:     0x77a06f99de15 - rustc_query_system[bbd277e70cc7f618]::query::plumbing::try_execute_query::<rustc_query_impl[c4be5ff3108ead09]::DynamicConfig<rustc_query_system[bbd277e70cc7f618]::query::caches::SingleCache<rustc_middle[c26a501345a63c03]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[c4be5ff3108ead09]::plumbing::QueryCtxt, false>
  40:     0x77a06f99db4e - rustc_query_impl[c4be5ff3108ead09]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  41:     0x77a06f952ede - rustc_interface[d49f06094f81b30c]::passes::create_and_enter_global_ctxt::<core[3b140760090fa97d]::option::Option<rustc_interface[d49f06094f81b30c]::queries::Linker>, rustc_driver_impl[16f35eaf1f029c02]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  42:     0x77a06f96f364 - rustc_interface[d49f06094f81b30c]::interface::run_compiler::<(), rustc_driver_impl[16f35eaf1f029c02]::run_compiler::{closure#0}>::{closure#1}
  43:     0x77a06f834251 - std[cba35227022cdb8c]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[d49f06094f81b30c]::util::run_in_thread_with_globals<rustc_interface[d49f06094f81b30c]::util::run_in_thread_pool_with_globals<rustc_interface[d49f06094f81b30c]::interface::run_compiler<(), rustc_driver_impl[16f35eaf1f029c02]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  44:     0x77a06f834708 - <<std[cba35227022cdb8c]::thread::Builder>::spawn_unchecked_<rustc_interface[d49f06094f81b30c]::util::run_in_thread_with_globals<rustc_interface[d49f06094f81b30c]::util::run_in_thread_pool_with_globals<rustc_interface[d49f06094f81b30c]::interface::run_compiler<(), rustc_driver_impl[16f35eaf1f029c02]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[3b140760090fa97d]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  45:     0x77a06f835caf - std::sys::pal::unix::thread::Thread::new::thread_start::ha07e360225fa3528
  46:     0x77a0710fda94 - <unknown>
  47:     0x77a07118aa34 - clone
  48:                0x0 - <unknown>

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

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

note: rustc 1.85.0 (4d91de4e4 2025-02-17) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_built] building MIR for `draw_ui::{closure#0}`
#1 [check_unsafety] unsafety-checking `draw_ui`
end of query stack
error: could not compile `playground` (lib)

Caused by:
  process didn't exit successfully: `/playground/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name playground --edition=2024 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=366a788cf4c17076 -C extra-filename=-1fb08721bd71a35f --out-dir /playground/target/debug/deps -L dependency=/playground/target/debug/deps --extern addr2line=/playground/target/debug/deps/libaddr2line-4ff13357dc7639cc.rmeta --extern adler2=/playground/target/debug/deps/libadler2-eddc1c7d884e9733.rmeta --extern ahash=/playground/target/debug/deps/libahash-53c5ed9345950de4.rmeta --extern aho_corasick=/playground/target/debug/deps/libaho_corasick-54ead6df13b9af7e.rmeta --extern aligned_vec=/playground/target/debug/deps/libaligned_vec-b32070a13c799e5f.rmeta --extern allocator_api2=/playground/target/debug/deps/liballocator_api2-0a3d09e477b05933.rmeta --extern ansi_term=/playground/target/debug/deps/libansi_term-f95579f079bd92eb.rmeta --extern anstream=/playground/target/debug/deps/libanstream-9a765d829445b55f.rmeta --extern anstyle=/playground/target/debug/deps/libanstyle-099a7ef05901f6df.rmeta --extern anstyle_parse=/playground/target/debug/deps/libanstyle_parse-8eb80659271d3c5e.rmeta --extern anstyle_query=/playground/target/debug/deps/libanstyle_query-e1c555ffc2a9dca2.rmeta --extern anyhow=/playground/target/debug/deps/libanyhow-06dae85c91726123.rmeta --extern approx=/playground/target/debug/deps/libapprox-bcacf29c24e1b49e.rmeta --extern arc_swap=/playground/target/debug/deps/libarc_swap-c427dc87f00b8045.rmeta --extern arg_enum_proc_macro=/playground/target/debug/deps/libarg_enum_proc_macro-ddef36ed7baf1357.so --extern arrayvec=/playground/target/debug/deps/libarrayvec-475d5dd591b809af.rmeta --extern async_trait=/playground/target/debug/deps/libasync_trait-1540cdfe57f00cf5.so --extern atomic=/playground/target/debug/deps/libatomic-14f9881da2385e5a.rmeta --extern atomic_waker=/playground/target/debug/deps/libatomic_waker-af5c5847841f97a0.rmeta --extern autocfg=/playground/target/debug/deps/libautocfg-121c73c9744014ea.rmeta --extern av1_grain=/playground/target/debug/deps/libav1_grain-4d8012ee28fc519f.rmeta --extern avif_serialize=/playground/target/debug/deps/libavif_serialize-bb6dda283727a004.rmeta --extern aws_lc_rs=/playground/target/debug/deps/libaws_lc_rs-5099ee4d4505e342.rmeta --extern aws_lc_sys=/playground/target/debug/deps/libaws_lc_sys-541958d8bc1a8077.rmeta --extern backtrace=/playground/target/debug/deps/libbacktrace-855029e9101c9081.rmeta --extern base64=/playground/target/debug/deps/libbase64-da04cbdc6a11ec2f.rmeta --extern bit_set=/playground/target/debug/deps/libbit_set-06c176f560e580f0.rmeta --extern bit_vec=/playground/target/debug/deps/libbit_vec-cd12cce26dfeb08f.rmeta --extern bit_field=/playground/target/debug/deps/libbit_field-49a771562812a1c1.rmeta --extern bitflags_1_3_2=/playground/target/debug/deps/libbitflags-e7a7e6fce74e6418.rmeta --extern bitflags=/playground/target/debug/deps/libbitflags-ecc0b51b35c097ec.rmeta --extern bitstream_io=/playground/target/debug/deps/libbitstream_io-927c4ed563d42423.rmeta --extern block_buffer=/playground/target/debug/deps/libblock_buffer-e2d91687b00116d9.rmeta --extern built=/playground/target/debug/deps/libbuilt-a281001f41fab2fd.rmeta --extern bumpalo=/playground/target/debug/deps/libbumpalo-26f98d5e516a3d55.rmeta --extern bytemuck=/playground/target/debug/deps/libbytemuck-92a780b36f2863be.rmeta --extern bytemuck_derive=/playground/target/debug/deps/libbytemuck_derive-4e30735511464f1b.so --extern byteorder=/playground/target/debug/deps/libbyteorder-57a463c1f35d9d12.rmeta --extern byteorder_lite=/playground/target/debug/deps/libbyteorder_lite-09b27377e6d3df08.rmeta --extern bytes_0_4_12=/playground/target/debug/deps/libbytes-1419d36a00d79986.rmeta --extern bytes=/playground/target/debug/deps/libbytes-7c026c3707402c98.rmeta --extern cc=/playground/target/debug/deps/libcc-0a7768687499f8e3.rmeta --extern cfg_if=/playground/target/debug/deps/libcfg_if-df02ababc950fb2e.rmeta --extern chrono=/playground/target/debug/deps/libchrono-76fdf80f701f1799.rmeta --extern clap=/playground/target/debug/deps/libclap-109e2e2e4372d32d.rmeta --extern clap_builder=/playground/target/debug/deps/libclap_builder-bb3470ba67d8ac19.rmeta --extern clap_derive=/playground/target/debug/deps/libclap_derive-ce7a6403e8c9053c.so --extern clap_lex=/playground/target/debug/deps/libclap_lex-a502eadde329acb2.rmeta --extern cmake=/playground/target/debug/deps/libcmake-05e06b59310df769.rmeta --extern color_quant=/playground/target/debug/deps/libcolor_quant-0cb58b46bc6d704c.rmeta --extern colorchoice=/playground/target/debug/deps/libcolorchoice-1375da6a9ba69895.rmeta --extern const_default=/playground/target/debug/deps/libconst_default-d9fb3d77721013f6.rmeta --extern cookie=/playground/target/debug/deps/libcookie-1c266e0301d01618.rmeta --extern cookie_store=/playground/target/debug/deps/libcookie_store-5f82207dd7fafe06.rmeta --extern cpufeatures=/playground/target/debug/deps/libcpufeatures-566dbddd462aebbd.rmeta --extern crc32fast=/playground/target/debug/deps/libcrc32fast-294259c7e6bfd42f.rmeta --extern crossbeam=/playground/target/debug/deps/libcrossbeam-86852af61a790a42.rmeta --extern crossbeam_channel=/playground/target/debug/deps/libcrossbeam_channel-27d04ea83992ce41.rmeta --extern crossbeam_deque=/playground/target/debug/deps/libcrossbeam_deque-86d43bdacb3a4236.rmeta --extern crossbeam_epoch=/playground/target/debug/deps/libcrossbeam_epoch-13681ab5b360fd15.rmeta --extern crossbeam_queue=/playground/target/debug/deps/libcrossbeam_queue-d9b5433f8db59d79.rmeta --extern crossbeam_utils=/playground/target/debug/deps/libcrossbeam_utils-0b7eb488df3cdd76.rmeta --extern crypto_common=/playground/target/debug/deps/libcrypto_common-b422245d2b89c7eb.rmeta --extern cssparser=/playground/target/debug/deps/libcssparser-37e53e69b03c9309.rmeta --extern cssparser_macros=/playground/target/debug/deps/libcssparser_macros-862f7a5d8a4a7912.so --extern csv=/playground/target/debug/deps/libcsv-e40733c69f2cf5d0.rmeta --extern csv_core=/playground/target/debug/deps/libcsv_core-f713504008b5bf92.rmeta --extern data_encoding=/playground/target/debug/deps/libdata_encoding-e70490471b5ff072.rmeta --extern deranged=/playground/target/debug/deps/libderanged-e8ee862c62020dda.rmeta --extern derivative=/playground/target/debug/deps/libderivative-4b8d649391643b8a.so --extern destructure_traitobject=/playground/target/debug/deps/libdestructure_traitobject-90608edd8bc0359e.rmeta --extern digest=/playground/target/debug/deps/libdigest-862d1f55ef5dca93.rmeta --extern displaydoc=/playground/target/debug/deps/libdisplaydoc-ee99e51cdeaae725.so --extern document_features=/playground/target/debug/deps/libdocument_features-e8b3b27b1cbd1c27.so --extern dtoa=/playground/target/debug/deps/libdtoa-0ff29febbe024386.rmeta --extern dtoa_short=/playground/target/debug/deps/libdtoa_short-acc0691d0e6e1117.rmeta --extern dunce=/playground/target/debug/deps/libdunce-48ad8ab917b3f197.rmeta --extern ego_tree=/playground/target/debug/deps/libego_tree-ae84dc4e7bfa9cd4.rmeta --extern either=/playground/target/debug/deps/libeither-a5e0af6aec9d5b8c.rmeta --extern encoding_rs=/playground/target/debug/deps/libencoding_rs-b16407f89b946243.rmeta --extern env_filter=/playground/target/debug/deps/libenv_filter-1a337edf97b82c8a.rmeta --extern env_logger=/playground/target/debug/deps/libenv_logger-c2f28b4ac226d020.rmeta --extern equivalent=/playground/target/debug/deps/libequivalent-35b4522ea87dcef5.rmeta --extern errno=/playground/target/debug/deps/liberrno-7a962fecfe51e068.rmeta --extern exr=/playground/target/debug/deps/libexr-15ff6e38d96291d7.rmeta --extern fallible_iterator_0_2_0=/playground/target/debug/deps/libfallible_iterator-927f84eee317320b.rmeta --extern fallible_iterator=/playground/target/debug/deps/libfallible_iterator-9220e1b7a6863850.rmeta --extern fallible_streaming_iterator=/playground/target/debug/deps/libfallible_streaming_iterator-89bb4046cf494bac.rmeta --extern faster_hex=/playground/target/debug/deps/libfaster_hex-648698131b147c99.rmeta --extern fastrand=/playground/target/debug/deps/libfastrand-8d5184b5cab08f0d.rmeta --extern fdeflate=/playground/target/debug/deps/libfdeflate-dc4a9b5d40390051.rmeta --extern filetime=/playground/target/debug/deps/libfiletime-8e3366b9983ec036.rmeta --extern fixedbitset_0_4_2=/playground/target/debug/deps/libfixedbitset-f9ad1c81618f7b86.rmeta --extern fixedbitset=/playground/target/debug/deps/libfixedbitset-b7acfcf1ff9adaaf.rmeta --extern flate2=/playground/target/debug/deps/libflate2-01b6ad7c2add1428.rmeta --extern fnv=/playground/target/debug/deps/libfnv-a64a8d757b0d7228.rmeta --extern foldhash=/playground/target/debug/deps/libfoldhash-ebf755ce0998a20a.rmeta --extern foreign_types=/playground/target/debug/deps/libforeign_types-8129242409cb9f09.rmeta --extern foreign_types_shared=/playground/target/debug/deps/libforeign_types_shared-5901e39abd75ee80.rmeta --extern form_urlencoded=/playground/target/debug/deps/libform_urlencoded-8a515da6a7a61600.rmeta --extern fs_extra=/playground/target/debug/deps/libfs_extra-06b6b5402c2baacb.rmeta --extern futf=/playground/target/debug/deps/libfutf-6b34157baba90d8a.rmeta --extern futures_0_1_31=/playground/target/debug/deps/libfutures-8c6f9ffd588573e8.rmeta --extern futures=/playground/target/debug/deps/libfutures-3f479a3c7622085c.rmeta --extern futures_channel=/playground/target/debug/deps/libfutures_channel-4b5f3a9c6d21c929.rmeta --extern futures_core=/playground/target/debug/deps/libfutures_core-afcb3ffab56719da.rmeta --extern futures_executor=/playground/target/debug/deps/libfutures_executor-6ffc61395ae59049.rmeta --extern futures_io=/playground/target/debug/deps/libfutures_io-a9c9b05d70432de8.rmeta --extern futures_macro=/playground/target/debug/deps/libfutures_macro-6eb2e2b4e59ce505.so --extern futures_sink=/playground/target/debug/deps/libfutures_sink-a1bf755215319174.rmeta --extern futures_task=/playground/target/debug/deps/libfutures_task-bb41a13d7c604c21.rmeta --extern futures_util=/playground/target/debug/deps/libfutures_util-3fb0adee85d09340.rmeta --extern fxhash=/playground/target/debug/deps/libfxhash-548213afc591ab15.rmeta --extern generic_array_0_14_7=/playground/target/debug/deps/libgeneric_array-a15caa1a7092dc50.rmeta --extern generic_array=/playground/target/debug/deps/libgeneric_array-18311620ed0133c7.rmeta --extern getopts=/playground/target/debug/deps/libgetopts-4a8e1d7bec654e67.rmeta --extern getrandom_0_2_15=/playground/target/debug/deps/libgetrandom-5409d8d02cee0369.rmeta --extern getrandom=/playground/target/debug/deps/libgetrandom-715808df2b365ae5.rmeta --extern gif=/playground/target/debug/deps/libgif-3421d66ff5f2996d.rmeta --extern gimli=/playground/target/debug/deps/libgimli-88ba45fb10ff65b6.rmeta --extern glob=/playground/target/debug/deps/libglob-f9a5b9f3847903b6.rmeta --extern h2=/playground/target/debug/deps/libh2-b0ec77fc9f7c7f38.rmeta --extern half=/playground/target/debug/deps/libhalf-8276d309a6abe119.rmeta --extern hash32=/playground/target/debug/deps/libhash32-1903ba15aed44915.rmeta --extern hashbrown=/playground/target/debug/deps/libhashbrown-0a679262f4d27363.rmeta --extern hashlink=/playground/target/debug/deps/libhashlink-edd0d5e81e626d0c.rmeta --extern hdrhistogram=/playground/target/debug/deps/libhdrhistogram-54293de65c40bca5.rmeta --extern heapless=/playground/target/debug/deps/libheapless-0aa7bfaf6ebb36af.rmeta --extern heck=/playground/target/debug/deps/libheck-1932b34dc8599671.rmeta --extern hmac=/playground/target/debug/deps/libhmac-cea8c0f3bb86f006.rmeta --extern html5ever_0_26_0=/playground/target/debug/deps/libhtml5ever-dd931826e149c475.rmeta --extern html5ever=/playground/target/debug/deps/libhtml5ever-816b3cbb2d1a0e64.rmeta --extern http=/playground/target/debug/deps/libhttp-6780b07d1e636524.rmeta --extern http_body=/playground/target/debug/deps/libhttp_body-4e86c4ff3c7ad72e.rmeta --extern http_body_util=/playground/target/debug/deps/libhttp_body_util-0a397203e704d108.rmeta --extern httparse=/playground/target/debug/deps/libhttparse-6c0bd8d18e01db5d.rmeta --extern httpdate=/playground/target/debug/deps/libhttpdate-2e2d4fc1d544845b.rmeta --extern humantime=/playground/target/debug/deps/libhumantime-71a58f1793f2000f.rmeta --extern hyper=/playground/target/debug/deps/libhyper-784e75b21a3b2231.rmeta --extern hyper_rustls=/playground/target/debug/deps/libhyper_rustls-7748feee2b911565.rmeta --extern hyper_tls=/playground/target/debug/deps/libhyper_tls-dae821c9ee8cd7e2.rmeta --extern hyper_util=/playground/target/debug/deps/libhyper_util-c68f41151accfac3.rmeta --extern iana_time_zone=/playground/target/debug/deps/libiana_time_zone-8b31eef2c025eada.rmeta --extern icu_collections=/playground/target/debug/deps/libicu_collections-4054b5641843fc5a.rmeta --extern icu_locid=/playground/target/debug/deps/libicu_locid-7e1fc650af059902.rmeta --extern icu_locid_transform=/playground/target/debug/deps/libicu_locid_transform-1504c68e890208d6.rmeta --extern icu_locid_transform_data=/playground/target/debug/deps/libicu_locid_transform_data-cb6cda47a2db60ab.rmeta --extern icu_normalizer=/playground/target/debug/deps/libicu_normalizer-1b8a9f89bd6f824b.rmeta --extern icu_normalizer_data=/playground/target/debug/deps/libicu_normalizer_data-9cb7279eed4e0249.rmeta --extern icu_properties=/playground/target/debug/deps/libicu_properties-66d53dee8b5339d3.rmeta --extern icu_properties_data=/playground/target/debug/deps/libicu_properties_data-9ffd6da1ddf86dd4.rmeta --extern icu_provider=/playground/target/debug/deps/libicu_provider-e1b11d1e5247ba31.rmeta --extern icu_provider_macros=/playground/target/debug/deps/libicu_provider_macros-ae94ac7d1000a169.so --extern idna=/playground/target/debug/deps/libidna-5a47e2caea5e2bf8.rmeta --extern idna_adapter=/playground/target/debug/deps/libidna_adapter-b6e26c9b9762c852.rmeta --extern image=/playground/target/debug/deps/libimage-025d2b08459cfaed.rmeta --extern image_webp=/playground/target/debug/deps/libimage_webp-56bd7d4d9d91d346.rmeta --extern imgref=/playground/target/debug/deps/libimgref-ff3a7d1f0d9f3329.rmeta --extern indexmap=/playground/target/debug/deps/libindexmap-d1d715e611d59d83.rmeta --extern iovec=/playground/target/debug/deps/libiovec-6c29962b6d5f2f75.rmeta --extern ipnet=/playground/target/debug/deps/libipnet-df8866d67eea76e2.rmeta --extern is_terminal_polyfill=/playground/target/debug/deps/libis_terminal_polyfill-4b9acf82e27fb1a8.rmeta --extern itertools_0_12_1=/playground/target/debug/deps/libitertools-a3114118ac88e9c9.rmeta --extern itertools=/playground/target/debug/deps/libitertools-6bf35647682d3738.rmeta --extern itoa=/playground/target/debug/deps/libitoa-a926177dcadb9845.rmeta --extern jiff=/playground/target/debug/deps/libjiff-0d620d95475049df.rmeta --extern jobserver=/playground/target/debug/deps/libjobserver-48d0bf6117749e03.rmeta --extern jpeg_decoder=/playground/target/debug/deps/libjpeg_decoder-a2497e9dbf2f1f0c.rmeta --extern lazy_static=/playground/target/debug/deps/liblazy_static-9d48a44f86d4ab49.rmeta --extern lebe=/playground/target/debug/deps/liblebe-92ed88002e86dfcd.rmeta --extern libc=/playground/target/debug/deps/liblibc-cdf7efd26ba83ae0.rmeta --extern libm=/playground/target/debug/deps/liblibm-bc02c249fb862814.rmeta --extern libsqlite3_sys=/playground/target/debug/deps/liblibsqlite3_sys-70a3c647bb4c29d1.rmeta --extern linux_raw_sys_0_4_15=/playground/target/debug/deps/liblinux_raw_sys-39e45cd8b5a6a651.rmeta --extern linux_raw_sys=/playground/target/debug/deps/liblinux_raw_sys-ed507fe12611e20f.rmeta --extern litemap=/playground/target/debug/deps/liblitemap-a5cd25770499ff28.rmeta --extern litrs=/playground/target/debug/deps/liblitrs-5820e240e31b2371.rmeta --extern lock_api=/playground/target/debug/deps/liblock_api-2cd3828a086a84f2.rmeta --extern log=/playground/target/debug/deps/liblog-f2eb65e77d49e0ef.rmeta --extern log_mdc=/playground/target/debug/deps/liblog_mdc-97963ff9d6d87004.rmeta --extern log4rs=/playground/target/debug/deps/liblog4rs-06d9a5769b998156.rmeta --extern loop9=/playground/target/debug/deps/libloop9-86f33696f556edaa.rmeta --extern mac=/playground/target/debug/deps/libmac-3a9d2e9fafa3fd38.rmeta --extern markup5ever_0_11_0=/playground/target/debug/deps/libmarkup5ever-4d52d814ce0fe229.rmeta --extern markup5ever=/playground/target/debug/deps/libmarkup5ever-0001f5f7d5356f5b.rmeta --extern markup5ever_rcdom=/playground/target/debug/deps/libmarkup5ever_rcdom-877f7c4f50aafa11.rmeta --extern matrixmultiply=/playground/target/debug/deps/libmatrixmultiply-4b79212e6e04b217.rmeta --extern maybe_rayon=/playground/target/debug/deps/libmaybe_rayon-b726e2ebe673dddb.rmeta --extern md5=/playground/target/debug/deps/libmd5-a022cbbad76c27a8.rmeta --extern memchr=/playground/target/debug/deps/libmemchr-b3fba48383326a77.rmeta --extern memmap=/playground/target/debug/deps/libmemmap-9d42986d611f02e4.rmeta --extern memoffset=/playground/target/debug/deps/libmemoffset-bef6546b4d61aa89.rmeta --extern mime=/playground/target/debug/deps/libmime-e37a333207b99a99.rmeta --extern mime_guess=/playground/target/debug/deps/libmime_guess-b14f5c20aa7af380.rmeta --extern minimal_lexical=/playground/target/debug/deps/libminimal_lexical-dcb50c39dbfb4f3a.rmeta --extern miniz_oxide=/playground/target/debug/deps/libminiz_oxide-cfb70dbb09e10216.rmeta --extern mio=/playground/target/debug/deps/libmio-711adeb397930527.rmeta --extern nalgebra=/playground/target/debug/deps/libnalgebra-9aa6da6bc20b4fc2.rmeta --extern nalgebra_macros=/playground/target/debug/deps/libnalgebra_macros-1f8eb4e3e328f0a4.so --extern native_tls=/playground/target/debug/deps/libnative_tls-666685fe20419356.rmeta --extern ndarray=/playground/target/debug/deps/libndarray-730674b3e21dcd07.rmeta --extern debug_unreachable=/playground/target/debug/deps/libdebug_unreachable-5150246b52ceae63.rmeta --extern nom=/playground/target/debug/deps/libnom-c5984e7352b0fff0.rmeta --extern noop_proc_macro=/playground/target/debug/deps/libnoop_proc_macro-944ee73a854aaea9.so --extern num=/playground/target/debug/deps/libnum-8cdd2f9aba57cf68.rmeta --extern num_bigint=/playground/target/debug/deps/libnum_bigint-700cf1faa3bed09f.rmeta --extern num_complex=/playground/target/debug/deps/libnum_complex-226f9c7969751acc.rmeta --extern num_conv=/playground/target/debug/deps/libnum_conv-60a37fa4b20345c5.rmeta --extern num_derive=/playground/target/debug/deps/libnum_derive-aebeb2b627de2515.so --extern num_integer=/playground/target/debug/deps/libnum_integer-f4ce7a4fc65d4708.rmeta --extern num_iter=/playground/target/debug/deps/libnum_iter-e9d556ab5b6ce64e.rmeta --extern num_rational=/playground/target/debug/deps/libnum_rational-38c512e91f2cdfea.rmeta --extern num_traits=/playground/target/debug/deps/libnum_traits-ca0f3e9efa70c7ac.rmeta --extern num_cpus=/playground/target/debug/deps/libnum_cpus-5200ef57b3fb9c8c.rmeta --extern object=/playground/target/debug/deps/libobject-8cb0259a0de515f2.rmeta --extern once_cell=/playground/target/debug/deps/libonce_cell-e1bfbc3ee910d292.rmeta --extern openssl=/playground/target/debug/deps/libopenssl-d5c013aaf1d51275.rmeta --extern openssl_macros=/playground/target/debug/deps/libopenssl_macros-0f170bc71ca94a26.so --extern openssl_probe=/playground/target/debug/deps/libopenssl_probe-8cf2eb44c4364243.rmeta --extern openssl_sys=/playground/target/debug/deps/libopenssl_sys-cf90396fca83410b.rmeta --extern ordered_float=/playground/target/debug/deps/libordered_float-908a043e381e4a23.rmeta --extern parking_lot=/playground/target/debug/deps/libparking_lot-62ed08037d7b5518.rmeta --extern parking_lot_core=/playground/target/debug/deps/libparking_lot_core-0163445b0ce5c601.rmeta --extern paste=/playground/target/debug/deps/libpaste-877c00952be8f9b7.so --extern percent_encoding=/playground/target/debug/deps/libpercent_encoding-89a8c9a576ed0c86.rmeta --extern petgraph_0_6_5=/playground/target/debug/deps/libpetgraph-d07ecfe4841bd1ed.rmeta --extern petgraph=/playground/target/debug/deps/libpetgraph-4058ffb51655c568.rmeta --extern phf_0_10_1=/playground/target/debug/deps/libphf-40112889b0930576.rmeta --extern phf=/playground/target/debug/deps/libphf-d17bffa46f0470a3.rmeta --extern phf_codegen_0_10_0=/playground/target/debug/deps/libphf_codegen-12ccee382b320398.rmeta --extern phf_codegen=/playground/target/debug/deps/libphf_codegen-68c98ad485fc7167.rmeta --extern phf_generator_0_10_0=/playground/target/debug/deps/libphf_generator-dcc1e1de98ad2da8.rmeta --extern phf_generator=/playground/target/debug/deps/libphf_generator-3fc71fa07f9335dd.rmeta --extern phf_macros=/playground/target/debug/deps/libphf_macros-2725cb0e00dc9319.so --extern phf_shared_0_10_0=/playground/target/debug/deps/libphf_shared-803a56923caba34a.rmeta --extern phf_shared=/playground/target/debug/deps/libphf_shared-aa15b4a5f6cf0203.rmeta --extern pin_project_lite=/playground/target/debug/deps/libpin_project_lite-eb9a151313326bc2.rmeta --extern pin_utils=/playground/target/debug/deps/libpin_utils-eac0dc040f0ba4b2.rmeta --extern pkg_config=/playground/target/debug/deps/libpkg_config-0592b56ab50a2384.rmeta --extern png=/playground/target/debug/deps/libpng-a524371a6ed88f46.rmeta --extern postgres=/playground/target/debug/deps/libpostgres-3a9723a22c2ef260.rmeta --extern postgres_protocol=/playground/target/debug/deps/libpostgres_protocol-79e1cbc73fbba8c7.rmeta --extern postgres_types=/playground/target/debug/deps/libpostgres_types-8b737e16a2691f6f.rmeta --extern powerfmt=/playground/target/debug/deps/libpowerfmt-7477f39ad5466a2f.rmeta --extern ppv_lite86=/playground/target/debug/deps/libppv_lite86-b7e24ee828bb878f.rmeta --extern precomputed_hash=/playground/target/debug/deps/libprecomputed_hash-0b0f8ac7fb661b36.rmeta --extern proc_macro2=/playground/target/debug/deps/libproc_macro2-f9aec840a773b823.rmeta --extern profiling=/playground/target/debug/deps/libprofiling-be3a384737bce7c1.rmeta --extern profiling_procmacros=/playground/target/debug/deps/libprofiling_procmacros-8cac1bf1e5ee24c6.so --extern psl_types=/playground/target/debug/deps/libpsl_types-230c1d459545640c.rmeta --extern publicsuffix=/playground/target/debug/deps/libpublicsuffix-77d8117cb24dedaa.rmeta --extern qoi=/playground/target/debug/deps/libqoi-04cda81e161d6f1e.rmeta --extern quick_error=/playground/target/debug/deps/libquick_error-41ad4285e12f7083.rmeta --extern quote=/playground/target/debug/deps/libquote-bf2c1d7129a811ad.rmeta --extern rand_0_8_5=/playground/target/debug/deps/librand-87b7ea6ced5304fc.rmeta --extern rand=/playground/target/debug/deps/librand-cbe6860de7a86183.rmeta --extern rand_chacha_0_3_1=/playground/target/debug/deps/librand_chacha-8ad20e5f84a1af56.rmeta --extern rand_chacha=/playground/target/debug/deps/librand_chacha-f93aaae2571f9bc5.rmeta --extern rand_core_0_6_4=/playground/target/debug/deps/librand_core-549e50b689b916d2.rmeta --extern rand_core=/playground/target/debug/deps/librand_core-5d907f8bab93dc56.rmeta --extern rand_distr=/playground/target/debug/deps/librand_distr-7937b783e49e5440.rmeta --extern rav1e=/playground/target/debug/deps/librav1e-9081e53b66923782.rmeta --extern ravif=/playground/target/debug/deps/libravif-9f3b0ae16f134ba1.rmeta --extern rawpointer=/playground/target/debug/deps/librawpointer-f7bfc7ed46508754.rmeta --extern rayon=/playground/target/debug/deps/librayon-3a6f71bedd5f3d6a.rmeta --extern rayon_core=/playground/target/debug/deps/librayon_core-de65d471ccadd010.rmeta --extern regex=/playground/target/debug/deps/libregex-40503a9c5c1956ce.rmeta --extern regex_automata=/playground/target/debug/deps/libregex_automata-5625a7aaa31b5bf8.rmeta --extern regex_syntax=/playground/target/debug/deps/libregex_syntax-54fff3ca5d4cd276.rmeta --extern reqwest=/playground/target/debug/deps/libreqwest-8c26776c3ea227bc.rmeta --extern rgb=/playground/target/debug/deps/librgb-0452492d48851286.rmeta --extern ring=/playground/target/debug/deps/libring-17f7265807728458.rmeta --extern rusqlite=/playground/target/debug/deps/librusqlite-6f83553550ba55e5.rmeta --extern rustc_demangle=/playground/target/debug/deps/librustc_demangle-cb17f1c413f0710a.rmeta --extern rustc_version=/playground/target/debug/deps/librustc_version-09ab6e8ed8cf2159.rmeta --extern rustix=/playground/target/debug/deps/librustix-cf4cb18290f2b3f4.rmeta --extern rustls=/playground/target/debug/deps/librustls-ab814b6059fcdbb6.rmeta --extern rustls_pemfile=/playground/target/debug/deps/librustls_pemfile-f8d2976987c2c450.rmeta --extern rustls_pki_types=/playground/target/debug/deps/librustls_pki_types-831191df19f58259.rmeta --extern webpki=/playground/target/debug/deps/libwebpki-3a71c42403bb9253.rmeta --extern rustversion=/playground/target/debug/deps/librustversion-1813c59b8b1de3f6.so --extern ryu=/playground/target/debug/deps/libryu-e55fd8e8372b9512.rmeta --extern safe_arch=/playground/target/debug/deps/libsafe_arch-dd196edcdbb12597.rmeta --extern same_file=/playground/target/debug/deps/libsame_file-2cd4738eed09f545.rmeta --extern scopeguard=/playground/target/debug/deps/libscopeguard-9f701abff82356c4.rmeta --extern scraper=/playground/target/debug/deps/libscraper-c4f1bf14c9f2cc8f.rmeta --extern select=/playground/target/debug/deps/libselect-4e5f7e3c160c633f.rmeta --extern selectors=/playground/target/debug/deps/libselectors-1797caeae037a9c9.rmeta --extern semver=/playground/target/debug/deps/libsemver-55df0c9e06f2acd9.rmeta --extern serde=/playground/target/debug/deps/libserde-44a236f4662ce5be.rmeta --extern serde_value=/playground/target/debug/deps/libserde_value-cc50f20223432c76.rmeta --extern serde_derive=/playground/target/debug/deps/libserde_derive-cbcb9e5ab8a39622.so --extern serde_json=/playground/target/debug/deps/libserde_json-989550c40ffa224c.rmeta --extern serde_spanned=/playground/target/debug/deps/libserde_spanned-d7613bef4ac02f9b.rmeta --extern serde_urlencoded=/playground/target/debug/deps/libserde_urlencoded-faf03d2c5c6b1560.rmeta --extern serde_yaml=/playground/target/debug/deps/libserde_yaml-ca65b85fd575edba.rmeta --extern servo_arc=/playground/target/debug/deps/libservo_arc-c4553eb662ecf06b.rmeta --extern sha1_smol=/playground/target/debug/deps/libsha1_smol-9589c6d5d6dc44e6.rmeta --extern sha2=/playground/target/debug/deps/libsha2-e7907d110dab4ee5.rmeta --extern shlex=/playground/target/debug/deps/libshlex-b29bf627ade0fbee.rmeta --extern signal_hook_registry=/playground/target/debug/deps/libsignal_hook_registry-172db6c571bf8cc9.rmeta --extern simba=/playground/target/debug/deps/libsimba-b8770f4adaf0e4f6.rmeta --extern simd_adler32=/playground/target/debug/deps/libsimd_adler32-a3d04411296ccf3c.rmeta --extern simd_helpers=/playground/target/debug/deps/libsimd_helpers-5726124f66d9ac2e.so --extern siphasher_0_3_11=/playground/target/debug/deps/libsiphasher-db2981c295ee481f.rmeta --extern siphasher=/playground/target/debug/deps/libsiphasher-a1b7c6e1ae03bfab.rmeta --extern slab=/playground/target/debug/deps/libslab-bdcf5e2d53b44a8e.rmeta --extern smallvec=/playground/target/debug/deps/libsmallvec-31ebe7054b40b5cc.rmeta --extern socket2=/playground/target/debug/deps/libsocket2-162c7493392fd734.rmeta --extern spin=/playground/target/debug/deps/libspin-059d6ecc6db10ccc.rmeta --extern sptr=/playground/target/debug/deps/libsptr-52ad68cfe255a676.rmeta --extern stable_deref_trait=/playground/target/debug/deps/libstable_deref_trait-1d45f07fee67eccd.rmeta --extern string_cache=/playground/target/debug/deps/libstring_cache-1eb3cdff7d0b5a89.rmeta --extern string_cache_codegen=/playground/target/debug/deps/libstring_cache_codegen-ba6b0ce6eab8f791.rmeta --extern stringprep=/playground/target/debug/deps/libstringprep-95d6c7b34b51be32.rmeta --extern strsim=/playground/target/debug/deps/libstrsim-55f508323b80f6ed.rmeta --extern subtle=/playground/target/debug/deps/libsubtle-9978c7e607031ba6.rmeta --extern syn_1_0_109=/playground/target/debug/deps/libsyn-21eebf09ee49b517.rmeta --extern syn=/playground/target/debug/deps/libsyn-f3775df1ad5ba9f2.rmeta --extern sync_wrapper=/playground/target/debug/deps/libsync_wrapper-bb858d10b061b95a.rmeta --extern synstructure=/playground/target/debug/deps/libsynstructure-441cbd694ef7b3f3.rmeta --extern tar=/playground/target/debug/deps/libtar-974b97f723df0195.rmeta --extern tempfile=/playground/target/debug/deps/libtempfile-0afb6f18dd9b8858.rmeta --extern tendril=/playground/target/debug/deps/libtendril-cfe11f600fb89792.rmeta --extern terminal_size=/playground/target/debug/deps/libterminal_size-f2025cb7f5ecc310.rmeta --extern thiserror_1_0_69=/playground/target/debug/deps/libthiserror-9a495dedd96b3c5f.rmeta --extern thiserror=/playground/target/debug/deps/libthiserror-48c324702fae1072.rmeta --extern thiserror_impl_1_0_69=/playground/target/debug/deps/libthiserror_impl-791702cfb14a5222.so --extern thiserror_impl=/playground/target/debug/deps/libthiserror_impl-630bdbb8fa651b5c.so --extern thread_id=/playground/target/debug/deps/libthread_id-3e06d3a6e22a126b.rmeta --extern threadpool=/playground/target/debug/deps/libthreadpool-dc6c570582b17c24.rmeta --extern tiff=/playground/target/debug/deps/libtiff-21553806ee72253a.rmeta --extern time=/playground/target/debug/deps/libtime-e54c15240d408f7e.rmeta --extern time_core=/playground/target/debug/deps/libtime_core-8b028bde507ff000.rmeta --extern time_macros=/playground/target/debug/deps/libtime_macros-713e8d5717125f9b.so --extern tinystr=/playground/target/debug/deps/libtinystr-c53882e95a7d0bcb.rmeta --extern tinyvec=/playground/target/debug/deps/libtinyvec-22a7c03a7b79037e.rmeta --extern tinyvec_macros=/playground/target/debug/deps/libtinyvec_macros-74781d1b7fe658d6.rmeta --extern tokio=/playground/target/debug/deps/libtokio-6e16b1bb998a7f04.rmeta --extern tokio_io=/playground/target/debug/deps/libtokio_io-9ccd8f6026a7b5b0.rmeta --extern tokio_macros=/playground/target/debug/deps/libtokio_macros-260337f11816280f.so --extern tokio_native_tls=/playground/target/debug/deps/libtokio_native_tls-1e06854f2cbd2fad.rmeta --extern tokio_postgres=/playground/target/debug/deps/libtokio_postgres-66e918e605bf38da.rmeta --extern tokio_rustls=/playground/target/debug/deps/libtokio_rustls-23bb799e362c61c2.rmeta --extern tokio_stream=/playground/target/debug/deps/libtokio_stream-dd36314e0f55ae43.rmeta --extern tokio_util=/playground/target/debug/deps/libtokio_util-593bacf0b0a630bb.rmeta --extern toml=/playground/target/debug/deps/libtoml-b88e8efff44a38e9.rmeta --extern toml_datetime=/playground/target/debug/deps/libtoml_datetime-4a797b747c36b4c5.rmeta --extern toml_edit=/playground/target/debug/deps/libtoml_edit-b2b5eecaebe13bcb.rmeta --extern tower=/playground/target/debug/deps/libtower-48dbaa2aa493cec8.rmeta --extern tower_layer=/playground/target/debug/deps/libtower_layer-5b76e1b22d87f690.rmeta --extern tower_service=/playground/target/debug/deps/libtower_service-91d1de27199e1804.rmeta --extern tracing=/playground/target/debug/deps/libtracing-490fcaea887d3d3b.rmeta --extern tracing_attributes=/playground/target/debug/deps/libtracing_attributes-5750ee420b769fbb.so --extern tracing_core=/playground/target/debug/deps/libtracing_core-58ba79c3045368c6.rmeta --extern trpl=/playground/target/debug/deps/libtrpl-341d0cee9fe6c6b4.rmeta --extern try_lock=/playground/target/debug/deps/libtry_lock-14f7a1e70de3063e.rmeta --extern typemap_ors=/playground/target/debug/deps/libtypemap_ors-633560b18a7a5332.rmeta --extern typenum=/playground/target/debug/deps/libtypenum-40dd88ec0cce76ec.rmeta --extern unicase=/playground/target/debug/deps/libunicase-0b220ef550315069.rmeta --extern unicode_bidi=/playground/target/debug/deps/libunicode_bidi-33973c5c0b8b19a6.rmeta --extern unicode_ident=/playground/target/debug/deps/libunicode_ident-abac8adaab3f79a0.rmeta --extern unicode_normalization=/playground/target/debug/deps/libunicode_normalization-afc2fd98e4bc2050.rmeta --extern unicode_properties=/playground/target/debug/deps/libunicode_properties-a754e58e86548ccd.rmeta --extern unicode_segmentation=/playground/target/debug/deps/libunicode_segmentation-5b9f98226fef88a4.rmeta --extern unicode_width_0_1_14=/playground/target/debug/deps/libunicode_width-bc8d18fc8f8724be.rmeta --extern unicode_width=/playground/target/debug/deps/libunicode_width-ac3ddddaa58bccb0.rmeta --extern unicode_xid=/playground/target/debug/deps/libunicode_xid-288efc7a3a645028.rmeta --extern unsafe_any_ors=/playground/target/debug/deps/libunsafe_any_ors-5b8a3dc07e5d1175.rmeta --extern unsafe_libyaml=/playground/target/debug/deps/libunsafe_libyaml-2f86ec7e180f46c8.rmeta --extern untrusted=/playground/target/debug/deps/libuntrusted-07a73a8d52f42697.rmeta --extern url=/playground/target/debug/deps/liburl-86367b9873b8464b.rmeta --extern utf8=/playground/target/debug/deps/libutf8-9377542321ad586a.rmeta --extern utf16_iter=/playground/target/debug/deps/libutf16_iter-1260e642f722e36d.rmeta --extern utf8_iter=/playground/target/debug/deps/libutf8_iter-473d4b0b9823051e.rmeta --extern utf8parse=/playground/target/debug/deps/libutf8parse-0391b50bc925e1f1.rmeta --extern uuid=/playground/target/debug/deps/libuuid-f50e2c4b53dd1259.rmeta --extern v_frame=/playground/target/debug/deps/libv_frame-a674e76bb098cb0f.rmeta --extern vcpkg=/playground/target/debug/deps/libvcpkg-e27f2325bacb211b.rmeta --extern version_check=/playground/target/debug/deps/libversion_check-2441df1024be1a0b.rmeta --extern walkdir=/playground/target/debug/deps/libwalkdir-9506aee47ba9e27b.rmeta --extern want=/playground/target/debug/deps/libwant-3386e63db5f349a6.rmeta --extern wasm_bindgen=/playground/target/debug/deps/libwasm_bindgen-f2133518778d8dcf.rmeta --extern wasm_bindgen_backend=/playground/target/debug/deps/libwasm_bindgen_backend-30025f38997c7413.rmeta --extern wasm_bindgen_macro=/playground/target/debug/deps/libwasm_bindgen_macro-70aea6e72034f1bf.so --extern wasm_bindgen_macro_support=/playground/target/debug/deps/libwasm_bindgen_macro_support-ca3e860ba4ac4a2b.rmeta --extern wasm_bindgen_shared=/playground/target/debug/deps/libwasm_bindgen_shared-2f4c34160382a395.rmeta --extern weezl=/playground/target/debug/deps/libweezl-052e9c2ae65aa10d.rmeta --extern whoami=/playground/target/debug/deps/libwhoami-dc994342f666360b.rmeta --extern wide=/playground/target/debug/deps/libwide-4fc9eaa981dd3c6d.rmeta --extern windows_sys=/playground/target/debug/deps/libwindows_sys-e32ef1ad42f3e072.rmeta --extern windows_targets=/playground/target/debug/deps/libwindows_targets-c12e8abb0a07641c.rmeta --extern windows_x86_64_gnu_0_52_6=/playground/target/debug/deps/libwindows_x86_64_gnu-cc3e766dcdf5c963.rmeta --extern windows_x86_64_gnu=/playground/target/debug/deps/libwindows_x86_64_gnu-ad71f719be1e1ab3.rmeta --extern windows_x86_64_msvc=/playground/target/debug/deps/libwindows_x86_64_msvc-2b6f791332adc8cb.rmeta --extern winnow=/playground/target/debug/deps/libwinnow-85f82a38a52e8d24.rmeta --extern write16=/playground/target/debug/deps/libwrite16-9c0da22c2b6b0f1c.rmeta --extern writeable=/playground/target/debug/deps/libwriteable-3147c0c815703a6b.rmeta --extern xattr=/playground/target/debug/deps/libxattr-34e6c02334463c07.rmeta --extern xml5ever=/playground/target/debug/deps/libxml5ever-1e307f7331a337a3.rmeta --extern yoke=/playground/target/debug/deps/libyoke-6b27307868a4ff1b.rmeta --extern yoke_derive=/playground/target/debug/deps/libyoke_derive-4c8ef785bc10dc23.so --extern zerocopy_0_7_35=/playground/target/debug/deps/libzerocopy-233fa8bcc1d19a68.rmeta --extern zerocopy=/playground/target/debug/deps/libzerocopy-b9f696412c8d4a39.rmeta --extern zerocopy_derive_0_7_35=/playground/target/debug/deps/libzerocopy_derive-4955d31b7c7dfcbd.so --extern zerocopy_derive=/playground/target/debug/deps/libzerocopy_derive-8b2546b4578ecdc9.so --extern zerofrom=/playground/target/debug/deps/libzerofrom-f8002a5000776c2b.rmeta --extern zerofrom_derive=/playground/target/debug/deps/libzerofrom_derive-e61a6d66a39ae26d.so --extern zeroize=/playground/target/debug/deps/libzeroize-ac0cf9694c99a65e.rmeta --extern zerovec=/playground/target/debug/deps/libzerovec-36d110f9006c99dc.rmeta --extern zerovec_derive=/playground/target/debug/deps/libzerovec_derive-9461b8ad777f46d2.so --extern zune_core=/playground/target/debug/deps/libzune_core-41cbe8ae361b60a8.rmeta --extern zune_inflate=/playground/target/debug/deps/libzune_inflate-6904dd1c28cf13d0.rmeta --extern zune_jpeg=/playground/target/debug/deps/libzune_jpeg-90b91c0365752984.rmeta -L native=/playground/target/debug/build/aws-lc-sys-c28a655848885fb1/out -L native=/playground/target/debug/build/libsqlite3-sys-0731013579f2eed1/out -L native=/playground/target/debug/build/ring-2ab8e66242ff9358/out -L native=/playground/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_gnu-0.52.6/lib -L native=/playground/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_gnu-0.53.0/lib -L native=/playground/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/windows_x86_64_msvc-0.53.0/lib` (exit status: 101)

Compiles without errors on edition 2015.

@theemathas
Copy link
Contributor

This compiled fine in 1.55 (It causes ICEs of varying kinds starting from 1.56), so I guess....

@rustbot label +regression-from-stable-to-stable

@rustbot rustbot added regression-from-stable-to-stable Performance or correctness regression from one stable version to another. I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Feb 23, 2025
@theemathas
Copy link
Contributor

theemathas commented Feb 23, 2025

Note: the exact ICE appears to depend on the edition used, presumably due to the edition 2021 closure capturing changes.

@jieyouxu jieyouxu added S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue A-patterns Relating to patterns and pattern matching and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Feb 23, 2025
@meithecatte
Copy link
Contributor

@rustbot claim

@meithecatte
Copy link
Contributor

What seems to be happening here is that the or-pattern allows something that otherwise wouldn't be possible: an irrefutable pattern that matches on a particular variant of an enum. Because of this, the upvar inference attempts to capture only a particular field of an enum variant.

The "two identical projections" assertion triggers because that part of the code doesn't expect enum variants, and so discards the VariantIdx in ProjectionKind::Field and considers the two paths to be equal.

This suggests the following interesting variation to the test case:

enum Camera {
    Normal { base_transform: i32 },
    Volume { meow: i32, transform: i32 },
}

fn draw_ui(camera: &mut Camera) {
    || {
        let (Camera::Normal {
            base_transform: _transform,
        }
        | Camera::Volume {
            transform: _transform,
            ..
        }) = camera;
    };
}

@meithecatte
Copy link
Contributor

meithecatte commented Feb 24, 2025

Looks like I will need to modify restrict_capture_precision, but this is not as trivial you might expect, since the partial captures take into account not only paths, but irrefutable destructuring as well:

// compiles on stable
enum Void {}
enum Test {
    A(i32, i32),
    B(Void),
}

fn florb(mut x: Test) {
    let mut f = || {
        let Test::A(ref mut i, _) = x;
        *i += 2;
    };

    let mut g = || {
        let Test::A(_, ref mut i) = x;
        *i *= 2;
    };

    f();
    g();
}

This is somewhat surprising, and not documented in RFC 2229, but it is documented in the reference.

@apiraino
Copy link
Contributor

WG-prioritization assigning priority (Zulip discussion).

@rustbot label -I-prioritize +P-medium

@rustbot rustbot added P-medium Medium priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Feb 24, 2025
@meithecatte
Copy link
Contributor

@meithecatte
Copy link
Contributor

I have established that restrict_capture_precision is definitely the wrong place to fix it – it's ExprUseVisitor that's wrong. This is demonstrated by the following example, which also ICEs:

fn meow(x: (u32, u32, u32)) {
    let f = || {
        let ((0, a, _) | (_, _, a)) = x;
    };
}

@matthiaskrgr matthiaskrgr added the S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. label Mar 9, 2025
bors added a commit to rust-lang-ci/rust that referenced this issue Mar 26, 2025
ExprUseVisitor: properly report discriminant reads

This PR fixes rust-lang#137467. In order to do so, it needs to introduce a small breaking change surrounding the interaction of closure captures with matching against enums with uninhabited variants. Yes – to fix an ICE!

## Background

The current upvar inference code handles patterns in two parts:
- `ExprUseVisitor::walk_pat` finds the *bindings* being done by the pattern and captures the relevant parts
- `ExprUseVisitor::maybe_read_scrutinee` determines whether matching against the pattern will at any point require inspecting a discriminant, and if so, captures *the entire scrutinee*. It also has some weird logic around bindings, deciding to also capture the entire scrutinee if *pretty much any binding exists in the pattern*, with some weird behavior like rust-lang#137553.

Nevertheless, something like `|| let (a, _) = x;` will only capture `x.0`, because `maybe_read_scrutinee` does not run for irrefutable patterns at all. This causes issues like rust-lang#137467, where the closure wouldn't be capturing enough, because an irrefutable or-pattern can still require inspecting a discriminant, and the match lowering would then panic, because it couldn't find an appropriate upvar in the closure.

My thesis is that this is not a reasonable implementation. To that end, I intend to merge the functionality of both these parts into `walk_pat`, which will bring upvar inference closer to what the MIR lowering actually needs – both in making sure that necessary variables get captured, fixing rust-lang#137467, and in reducing the cases where redundant variables do – fixing rust-lang#137553.

This PR introduces the necessary logic into `walk_pat`, fixing rust-lang#137467. A subsequent PR will remove `maybe_read_scrutinee` entirely, which should now be redundant, fixing rust-lang#137553. The latter is still pending, as my current revision doesn't handle opaque types correctly for some reason I haven't looked into yet.

## The breaking change

The following example, adapted from the testsuite, compiles on current stable, but will not compile with this PR:

```rust
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
enum Void {}

pub fn main() {
    let mut r = Result::<Void, (u32, u32)>::Err((0, 0));
    let mut f = || {
        let Err((ref mut a, _)) = r;
        *a = 1;
    };
    let mut g = || {
    //~^ ERROR: cannot borrow `r` as mutable more than once at a time
        let Err((_, ref mut b)) = r;
        *b = 2;
    };
    f();
    g();
    assert_eq!(r, Err((1, 2)));
}
```

The issue is that, to determine that matching against `Err` here doesn't require inspecting the discriminant, we need to query the `InhabitedPredicate` of the types involved. However, as upvar inference is done during typechecking, the relevant type might not yet be fully inferred. Because of this, performing such a check hits this assertion:

https://github.com/rust-lang/rust/blob/43f0014ef0f242418674f49052ed39b70f73bc1c/compiler/rustc_middle/src/ty/inhabitedness/mod.rs#L121

The code used to compile fine, but only because the compiler incorrectly assumed that patterns used within a `let` cannot possibly be inspecting any discriminants.

## Is the breaking change necessary?

One other option would be to double down, and introduce a deliberate semantics difference between `let $pat = $expr;` and `match $expr { $pat => ... }`, that syntactically determines whether the pattern is in an irrefutable position, instead of querying the types.

**This would not eliminate the breaking change,** but it would limit it to more contrived examples, such as

```rust
let ((true, Err((ref mut a, _, _))) | (false, Err((_, ref mut a, _)))) = x;
```

The cost here, would be the complexity added with very little benefit.

## Other notes

- I performed various cleanups while working on this. The last commit of the PR is the interesting one.
- Due to the temporary duplication of logic between `maybe_read_scrutinee` and `walk_pat`, some of the `#[rustc_capture_analysis]` tests report duplicate messages before deduplication. This is harmless.
bors added a commit to rust-lang-ci/rust that referenced this issue Mar 26, 2025
ExprUseVisitor: murder maybe_read_scrutinee in cold blood

This PR fixes rust-lang#137467. In order to do so, it needs to introduce a small breaking change surrounding the interaction of closure captures with matching against enums with uninhabited variants. Yes – to fix an ICE!

## Background

The current upvar inference code handles patterns in two parts:
- `ExprUseVisitor::walk_pat` finds the *bindings* being done by the pattern and captures the relevant parts
- `ExprUseVisitor::maybe_read_scrutinee` determines whether matching against the pattern will at any point require inspecting a discriminant, and if so, captures *the entire scrutinee*. It also has some weird logic around bindings, deciding to also capture the entire scrutinee if *pretty much any binding exists in the pattern*, with some weird behavior like rust-lang#137553.

Nevertheless, something like `|| let (a, _) = x;` will only capture `x.0`, because `maybe_read_scrutinee` does not run for irrefutable patterns at all. This causes issues like rust-lang#137467, where the closure wouldn't be capturing enough, because an irrefutable or-pattern can still require inspecting a discriminant, and the match lowering would then panic, because it couldn't find an appropriate upvar in the closure.

My thesis is that this is not a reasonable implementation. To that end, I intend to merge the functionality of both these parts into `walk_pat`, which will bring upvar inference closer to what the MIR lowering actually needs – both in making sure that necessary variables get captured, fixing rust-lang#137467, and in reducing the cases where redundant variables do – fixing rust-lang#137553.

This PR introduces the necessary logic into `walk_pat`, fixing rust-lang#137467. A subsequent PR will remove `maybe_read_scrutinee` entirely, which should now be redundant, fixing rust-lang#137553. The latter is still pending, as my current revision doesn't handle opaque types correctly for some reason I haven't looked into yet.

## The breaking change

The following example, adapted from the testsuite, compiles on current stable, but will not compile with this PR:

```rust
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
enum Void {}

pub fn main() {
    let mut r = Result::<Void, (u32, u32)>::Err((0, 0));
    let mut f = || {
        let Err((ref mut a, _)) = r;
        *a = 1;
    };
    let mut g = || {
    //~^ ERROR: cannot borrow `r` as mutable more than once at a time
        let Err((_, ref mut b)) = r;
        *b = 2;
    };
    f();
    g();
    assert_eq!(r, Err((1, 2)));
}
```

The issue is that, to determine that matching against `Err` here doesn't require inspecting the discriminant, we need to query the `InhabitedPredicate` of the types involved. However, as upvar inference is done during typechecking, the relevant type might not yet be fully inferred. Because of this, performing such a check hits this assertion:

https://github.com/rust-lang/rust/blob/43f0014ef0f242418674f49052ed39b70f73bc1c/compiler/rustc_middle/src/ty/inhabitedness/mod.rs#L121

The code used to compile fine, but only because the compiler incorrectly assumed that patterns used within a `let` cannot possibly be inspecting any discriminants.

## Is the breaking change necessary?

One other option would be to double down, and introduce a deliberate semantics difference between `let $pat = $expr;` and `match $expr { $pat => ... }`, that syntactically determines whether the pattern is in an irrefutable position, instead of querying the types.

**This would not eliminate the breaking change,** but it would limit it to more contrived examples, such as

```rust
let ((true, Err((ref mut a, _, _))) | (false, Err((_, ref mut a, _)))) = x;
```

The cost here, would be the complexity added with very little benefit.

## Other notes

- I performed various cleanups while working on this. The last commit of the PR is the interesting one.
- Due to the temporary duplication of logic between `maybe_read_scrutinee` and `walk_pat`, some of the `#[rustc_capture_analysis]` tests report duplicate messages before deduplication. This is harmless.
@cyrgani cyrgani marked this as a duplicate of #138973 Mar 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-patterns Relating to patterns and pattern matching C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ P-medium Medium priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. S-has-mcve Status: A Minimal Complete and Verifiable Example has been found for this issue T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants