Skip to content

thread 'rustc' panicked at 'region variables should not be hashed: '_#4r' #107616

Closed
@chordtoll

Description

@chordtoll

Code

use std::io::Read;

use serde::de::DeserializeOwned;
use serde::{Deserialize, Serialize};

pub fn deserialize_from_wire<T: DeserializeOwned, R: Read>(mut recv: R) -> anyhow::Result<(T, R)> {
    todo!()
}

pub fn app<T: Read>(io: &mut T) -> Result<FuseRequest, u8> {
    let res: FuseRequest = deserialize_from_wire(io).unwrap().0;
    Ok(res)
}

#[derive(Debug, Serialize, Deserialize)]
pub enum FuseRequest {}

Dependencies:

  • serde = { version = "1.0", features = ["derive"] }

Meta

rustc --version --verbose:

rustc 1.67.0 (fc594f156 2023-01-24)
binary: rustc
commit-hash: fc594f15669680fa70d255faec3ca3fb507c3405
commit-date: 2023-01-24
host: x86_64-unknown-linux-gnu
release: 1.67.0
LLVM version: 15.0.6

(also present in rustc 1.68.0-beta.2 (10b73bf73 2023-02-01) and rustc 1.69.0-nightly (11d96b593 2023-02-01)

Error output

warning: unreachable expression
  --> soupfs-network/src/lib.rs:12:8
   |
11 |     let res: FuseRequest = deserialize_from_wire(io).unwrap().0;
   |                            ---------------------------------- any code following this expression is unreachable
12 |     Ok(res)
   |        ^^^ unreachable expression
   |
note: this expression has type `(FuseRequest, &mut T)`, which is uninhabited
  --> soupfs-network/src/lib.rs:11:28
   |
11 |     let res: FuseRequest = deserialize_from_wire(io).unwrap().0;
   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: `#[warn(unreachable_code)]` on by default

warning: unused variable: `res`
  --> soupfs-network/src/lib.rs:11:9
   |
11 |     let res: FuseRequest = deserialize_from_wire(io).unwrap().0;
   |         ^^^ help: if this is intentional, prefix it with an underscore: `_res`
   |
   = note: `#[warn(unused_variables)]` on by default

thread 'rustc' panicked at 'region variables should not be hashed: '_#4r', /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/compiler/rustc_type_ir/src/sty.rs:1176:17
stack backtrace:
   0:     0x7f25e05676fa - std::backtrace_rs::backtrace::libunwind::trace::h34aec3ef6cd8ad7e
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f25e05676fa - std::backtrace_rs::backtrace::trace_unsynchronized::h8035d38698d0f7a8
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f25e05676fa - std::sys_common::backtrace::_print_fmt::hff968f6695a1ba22
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f25e05676fa - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h7eea0efe77acf1ec
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f25e05ca25e - core::fmt::write::hc553f17407eb0b48
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/fmt/mod.rs:1208:17
   5:     0x7f25e0557a85 - std::io::Write::write_fmt::h62e5f01a089f48c0
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/io/mod.rs:1682:15
   6:     0x7f25e05674c5 - std::sys_common::backtrace::_print::h52d116aff3db4cd1
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7f25e05674c5 - std::sys_common::backtrace::print::h9e7d2f98fb7af075
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7f25e056a20f - std::panicking::default_hook::{{closure}}::hf74999dab2d0a95c
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:267:22
   9:     0x7f25e0569f4b - std::panicking::default_hook::hc11ca7d10c44c42f
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:286:9
  10:     0x7f25e386ac31 - rustc_driver[faf1f11f94aaf6ff]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7f25e056aa4d - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha7dbb2d260f78172
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/alloc/src/boxed.rs:2032:9
  12:     0x7f25e056aa4d - std::panicking::rust_panic_with_hook::hdb4da1ae79c845a5
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:692:13
  13:     0x7f25e056a7c9 - std::panicking::begin_panic_handler::{{closure}}::h02b5b35b126d5cf2
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:579:13
  14:     0x7f25e0567bac - std::sys_common::backtrace::__rust_end_short_backtrace::h6c6853376cf416d1
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:137:18
  15:     0x7f25e056a4d2 - rust_begin_unwind
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:575:5
  16:     0x7f25e05c6c43 - core::panicking::panic_fmt::hfd9e949092070b66
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/panicking.rs:64:14
  17:     0x7f25e212212f - <rustc_data_structures[7e2dc299a6484f3b]::intern::Interned<rustc_type_ir[2e8cf0e36bf06de0]::sty::RegionKind<rustc_middle[bcb6873cde329d56]::ty::context::TyCtxt>> as rustc_data_structures[7e2dc299a6484f3b]::stable_hasher::HashStable<rustc_query_system[daa376e8a1534a67]::ich::hcx::StableHashingContext>>::hash_stable
  18:     0x7f25e1bb3f2b - <rustc_type_ir[2e8cf0e36bf06de0]::ty_info::WithCachedTypeInfo<rustc_type_ir[2e8cf0e36bf06de0]::sty::TyKind<rustc_middle[bcb6873cde329d56]::ty::context::TyCtxt>> as rustc_data_structures[7e2dc299a6484f3b]::stable_hasher::HashStable<rustc_query_system[daa376e8a1534a67]::ich::hcx::StableHashingContext>>::hash_stable
  19:     0x7f25e20432a0 - <&rustc_middle[bcb6873cde329d56]::ty::list::List<rustc_middle[bcb6873cde329d56]::ty::Ty> as rustc_data_structures[7e2dc299a6484f3b]::stable_hasher::HashStable<rustc_query_system[daa376e8a1534a67]::ich::hcx::StableHashingContext>>::hash_stable
  20:     0x7f25e1bb4053 - <rustc_type_ir[2e8cf0e36bf06de0]::ty_info::WithCachedTypeInfo<rustc_type_ir[2e8cf0e36bf06de0]::sty::TyKind<rustc_middle[bcb6873cde329d56]::ty::context::TyCtxt>> as rustc_data_structures[7e2dc299a6484f3b]::stable_hasher::HashStable<rustc_query_system[daa376e8a1534a67]::ich::hcx::StableHashingContext>>::hash_stable
  21:     0x7f25e2206f6b - <rustc_query_system[daa376e8a1534a67]::dep_graph::dep_node::DepNode<rustc_middle[bcb6873cde329d56]::dep_graph::dep_node::DepKind>>::construct::<rustc_middle[bcb6873cde329d56]::ty::context::TyCtxt, rustc_middle[bcb6873cde329d56]::ty::Ty>
  22:     0x7f25e2205fe0 - rustc_query_system[daa376e8a1534a67]::query::plumbing::try_execute_query::<rustc_query_impl[7ca4c504d4b53a14]::plumbing::QueryCtxt, rustc_query_system[daa376e8a1534a67]::query::caches::DefaultCache<rustc_middle[bcb6873cde329d56]::ty::Ty, rustc_middle[bcb6873cde329d56]::ty::inhabitedness::inhabited_predicate::InhabitedPredicate>>
  23:     0x7f25e1f16e87 - <rustc_middle[bcb6873cde329d56]::ty::Ty>::is_privately_uninhabited
  24:     0x7f25e26f9a63 - <rustc_borrowck[dcfa3144f53dc2a2]::type_check::TypeChecker>::typeck_mir
  25:     0x7f25e267d633 - rustc_borrowck[dcfa3144f53dc2a2]::type_check::type_check
  26:     0x7f25e26541e5 - rustc_borrowck[dcfa3144f53dc2a2]::nll::compute_regions
  27:     0x7f25e2631e4b - rustc_borrowck[dcfa3144f53dc2a2]::do_mir_borrowck
  28:     0x7f25e262dc79 - rustc_borrowck[dcfa3144f53dc2a2]::mir_borrowck
  29:     0x7f25e262d155 - <rustc_borrowck[dcfa3144f53dc2a2]::provide::{closure#0} as core[e12cfea94acfcb96]::ops::function::FnOnce<(rustc_middle[bcb6873cde329d56]::ty::context::TyCtxt, rustc_span[5737ed96bfbdbd37]::def_id::LocalDefId)>>::call_once
  30:     0x7f25e29274dc - <rustc_query_system[daa376e8a1534a67]::dep_graph::graph::DepGraph<rustc_middle[bcb6873cde329d56]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[bcb6873cde329d56]::ty::context::TyCtxt, rustc_span[5737ed96bfbdbd37]::def_id::LocalDefId, &rustc_middle[bcb6873cde329d56]::mir::query::BorrowCheckResult>
  31:     0x7f25e29261ec - rustc_query_system[daa376e8a1534a67]::query::plumbing::try_execute_query::<rustc_query_impl[7ca4c504d4b53a14]::plumbing::QueryCtxt, rustc_query_system[daa376e8a1534a67]::query::caches::VecCache<rustc_span[5737ed96bfbdbd37]::def_id::LocalDefId, &rustc_middle[bcb6873cde329d56]::mir::query::BorrowCheckResult>>
  32:     0x7f25e1d64958 - rustc_data_structures[7e2dc299a6484f3b]::sync::par_for_each_in::<&[rustc_span[5737ed96bfbdbd37]::def_id::LocalDefId], <rustc_middle[bcb6873cde329d56]::hir::map::Map>::par_body_owners<rustc_interface[1d25fa3620f328b6]::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  33:     0x7f25e1d643a3 - <rustc_session[d01ee0491e5e5048]::session::Session>::time::<(), rustc_interface[1d25fa3620f328b6]::passes::analysis::{closure#2}>
  34:     0x7f25e1d62227 - rustc_interface[1d25fa3620f328b6]::passes::analysis
  35:     0x7f25e3020ccf - <rustc_query_system[daa376e8a1534a67]::dep_graph::graph::DepGraph<rustc_middle[bcb6873cde329d56]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[bcb6873cde329d56]::ty::context::TyCtxt, (), core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>>
  36:     0x7f25e301fdc7 - rustc_query_system[daa376e8a1534a67]::query::plumbing::try_execute_query::<rustc_query_impl[7ca4c504d4b53a14]::plumbing::QueryCtxt, rustc_query_system[daa376e8a1534a67]::query::caches::DefaultCache<(), core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>>>
  37:     0x7f25e301f820 - rustc_query_system[daa376e8a1534a67]::query::plumbing::get_query::<rustc_query_impl[7ca4c504d4b53a14]::queries::analysis, rustc_query_impl[7ca4c504d4b53a14]::plumbing::QueryCtxt>
  38:     0x7f25e2a259a3 - <rustc_interface[1d25fa3620f328b6]::passes::QueryContext>::enter::<rustc_driver[faf1f11f94aaf6ff]::run_compiler::{closure#1}::{closure#2}::{closure#2}, core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>>
  39:     0x7f25e2a21f23 - <rustc_interface[1d25fa3620f328b6]::interface::Compiler>::enter::<rustc_driver[faf1f11f94aaf6ff]::run_compiler::{closure#1}::{closure#2}, core[e12cfea94acfcb96]::result::Result<core[e12cfea94acfcb96]::option::Option<rustc_interface[1d25fa3620f328b6]::queries::Linker>, rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>>
  40:     0x7f25e2a1cf78 - rustc_span[5737ed96bfbdbd37]::with_source_map::<core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>, rustc_interface[1d25fa3620f328b6]::interface::run_compiler<core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>, rustc_driver[faf1f11f94aaf6ff]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  41:     0x7f25e2a1ca65 - <scoped_tls[85a67c9db469d989]::ScopedKey<rustc_span[5737ed96bfbdbd37]::SessionGlobals>>::set::<rustc_interface[1d25fa3620f328b6]::interface::run_compiler<core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>, rustc_driver[faf1f11f94aaf6ff]::run_compiler::{closure#1}>::{closure#0}, core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>>
  42:     0x7f25e2a1c052 - std[3da7f01c8c2aa3e3]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[1d25fa3620f328b6]::util::run_in_thread_pool_with_globals<rustc_interface[1d25fa3620f328b6]::interface::run_compiler<core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>, rustc_driver[faf1f11f94aaf6ff]::run_compiler::{closure#1}>::{closure#0}, core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>>
  43:     0x7f25e3120bea - <<std[3da7f01c8c2aa3e3]::thread::Builder>::spawn_unchecked_<rustc_interface[1d25fa3620f328b6]::util::run_in_thread_pool_with_globals<rustc_interface[1d25fa3620f328b6]::interface::run_compiler<core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>, rustc_driver[faf1f11f94aaf6ff]::run_compiler::{closure#1}>::{closure#0}, core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e12cfea94acfcb96]::result::Result<(), rustc_errors[1b8cd632e3edc426]::ErrorGuaranteed>>::{closure#1} as core[e12cfea94acfcb96]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  44:     0x7f25e0574803 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha93239d92e7b610d
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/alloc/src/boxed.rs:2000:9
  45:     0x7f25e0574803 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hebda57b0236de612
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/alloc/src/boxed.rs:2000:9
  46:     0x7f25e0574803 - std::sys::unix::thread::Thread::new::thread_start::h1541b4390bbc26ca
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys/unix/thread.rs:108:17
  47:     0x7f25e02d58fd - <unknown>
  48:     0x7f25e0357d20 - <unknown>
  49:                0x0 - <unknown>

error: internal compiler error: unexpected panic

note: 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.67.0 (fc594f156 2023-01-24) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C panic=abort -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_borrowck] borrow-checking `app`
#1 [analysis] running analysis passes on this crate
end of query stack

Metadata

Metadata

Labels

C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions