diff --git a/Cargo.lock b/Cargo.lock
index ccb12ff..23f7dd6 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -140,6 +140,7 @@ dependencies = [
"bytes",
"clients",
"color-eyre",
+ "core_types",
"object_store 0.9.0",
"serde",
"surrealdb",
@@ -504,6 +505,7 @@ dependencies = [
"bytes",
"clients",
"color-eyre",
+ "core_types",
"image",
"serde",
"surrealdb",
@@ -966,7 +968,12 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
name = "core_types"
version = "0.1.0"
dependencies = [
+ "axum-login",
+ "bytes",
"serde",
+ "surreal-id",
+ "surrealdb",
+ "ulid",
]
[[package]]
@@ -4360,6 +4367,16 @@ version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+[[package]]
+name = "surreal-id"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba35159bfefbbd3a7b989ea22eb0db4a69f5bc4891abc5b86fba0b2834fe12f4"
+dependencies = [
+ "surrealdb",
+ "thiserror",
+]
+
[[package]]
name = "surrealdb"
version = "1.1.1"
diff --git a/Cargo.toml b/Cargo.toml
index a33e790..57ba758 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,6 +12,7 @@ codegen-units = 1
[workspace.dependencies]
axum = { version = "0.7.4", features = ["macros"] }
+axum-login = "0.13"
bytes = "1.5.0"
cfg-if = "1"
color-eyre = "0.6"
@@ -26,14 +27,12 @@ server_fn = { version = "0.6", features = ["multipart"] }
log = "0.4"
serde = { version = "1", features = ["derive"] }
simple_logger = "4.2.0"
-surrealdb = "1"
+surrealdb = { version = "1" }
thiserror = "1"
tokio = { version = "1", features = ["full"] }
tower = { version = "0.4", features = ["full"] }
tower-http = { version = "0.5", features = ["full"] }
-tracing = "0.1"
-tracing-subscriber = "0.3"
-ulid = "1.1.2"
+ulid = { version = "1.1", features = [ "serde" ] }
wasm-bindgen = "=0.2.89"
[[workspace.metadata.leptos]]
diff --git a/crates/artifact/Cargo.toml b/crates/artifact/Cargo.toml
index fc5bda0..5816116 100644
--- a/crates/artifact/Cargo.toml
+++ b/crates/artifact/Cargo.toml
@@ -15,4 +15,5 @@ color-eyre.workspace = true
surrealdb.workspace = true
ulid.workspace = true
+core_types = { path = "../core_types", features = [ "ssr" ] }
clients = { path = "../clients" }
diff --git a/crates/artifact/src/lib.rs b/crates/artifact/src/lib.rs
index 365a60a..4661586 100644
--- a/crates/artifact/src/lib.rs
+++ b/crates/artifact/src/lib.rs
@@ -1,105 +1,82 @@
use std::future::Future;
use color_eyre::eyre::{OptionExt, Result, WrapErr};
-use serde::{Deserialize, Serialize};
-use surrealdb::sql::{Id, Thing};
+use core_types::{NewId, PrivateArtifact, PublicArtifact};
-const ARTIFACT_PRIVATE_TABLE: &str = "private-artifact";
-const ARTIFACT_PUBLIC_TABLE: &str = "public-artifact";
const ARTIFACT_PRIVATE_LTS_BUCKET: &str = "picturepro-artifact-private-lts";
const ARTIFACT_PUBLIC_LTS_BUCKET: &str = "picturepro-artifact-public-lts";
-#[derive(Debug, Clone, Deserialize, Serialize)]
-pub struct PrivateArtifact {
- id: Thing,
- #[serde(skip)]
- contents: Option,
-}
-
-#[derive(Debug, Clone, Deserialize, Serialize)]
-pub struct PublicArtifact {
- id: Thing,
- url: String,
- #[serde(skip)]
- contents: Option,
-}
-
pub trait Artifact {
+ type Id: core_types::NewId;
+
fn new(contents: Option) -> Self;
+ fn new_with_id(id: Self::Id, contents: Option) -> Self;
+ fn download(&mut self) -> impl Future
}>
+ { move || photo_groups.map(|groups| view! {
+
+
+ {format!("Photo Groups: {:#?}", groups)}
+
+
+ })}
+
+ }
+ .into_view()
+}
+
+#[server]
+pub async fn get_user_photo_groups(
+ user_id: core_types::UserRecordId,
+) -> Result, ServerFnError> {
+ bl::get_user_photo_groups(user_id).await.map_err(|e| {
+ ServerFnError::new(format!("Failed to get user photo groups: {e}"))
+ })
}
diff --git a/crates/site-app/src/components/photo_upload.rs b/crates/site-app/src/components/photo_upload.rs
index 8d5eeb1..736b1e3 100644
--- a/crates/site-app/src/components/photo_upload.rs
+++ b/crates/site-app/src/components/photo_upload.rs
@@ -42,7 +42,7 @@ pub fn PhotoUpload() -> impl IntoView {
#[server(input = MultipartFormData)]
pub async fn photo_upload(
data: MultipartData,
-) -> Result {
+) -> Result {
// get the user, and abort if not logged in
let user = crate::authenticated_user()
.ok_or_else(|| ServerFnError::new("Not logged in"))?;
@@ -80,16 +80,14 @@ pub async fn photo_upload(
public.ok_or_else(|| ServerFnError::new("Missing public field"))?;
let photo = photo.ok_or_else(|| ServerFnError::new("Missing photo field"))?;
- let photo_group = bl::upload_single_photo(
- user
- .id
- .parse()
- .map_err(|_| ServerFnError::new(format!("Failed to parse user ID")))?,
- photo,
- bl::PhotoGroupUploadMeta { public },
- )
- .await
- .map_err(|e| ServerFnError::new(format!("Failed to upload photo: {}", e)))?;
+ let photo_group =
+ bl::upload_single_photo(user.id, photo, core_types::PhotoGroupUploadMeta {
+ public,
+ })
+ .await
+ .map_err(|e| {
+ ServerFnError::new(format!("Failed to upload photo: {}", e))
+ })?;
- Ok(photo_group.id.to_string())
+ Ok(photo_group.id)
}
diff --git a/crates/site-app/src/pages/auth/login_page.rs b/crates/site-app/src/pages/auth/login_page.rs
index afca955..eff093b 100644
--- a/crates/site-app/src/pages/auth/login_page.rs
+++ b/crates/site-app/src/pages/auth/login_page.rs
@@ -107,7 +107,7 @@ pub async fn login(params: LoginParams) -> Result {
.await
.map_err(|e| ServerFnError::new(format!("Failed to log in: {e}")))?;
- log!("logged in user: {} ({})", user.name, user.id);
+ log!("logged in user: {} ({})", user.name, user.id.0);
leptos_axum::redirect("/");
Ok(true)
diff --git a/crates/site-app/src/pages/dashboard/mod.rs b/crates/site-app/src/pages/dashboard/mod.rs
index da237c4..d348584 100644
--- a/crates/site-app/src/pages/dashboard/mod.rs
+++ b/crates/site-app/src/pages/dashboard/mod.rs
@@ -21,6 +21,7 @@ pub fn DashboardPage() -> impl IntoView {
"Dashboard Page"
+
}
}
diff --git a/crates/site-app/src/utils.rs b/crates/site-app/src/utils.rs
index 3f1fd70..51a4251 100644
--- a/crates/site-app/src/utils.rs
+++ b/crates/site-app/src/utils.rs
@@ -1,5 +1,5 @@
use leptos::*;
-pub fn authenticated_user() -> Option {
+pub fn authenticated_user() -> Option {
use_context::().and_then(|u| u.0)
}
diff --git a/crates/site-server/src/main.rs b/crates/site-server/src/main.rs
index f30a765..e5a6331 100644
--- a/crates/site-server/src/main.rs
+++ b/crates/site-server/src/main.rs
@@ -33,7 +33,7 @@ async fn server_fn_handler(
move || {
provide_context(auth_session.clone());
provide_context(core_types::LoggedInUser(
- auth_session.user.clone().map(core_types::User::from),
+ auth_session.user.clone().map(core_types::PublicUser::from),
))
},
request,
@@ -52,7 +52,7 @@ async fn leptos_routes_handler(
move || {
// provide_context(auth_session.clone());
provide_context(core_types::LoggedInUser(
- auth_session.user.clone().map(core_types::User::from),
+ auth_session.user.clone().map(core_types::PublicUser::from),
))
},
site_app::App,
diff --git a/migrations/migrations/definitions/_initial.json b/migrations/migrations/definitions/_initial.json
index 18d2c67..4821b6f 100644
--- a/migrations/migrations/definitions/_initial.json
+++ b/migrations/migrations/definitions/_initial.json
@@ -1 +1 @@
-{"schemas":"DEFINE TABLE script_migration SCHEMAFULL\n PERMISSIONS\n FOR select FULL\n FOR create, update, delete NONE;\n\nDEFINE FIELD script_name ON script_migration TYPE string;\nDEFINE FIELD executed_at ON script_migration TYPE datetime DEFAULT time::now();\nDEFINE TABLE user SCHEMALESS;\n\nDEFINE FIELD name ON user TYPE string;\nDEFINE FIELD email ON user TYPE string;\nDEFINE FIELD password ON user TYPE string;\n\nDEFINE INDEX unique_email ON user COLUMNS email UNIQUE;\n","events":""}
\ No newline at end of file
+{"schemas":"DEFINE TABLE script_migration SCHEMAFULL\n PERMISSIONS\n FOR select FULL\n FOR create, update, delete NONE;\n\nDEFINE FIELD script_name ON script_migration TYPE string;\nDEFINE FIELD executed_at ON script_migration TYPE datetime DEFAULT time::now();\nDEFINE TABLE user SCHEMALESS;\n\nDEFINE FIELD name ON user TYPE string;\nDEFINE FIELD email ON user TYPE string;\nDEFINE FIELD pw_hash ON user TYPE string;\n\nDEFINE INDEX unique_email ON user COLUMNS email UNIQUE;\n","events":""}
\ No newline at end of file
diff --git a/migrations/schemas/user.surrealql b/migrations/schemas/user.surrealql
index b8671e2..4b75e7d 100644
--- a/migrations/schemas/user.surrealql
+++ b/migrations/schemas/user.surrealql
@@ -2,6 +2,6 @@ DEFINE TABLE user SCHEMALESS;
DEFINE FIELD name ON user TYPE string;
DEFINE FIELD email ON user TYPE string;
-DEFINE FIELD password ON user TYPE string;
+DEFINE FIELD pw_hash ON user TYPE string;
DEFINE INDEX unique_email ON user COLUMNS email UNIQUE;
diff --git a/rustc-ice-2024-02-16T17_21_29-27814.txt b/rustc-ice-2024-02-16T17_21_29-27814.txt
new file mode 100644
index 0000000..a0db2b1
--- /dev/null
+++ b/rustc-ice-2024-02-16T17_21_29-27814.txt
@@ -0,0 +1,188 @@
+thread 'rustc' panicked at compiler/rustc_metadata/src/rmeta/def_path_hash_map.rs:23:54:
+called `Option::unwrap()` on a `None` value
+stack backtrace:
+ 0: 0xffff26c0cd78 - std::backtrace_rs::backtrace::libunwind::trace::hfe54b43f8fadab45
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
+ 1: 0xffff26c0cd78 - std::backtrace_rs::backtrace::trace_unsynchronized::he52e9df88882b9d4
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
+ 2: 0xffff26c0cd78 - std::backtrace::Backtrace::create::hbc9f6b0752a7c221
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/backtrace.rs:331:13
+ 3: 0xffff277fab24 - as core[838b3e1bdd7b2528]::ops::function::Fn<(&dyn for<'a, 'b> core[838b3e1bdd7b2528]::ops::function::Fn<(&'a core[838b3e1bdd7b2528]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[838b3e1bdd7b2528]::marker::Sync + core[838b3e1bdd7b2528]::marker::Send, &core[838b3e1bdd7b2528]::panic::panic_info::PanicInfo)>>::call
+ 4: 0xffff26c26410 - as core::ops::function::Fn>::call::hf1ccbfb04528fac9
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2029:9
+ 5: 0xffff26c26410 - std::panicking::rust_panic_with_hook::hbca97872facfc88d
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/panicking.rs:785:13
+ 6: 0xffff26c26160 - std::panicking::begin_panic_handler::{{closure}}::h651cba5bb6be54e1
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/panicking.rs:651:13
+ 7: 0xffff26c23960 - std::sys_common::backtrace::__rust_end_short_backtrace::h231c1dfaced37ebc
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/sys_common/backtrace.rs:171:18
+ 8: 0xffff26c25f2c - rust_begin_unwind
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/panicking.rs:647:5
+ 9: 0xffff26bf13ec - core::panicking::panic_fmt::hc818833dc02386fb
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/core/src/panicking.rs:72:14
+ 10: 0xffff26bf146c - core::panicking::panic::h6674719cbc283852
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/core/src/panicking.rs:144:5
+ 11: 0xffff26bf1378 - core::option::unwrap_failed::he0621fe73dbdbba0
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/core/src/option.rs:1978:5
+ 12: 0xffff2c13c008 - ::def_path_hash_to_def_id
+ 13: 0xffff2c4edafc - ::def_path_hash_to_def_id
+ 14: 0xffff2c6526d4 - ::extract_def_id
+ 15: 0xffff2b6b4cc4 - ::{closure#0} as core[838b3e1bdd7b2528]::ops::function::FnOnce<(rustc_middle[46473b2da0c7b084]::ty::context::TyCtxt, rustc_query_system[76fb595000f686e]::dep_graph::dep_node::DepNode)>>::call_once
+ 16: 0xffff2b88d048 - >::try_mark_previous_green::
+ 17: 0xffff2b88d090 - >::try_mark_previous_green::
+ 18: 0xffff2b88d090 - >::try_mark_previous_green::
+ 19: 0xffff2b88d090 - >::try_mark_previous_green::
+ 20: 0xffff2b88ce08 - >::try_mark_green::
+ 21: 0xffff2b9293e4 - rustc_query_system[76fb595000f686e]::query::plumbing::try_execute_query::>, rustc_middle[46473b2da0c7b084]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[5822bec21749cdb9]::plumbing::QueryCtxt, true>
+ 22: 0xffff2b851458 - rustc_query_impl[5822bec21749cdb9]::query_impl::evaluate_obligation::get_query_incr::__rust_end_short_backtrace
+ 23: 0xffff2bc522bc - ::evaluate_obligation
+ 24: 0xffff2bc52660 - ::evaluate_obligation_no_overflow
+ 25: 0xffff2bafd7d4 - ::process_trait_obligation
+ 26: 0xffff2bafca0c - ::process_obligation
+ 27: 0xffff2bc533f0 - >::process_obligations::
+ 28: 0xffff2baf9514 - ::select_where_possible
+ 29: 0xffff2bbdc56c - ::select_all_or_error
+ 30: 0xffff2b57c9b4 - ::commit_if_ok::<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed, rustc_trait_selection[5526cd3ad699b104]::traits::query::type_op::custom::scrape_region_constraints::fully_perform::{closure#0}>::{closure#0}>
+ 31: 0xffff2b598780 - rustc_trait_selection[5526cd3ad699b104]::traits::query::type_op::custom::scrape_region_constraints::::fully_perform::{closure#0}>
+ 32: 0xffff2b464728 - ::fully_perform
+ 33: 0xffff2b45e8b8 - ::register_obligations
+ 34: 0xffff2b527098 - >::relate_opaques
+ 35: 0xffff2b528c0c - as rustc_middle[46473b2da0c7b084]::ty::relate::TypeRelation>::tys
+ 36: 0xffff2b4680b4 - ::relate_types
+ 37: 0xffff2b46bdc4 - ::typeck_mir
+ 38: 0xffff2b45f338 - rustc_borrowck[fb9f3ed348722c98]::type_check::type_check
+ 39: 0xffff2b4a01e0 - rustc_borrowck[fb9f3ed348722c98]::nll::compute_regions
+ 40: 0xffff2b3f889c - rustc_borrowck[fb9f3ed348722c98]::do_mir_borrowck
+ 41: 0xffff2b3ef9f0 - rustc_borrowck[fb9f3ed348722c98]::mir_borrowck
+ 42: 0xffff2b6d071c - rustc_query_impl[5822bec21749cdb9]::plumbing::__rust_begin_short_backtrace::>
+ 43: 0xffff2b6ef8d0 - >::call_once
+ 44: 0xffff2b9885a8 - rustc_query_system[76fb595000f686e]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[5822bec21749cdb9]::plumbing::QueryCtxt, true>
+ 45: 0xffff2b8df4d4 - rustc_query_system[76fb595000f686e]::query::plumbing::force_query::>, false, false, false>, rustc_query_impl[5822bec21749cdb9]::plumbing::QueryCtxt>
+ 46: 0xffff2b6a8418 - ::{closure#0} as core[838b3e1bdd7b2528]::ops::function::FnOnce<(rustc_middle[46473b2da0c7b084]::ty::context::TyCtxt, rustc_query_system[76fb595000f686e]::dep_graph::dep_node::DepNode)>>::call_once
+ 47: 0xffff2b88d048 - >::try_mark_previous_green::
+ 48: 0xffff2b88d090 - >::try_mark_previous_green::
+ 49: 0xffff2b88d090 - >::try_mark_previous_green::
+ 50: 0xffff2b88d090 - >::try_mark_previous_green::
+ 51: 0xffff2b88ce08 - >::try_mark_green::
+ 52: 0xffff2b8e22c0 - rustc_query_system[76fb595000f686e]::query::plumbing::ensure_must_run::>, false, false, false>, rustc_query_impl[5822bec21749cdb9]::plumbing::QueryCtxt>
+ 53: 0xffff2b7ddcf4 - rustc_query_impl[5822bec21749cdb9]::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
+ 54: 0xffff2aadcb04 - ::run::, rustc_data_structures[6659498bf83f984f]::sync::parallel::enabled::try_par_for_each_in<&[rustc_hir[28f30fc36fbe2dd]::hir_id::OwnerId], rustc_span[110ecd566fac8533]::ErrorGuaranteed, ::try_par_for_each_module::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
+ 55: 0xffff2aa33344 - rustc_hir_analysis[ffabaf230e32c0df]::check_crate
+ 56: 0xffff279751f8 - rustc_interface[c6d09d2df6052683]::passes::analysis
+ 57: 0xffff2b6d5be8 - rustc_query_impl[5822bec21749cdb9]::plumbing::__rust_begin_short_backtrace::>
+ 58: 0xffff2b76c2e0 - >::call_once
+ 59: 0xffff2b903594 - rustc_query_system[76fb595000f686e]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[5822bec21749cdb9]::plumbing::QueryCtxt, true>
+ 60: 0xffff2b808374 - rustc_query_impl[5822bec21749cdb9]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
+ 61: 0xffff277e4e58 - ::enter::>
+ 62: 0xffff27830e48 - ::enter::, rustc_span[110ecd566fac8533]::ErrorGuaranteed>>
+ 63: 0xffff277ce34c - rustc_span[110ecd566fac8533]::set_source_map::, rustc_interface[c6d09d2df6052683]::interface::run_compiler, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
+ 64: 0xffff277cf6a4 - rustc_span[110ecd566fac8533]::create_session_globals_then::, rustc_interface[c6d09d2df6052683]::util::run_in_thread_pool_with_globals, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}>
+ 65: 0xffff2780c41c - std[1d40ebb4f03b22f]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>
+ 66: 0xffff2780ea94 - <::spawn_unchecked_, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#1} as core[838b3e1bdd7b2528]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
+ 67: 0xffff26c2edec - as core::ops::function::FnOnce>::call_once::h1f7775aec6307416
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2015:9
+ 68: 0xffff26c2edec - as core::ops::function::FnOnce>::call_once::h8daafd2ebd74fb9c
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2015:9
+ 69: 0xffff26c2edec - std::sys::pal::unix::thread::Thread::new::thread_start::h48ec715059e6bb79
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/sys/pal/unix/thread.rs:108:17
+ 70: 0xffff26a738a0 - start_thread
+ 71: 0xffff26add04c - thread_start
+ 72: 0x0 -
+
+
+rustc version: 1.77.0-nightly (635124704 2024-01-27)
+platform: aarch64-unknown-linux-gnu
+
+query stack during panic:
+#0 [evaluate_obligation] evaluating trait selection obligation `{coroutine witness@axum_login::session::AuthSession::logout::{closure#0}::{closure#0}::{closure#0}}: core::marker::Send`
+#1 [mir_borrowck] borrow-checking `::run_body`
+#2 [analysis] running analysis passes on this crate
+end of query stack
+delayed span bug: {OpaqueTypeKey { def_id: DefId(0:1283 ~ site_app[690c]::{impl#21}::run_body::{opaque#0}), args: [] }: OpaqueTypeDecl { hidden_type: OpaqueHiddenType { span: crates/site-app/src/lib.rs:101:1: 101:18 (#559), ty: Coroutine(DefId(0:1025 ~ site_app[690c]::{impl#21}::run_body::{closure#0}), [std::future::ResumeTy, (), std::result::Result<(), leptos::ServerFnError>, CoroutineWitness(DefId(0:1025 ~ site_app[690c]::{impl#21}::run_body::{closure#0}), []), ()]) } }}
+ 0: std::backtrace_rs::backtrace::libunwind::trace
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
+ 1: std::backtrace_rs::backtrace::trace_unsynchronized
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
+ 2: std::backtrace::Backtrace::create
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/backtrace.rs:331:13
+ 3: ::emit_diagnostic
+ 4: ::emit_diagnostic
+ 5: ::emit_producing_error_guaranteed
+ 6: ::drop
+ 7: core::ptr::drop_in_place::
+ 8: rustc_borrowck::mir_borrowck
+ 9: rustc_query_impl::plumbing::__rust_begin_short_backtrace::>
+ 10: >::call_once
+ 11: rustc_query_system::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
+ 12: rustc_query_system::query::plumbing::force_query::>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
+ 13: ::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_query_system::dep_graph::dep_node::DepNode)>>::call_once
+ 14: >::try_mark_previous_green::
+ 15: >::try_mark_previous_green::
+ 16: >::try_mark_previous_green::
+ 17: >::try_mark_previous_green::
+ 18: >::try_mark_green::
+ 19: rustc_query_system::query::plumbing::ensure_must_run::>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
+ 20: rustc_query_impl::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
+ 21: ::run::, rustc_data_structures::sync::parallel::enabled::try_par_for_each_in<&[rustc_hir::hir_id::OwnerId], rustc_span::ErrorGuaranteed, ::try_par_for_each_module::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
+ 22: rustc_hir_analysis::check_crate
+ 23: rustc_interface::passes::analysis
+ 24: rustc_query_impl::plumbing::__rust_begin_short_backtrace::>
+ 25: >::call_once
+ 26: rustc_query_system::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
+ 27: rustc_query_impl::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
+ 28: ::enter::>
+ 29: ::enter::, rustc_span::ErrorGuaranteed>>
+ 30: rustc_span::set_source_map::, rustc_interface::interface::run_compiler, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
+ 31: rustc_span::create_session_globals_then::, rustc_interface::util::run_in_thread_pool_with_globals, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}>
+ 32: std::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
+ 33: <::spawn_unchecked_, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
+ 34: as core::ops::function::FnOnce>::call_once
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2015:9
+ 35: as core::ops::function::FnOnce>::call_once
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2015:9
+ 36: std::sys::pal::unix::thread::Thread::new::thread_start
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/sys/pal/unix/thread.rs:108:17
+ 37: start_thread
+ 38: thread_start
+
+thread 'rustc' panicked at library/core/src/panicking.rs:163:5:
+panic in a destructor during cleanup
+stack backtrace:
+ 0: 0xffff26c0cd78 - std::backtrace_rs::backtrace::libunwind::trace::hfe54b43f8fadab45
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
+ 1: 0xffff26c0cd78 - std::backtrace_rs::backtrace::trace_unsynchronized::he52e9df88882b9d4
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
+ 2: 0xffff26c0cd78 - std::backtrace::Backtrace::create::hbc9f6b0752a7c221
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/backtrace.rs:331:13
+ 3: 0xffff277fab24 - as core[838b3e1bdd7b2528]::ops::function::Fn<(&dyn for<'a, 'b> core[838b3e1bdd7b2528]::ops::function::Fn<(&'a core[838b3e1bdd7b2528]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[838b3e1bdd7b2528]::marker::Sync + core[838b3e1bdd7b2528]::marker::Send, &core[838b3e1bdd7b2528]::panic::panic_info::PanicInfo)>>::call
+ 4: 0xffff26c26410 - as core::ops::function::Fn>::call::hf1ccbfb04528fac9
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2029:9
+ 5: 0xffff26c26410 - std::panicking::rust_panic_with_hook::hbca97872facfc88d
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/panicking.rs:785:13
+ 6: 0xffff26c26160 - std::panicking::begin_panic_handler::{{closure}}::h651cba5bb6be54e1
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/panicking.rs:651:13
+ 7: 0xffff26c23960 - std::sys_common::backtrace::__rust_end_short_backtrace::h231c1dfaced37ebc
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/sys_common/backtrace.rs:171:18
+ 8: 0xffff26c25f2c - rust_begin_unwind
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/panicking.rs:647:5
+ 9: 0xffff26bf1430 - core::panicking::panic_nounwind_fmt::runtime::h82b5902b3f5a0545
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/core/src/panicking.rs:110:18
+ 10: 0xffff26bf1430 - core::panicking::panic_nounwind_fmt::h2c5b3e91a1eede6e
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/core/src/panicking.rs:122:9
+ 11: 0xffff26bf14e4 - core::panicking::panic_nounwind_nobacktrace::hf7b0b502cc2352bd
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/core/src/panicking.rs:163:5
+ 12: 0xffff26bf1628 - core::panicking::panic_in_cleanup::h9f28fecec255aaae
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/core/src/panicking.rs:256:5
+ 13: 0xffff277ce75c - rustc_span[110ecd566fac8533]::set_source_map::, rustc_interface[c6d09d2df6052683]::interface::run_compiler, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
+ 14: 0xffff277cf6a4 - rustc_span[110ecd566fac8533]::create_session_globals_then::, rustc_interface[c6d09d2df6052683]::util::run_in_thread_pool_with_globals, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}>
+ 15: 0xffff2780c41c - std[1d40ebb4f03b22f]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>
+ 16: 0xffff2780ea94 - <::spawn_unchecked_, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#1} as core[838b3e1bdd7b2528]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
+ 17: 0xffff26c2edec - as core::ops::function::FnOnce>::call_once::h1f7775aec6307416
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2015:9
+ 18: 0xffff26c2edec - as core::ops::function::FnOnce>::call_once::h8daafd2ebd74fb9c
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2015:9
+ 19: 0xffff26c2edec - std::sys::pal::unix::thread::Thread::new::thread_start::h48ec715059e6bb79
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/sys/pal/unix/thread.rs:108:17
+ 20: 0xffff26a738a0 - start_thread
+ 21: 0xffff26add04c - thread_start
+ 22: 0x0 -
diff --git a/rustc-ice-2024-02-16T17_21_29-27815.txt b/rustc-ice-2024-02-16T17_21_29-27815.txt
new file mode 100644
index 0000000..5cf1aa7
--- /dev/null
+++ b/rustc-ice-2024-02-16T17_21_29-27815.txt
@@ -0,0 +1,188 @@
+thread 'rustc' panicked at compiler/rustc_metadata/src/rmeta/def_path_hash_map.rs:23:54:
+called `Option::unwrap()` on a `None` value
+stack backtrace:
+ 0: 0xffffadb7cd78 - std::backtrace_rs::backtrace::libunwind::trace::hfe54b43f8fadab45
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
+ 1: 0xffffadb7cd78 - std::backtrace_rs::backtrace::trace_unsynchronized::he52e9df88882b9d4
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
+ 2: 0xffffadb7cd78 - std::backtrace::Backtrace::create::hbc9f6b0752a7c221
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/backtrace.rs:331:13
+ 3: 0xffffae76ab24 - as core[838b3e1bdd7b2528]::ops::function::Fn<(&dyn for<'a, 'b> core[838b3e1bdd7b2528]::ops::function::Fn<(&'a core[838b3e1bdd7b2528]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[838b3e1bdd7b2528]::marker::Sync + core[838b3e1bdd7b2528]::marker::Send, &core[838b3e1bdd7b2528]::panic::panic_info::PanicInfo)>>::call
+ 4: 0xffffadb96410 - as core::ops::function::Fn>::call::hf1ccbfb04528fac9
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2029:9
+ 5: 0xffffadb96410 - std::panicking::rust_panic_with_hook::hbca97872facfc88d
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/panicking.rs:785:13
+ 6: 0xffffadb96160 - std::panicking::begin_panic_handler::{{closure}}::h651cba5bb6be54e1
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/panicking.rs:651:13
+ 7: 0xffffadb93960 - std::sys_common::backtrace::__rust_end_short_backtrace::h231c1dfaced37ebc
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/sys_common/backtrace.rs:171:18
+ 8: 0xffffadb95f2c - rust_begin_unwind
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/panicking.rs:647:5
+ 9: 0xffffadb613ec - core::panicking::panic_fmt::hc818833dc02386fb
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/core/src/panicking.rs:72:14
+ 10: 0xffffadb6146c - core::panicking::panic::h6674719cbc283852
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/core/src/panicking.rs:144:5
+ 11: 0xffffadb61378 - core::option::unwrap_failed::he0621fe73dbdbba0
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/core/src/option.rs:1978:5
+ 12: 0xffffb30ac008 - ::def_path_hash_to_def_id
+ 13: 0xffffb345dafc - ::def_path_hash_to_def_id
+ 14: 0xffffb35c26d4 - ::extract_def_id
+ 15: 0xffffb2624cc4 - ::{closure#0} as core[838b3e1bdd7b2528]::ops::function::FnOnce<(rustc_middle[46473b2da0c7b084]::ty::context::TyCtxt, rustc_query_system[76fb595000f686e]::dep_graph::dep_node::DepNode)>>::call_once
+ 16: 0xffffb27fd048 - >::try_mark_previous_green::
+ 17: 0xffffb27fd090 - >::try_mark_previous_green::
+ 18: 0xffffb27fd090 - >::try_mark_previous_green::
+ 19: 0xffffb27fd090 - >::try_mark_previous_green::
+ 20: 0xffffb27fce08 - >::try_mark_green::
+ 21: 0xffffb28993e4 - rustc_query_system[76fb595000f686e]::query::plumbing::try_execute_query::>, rustc_middle[46473b2da0c7b084]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[5822bec21749cdb9]::plumbing::QueryCtxt, true>
+ 22: 0xffffb27c1458 - rustc_query_impl[5822bec21749cdb9]::query_impl::evaluate_obligation::get_query_incr::__rust_end_short_backtrace
+ 23: 0xffffb2bc22bc - ::evaluate_obligation
+ 24: 0xffffb2bc2660 - ::evaluate_obligation_no_overflow
+ 25: 0xffffb2a6d7d4 - ::process_trait_obligation
+ 26: 0xffffb2a6ca0c - ::process_obligation
+ 27: 0xffffb2bc33f0 - >::process_obligations::
+ 28: 0xffffb2a69514 - ::select_where_possible
+ 29: 0xffffb2b4c56c - ::select_all_or_error
+ 30: 0xffffb24ec9b4 - ::commit_if_ok::<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed, rustc_trait_selection[5526cd3ad699b104]::traits::query::type_op::custom::scrape_region_constraints::fully_perform::{closure#0}>::{closure#0}>
+ 31: 0xffffb2508780 - rustc_trait_selection[5526cd3ad699b104]::traits::query::type_op::custom::scrape_region_constraints::::fully_perform::{closure#0}>
+ 32: 0xffffb23d4728 - ::fully_perform
+ 33: 0xffffb23ce8b8 - ::register_obligations
+ 34: 0xffffb2497098 - >::relate_opaques
+ 35: 0xffffb2498c0c - as rustc_middle[46473b2da0c7b084]::ty::relate::TypeRelation>::tys
+ 36: 0xffffb23d80b4 - ::relate_types
+ 37: 0xffffb23dbdc4 - ::typeck_mir
+ 38: 0xffffb23cf338 - rustc_borrowck[fb9f3ed348722c98]::type_check::type_check
+ 39: 0xffffb24101e0 - rustc_borrowck[fb9f3ed348722c98]::nll::compute_regions
+ 40: 0xffffb236889c - rustc_borrowck[fb9f3ed348722c98]::do_mir_borrowck
+ 41: 0xffffb235f9f0 - rustc_borrowck[fb9f3ed348722c98]::mir_borrowck
+ 42: 0xffffb264071c - rustc_query_impl[5822bec21749cdb9]::plumbing::__rust_begin_short_backtrace::>
+ 43: 0xffffb265f8d0 - >::call_once
+ 44: 0xffffb28f85a8 - rustc_query_system[76fb595000f686e]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[5822bec21749cdb9]::plumbing::QueryCtxt, true>
+ 45: 0xffffb284f4d4 - rustc_query_system[76fb595000f686e]::query::plumbing::force_query::>, false, false, false>, rustc_query_impl[5822bec21749cdb9]::plumbing::QueryCtxt>
+ 46: 0xffffb2618418 - ::{closure#0} as core[838b3e1bdd7b2528]::ops::function::FnOnce<(rustc_middle[46473b2da0c7b084]::ty::context::TyCtxt, rustc_query_system[76fb595000f686e]::dep_graph::dep_node::DepNode)>>::call_once
+ 47: 0xffffb27fd048 - >::try_mark_previous_green::
+ 48: 0xffffb27fd090 - >::try_mark_previous_green::
+ 49: 0xffffb27fd090 - >::try_mark_previous_green::
+ 50: 0xffffb27fd090 - >::try_mark_previous_green::
+ 51: 0xffffb27fce08 - >::try_mark_green::
+ 52: 0xffffb28522c0 - rustc_query_system[76fb595000f686e]::query::plumbing::ensure_must_run::>, false, false, false>, rustc_query_impl[5822bec21749cdb9]::plumbing::QueryCtxt>
+ 53: 0xffffb274dcf4 - rustc_query_impl[5822bec21749cdb9]::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
+ 54: 0xffffb1a4cb04 - ::run::, rustc_data_structures[6659498bf83f984f]::sync::parallel::enabled::try_par_for_each_in<&[rustc_hir[28f30fc36fbe2dd]::hir_id::OwnerId], rustc_span[110ecd566fac8533]::ErrorGuaranteed, ::try_par_for_each_module::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
+ 55: 0xffffb19a3344 - rustc_hir_analysis[ffabaf230e32c0df]::check_crate
+ 56: 0xffffae8e51f8 - rustc_interface[c6d09d2df6052683]::passes::analysis
+ 57: 0xffffb2645be8 - rustc_query_impl[5822bec21749cdb9]::plumbing::__rust_begin_short_backtrace::>
+ 58: 0xffffb26dc2e0 - >::call_once
+ 59: 0xffffb2873594 - rustc_query_system[76fb595000f686e]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[5822bec21749cdb9]::plumbing::QueryCtxt, true>
+ 60: 0xffffb2778374 - rustc_query_impl[5822bec21749cdb9]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
+ 61: 0xffffae754e58 - ::enter::>
+ 62: 0xffffae7a0e48 - ::enter::, rustc_span[110ecd566fac8533]::ErrorGuaranteed>>
+ 63: 0xffffae73e34c - rustc_span[110ecd566fac8533]::set_source_map::, rustc_interface[c6d09d2df6052683]::interface::run_compiler, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
+ 64: 0xffffae73f6a4 - rustc_span[110ecd566fac8533]::create_session_globals_then::, rustc_interface[c6d09d2df6052683]::util::run_in_thread_pool_with_globals, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}>
+ 65: 0xffffae77c41c - std[1d40ebb4f03b22f]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>
+ 66: 0xffffae77ea94 - <::spawn_unchecked_, rustc_driver_impl[edadd7b1a6953e1b]::run_compiler::{closure#0}>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[838b3e1bdd7b2528]::result::Result<(), rustc_span[110ecd566fac8533]::ErrorGuaranteed>>::{closure#1} as core[838b3e1bdd7b2528]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
+ 67: 0xffffadb9edec - as core::ops::function::FnOnce>::call_once::h1f7775aec6307416
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2015:9
+ 68: 0xffffadb9edec - as core::ops::function::FnOnce>::call_once::h8daafd2ebd74fb9c
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/alloc/src/boxed.rs:2015:9
+ 69: 0xffffadb9edec - std::sys::pal::unix::thread::Thread::new::thread_start::h48ec715059e6bb79
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/sys/pal/unix/thread.rs:108:17
+ 70: 0xffffad9e38a0 - start_thread
+ 71: 0xffffada4d04c - thread_start
+ 72: 0x0 -
+
+
+rustc version: 1.77.0-nightly (635124704 2024-01-27)
+platform: aarch64-unknown-linux-gnu
+
+query stack during panic:
+#0 [evaluate_obligation] evaluating trait selection obligation `{coroutine witness@axum_login::session::AuthSession::logout::{closure#0}::{closure#0}::{closure#0}}: core::marker::Send`
+#1 [mir_borrowck] borrow-checking `::run_body`
+#2 [analysis] running analysis passes on this crate
+end of query stack
+delayed span bug: {OpaqueTypeKey { def_id: DefId(0:1281 ~ site_app[3e41]::{impl#21}::run_body::{opaque#0}), args: [] }: OpaqueTypeDecl { hidden_type: OpaqueHiddenType { span: crates/site-app/src/lib.rs:101:1: 101:18 (#559), ty: Coroutine(DefId(0:1025 ~ site_app[3e41]::{impl#21}::run_body::{closure#0}), [std::future::ResumeTy, (), std::result::Result<(), leptos::ServerFnError>, CoroutineWitness(DefId(0:1025 ~ site_app[3e41]::{impl#21}::run_body::{closure#0}), []), ()]) } }}
+ 0: std::backtrace_rs::backtrace::libunwind::trace
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
+ 1: std::backtrace_rs::backtrace::trace_unsynchronized
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
+ 2: std::backtrace::Backtrace::create
+ at /rustc/635124704849eeead4e3a7bb6e663c5351571d93/library/std/src/backtrace.rs:331:13
+ 3: ::emit_diagnostic
+ 4: ::emit_diagnostic
+ 5: ::emit_producing_error_guaranteed
+ 6: ::drop
+ 7: core::ptr::drop_in_place::
+ 8: rustc_borrowck::mir_borrowck
+ 9: rustc_query_impl::plumbing::__rust_begin_short_backtrace::>
+ 10: >::call_once
+ 11: rustc_query_system::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
+ 12: rustc_query_system::query::plumbing::force_query::>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
+ 13: ::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_query_system::dep_graph::dep_node::DepNode)>>::call_once
+ 14: >::try_mark_previous_green::
+ 15: >::try_mark_previous_green::
+ 16: >::try_mark_previous_green::
+ 17: >::try_mark_previous_green::
+ 18: >::try_mark_green::
+ 19: rustc_query_system::query::plumbing::ensure_must_run::>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>
+ 20: rustc_query_impl::query_impl::check_mod_type_wf::get_query_incr::__rust_end_short_backtrace
+ 21: ::run::, rustc_data_structures::sync::parallel::enabled::try_par_for_each_in<&[rustc_hir::hir_id::OwnerId], rustc_span::ErrorGuaranteed, ::try_par_for_each_module::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
+ 22: rustc_hir_analysis::check_crate
+ 23: rustc_interface::passes::analysis
+ 24: rustc_query_impl::plumbing::__rust_begin_short_backtrace::>
+ 25: >::call_once
+ 26: rustc_query_system::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
+ 27: rustc_query_impl::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
+ 28: ::enter::>
+ 29: ::enter::, rustc_span::ErrorGuaranteed>>
+ 30: rustc_span::set_source_map::, rustc_interface::interface::run_compiler, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}::{closure#0}>
+ 31: rustc_span::create_session_globals_then::