Skip to content

internal compiler error: two identical projections #137467

New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # 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