Closed
Description
This bug occurred when using Rocket, and with all its crazy macros I'm not quite sure how to minimize my code. 😅 Hopefully what I've shown will still help somewhat.
Code
#[derive(FromForm)]
struct SteamResult<'r> {
openid: OpenId<'r>
}
#[derive(FromForm)]
struct OpenId<'r> {
// ...
identity: &'r str,
// ...
}
// ...
#[get("/auth?<steam_result..>")]
fn api_auth(steam_result: SteamResult<'static>, cookies: &CookieJar<'_>) -> &'static str {
steam_result.openid.identity
}
Meta
rustc --version --verbose
:
rustc 1.66.0-nightly (758f19645 2022-10-24)
binary: rustc
commit-hash: 758f19645b8ebce61ea52d1f6672fd057bc8dbee
commit-date: 2022-10-24
host: x86_64-pc-windows-msvc
release: 1.66.0-nightly
LLVM version: 15.0.2
Error output
thread 'rustc' panicked at 'index out of bounds: the len is 10 but the index is 48', compiler\rustc_middle\src\mir\mod.rs:455:27
error: internal compiler error: no errors encountered even though `delay_span_bug` issued
error: internal compiler error: `InferCtxt` incorrectly tainted by errors
|
= note: delayed at compiler\rustc_infer\src\infer\mod.rs:1256:27
Backtrace (full)
thread 'rustc' panicked at 'index out of bounds: the len is 10 but the index is 48', compiler\rustc_middle\src\mir\mod.rs:455:27
stack backtrace:
0: 0x7fff0bc59a42 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5779501fce48e852
1: 0x7fff0bc953cb - core::fmt::write::hbb48dc4d168f47f8
2: 0x7fff0bc4c03a - <std::io::IoSlice as core::fmt::Debug>::fmt::hb888ab8b2abd378a
3: 0x7fff0bc5978b - std::sys::common::alloc::realloc_fallback::h0ad29843b461d69c
4: 0x7fff0bc5d0e9 - std::panicking::default_hook::hb2454d715314d32e
5: 0x7fff0bc5cd6a - std::panicking::default_hook::hb2454d715314d32e
6: 0x7ffee690e2fe - rustc_driver[24e7544a396833b6]::describe_lints
7: 0x7fff0bc5da40 - std::panicking::rust_panic_with_hook::hf2b7e211705609b3
8: 0x7fff0bc5d79d - <std::panicking::begin_panic_handler::StrPanicPayload as core::panic::BoxMeUp>::get::h24b0f28eca9e897c
9: 0x7fff0bc5a74f - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5779501fce48e852
10: 0x7fff0bc5d460 - rust_begin_unwind
11: 0x7fff0bccb2e5 - core::panicking::panic_fmt::h1c9cc57277f268a7
12: 0x7fff0bccb457 - core::panicking::panic_bounds_check::h161573fcc7c3c90b
13: 0x7ffee8be60b9 - <rustc_middle[37b948dedc2b15e2]::mir::Body>::stmt_at
14: 0x7ffee5f93172 - <rustc_mir_build[92c1400cabd8a9b]::build::expr::as_place::PlaceBuilder as core[a11597295d76005f]::convert::From<rustc_middle[37b948dedc2b15e2]::mir::Local>>::from
15: 0x7ffee5f82726 - <rustc_mir_build[92c1400cabd8a9b]::build::expr::as_place::PlaceBuilder as core[a11597295d76005f]::convert::From<rustc_middle[37b948dedc2b15e2]::mir::Local>>::from
16: 0x7ffee5f81f78 - <rustc_mir_build[92c1400cabd8a9b]::build::expr::as_place::PlaceBuilder as core[a11597295d76005f]::convert::From<rustc_middle[37b948dedc2b15e2]::mir::Local>>::from
17: 0x7ffee4b43dd8 - <rustc_const_eval[d0cf3916f71e56fd]::transform::check_consts::ops::ty::MutRef as rustc_const_eval[d0cf3916f71e56fd]::transform::check_consts::ops::NonConstOp>::status_in_item
18: 0x7ffee4bc8dd5 - <&[(rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::ExportedSymbol, rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::SymbolExportInfo)] as rustc_serialize[59e931bf5454c2a3]::serialize::Decodable<rustc_query_impl[14b1cc3c
799bd125]::on_disk_cache::CacheDecoder>>::decode
19: 0x7ffee62ce19c - <rustc_span[2833a328f5f547d1]::def_id::DefId as rustc_serialize[59e931bf5454c2a3]::serialize::Encodable<rustc_query_impl[14b1cc3c799bd125]::on_disk_cache::CacheEncoder>>::encode
20: 0x7ffee61e9555 - <rustc_query_impl[14b1cc3c799bd125]::Queries as rustc_middle[37b948dedc2b15e2]::ty::query::QueryEngine>::as_any
21: 0x7ffee5078da4 - once_cell[cbcf79104f761141]::imp::initialize_or_wait
22: 0x7ffee4186b22 - rustc_interface[6f4f7b47aa55ad55]::passes::analysis
23: 0x7ffee4b4567e - <rustc_const_eval[d0cf3916f71e56fd]::transform::check_consts::ops::ty::MutRef as rustc_const_eval[d0cf3916f71e56fd]::transform::check_consts::ops::NonConstOp>::status_in_item
24: 0x7ffee4be95c9 - <&[(rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::ExportedSymbol, rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::SymbolExportInfo)] as rustc_serialize[59e931bf5454c2a3]::serialize::Decodable<rustc_query_impl[14b1cc3c
799bd125]::on_disk_cache::CacheDecoder>>::decode
25: 0x7ffee4cc031e - <&[(rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::ExportedSymbol, rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::SymbolExportInfo)] as rustc_serialize[59e931bf5454c2a3]::serialize::Decodable<rustc_query_impl[14b1cc3c
799bd125]::on_disk_cache::CacheDecoder>>::decode
26: 0x7ffee4d0f916 - <&[(rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::ExportedSymbol, rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::SymbolExportInfo)] as rustc_serialize[59e931bf5454c2a3]::serialize::Decodable<rustc_query_impl[14b1cc3c
799bd125]::on_disk_cache::CacheDecoder>>::decode
27: 0x7ffee412bd44 - <unknown>
28: 0x7ffee413c638 - <rustc_middle[37b948dedc2b15e2]::ty::SymbolName as core[a11597295d76005f]::fmt::Debug>::fmt
29: 0x7ffee413b78d - rustc_driver[24e7544a396833b6]::args::arg_expand_all
30: 0x7ffee412c809 - <unknown>
31: 0x7ffee4123990 - <unknown>
32: 0x7fff0bc6e7fc - std::sys::windows::thread::Thread::new::hd5e01c58a538008b
33: 0x7fff8db97034 - BaseThreadInitThunk
34: 0x7fff8ef426a1 - RtlUserThreadStart
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.66.0-nightly (758f19645 2022-10-24) running on x86_64-pc-windows-msvc
note: compiler flags: --crate-type bin -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 `<impl at src\main.rs:48:1: 48:33>::into_info::monomorphized_function`
#1 [analysis] running analysis passes on this crate
end of query stack
error: internal compiler error: no errors encountered even though `delay_span_bug` issued
error: internal compiler error: `InferCtxt` incorrectly tainted by errors
|
= note: delayed at compiler\rustc_infer\src\infer\mod.rs:1256:27
thread 'rustc' panicked at 'Box<dyn Any>', compiler\rustc_errors\src\lib.rs:1553:13
stack backtrace:
0: 0x7fff0bc59a42 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5779501fce48e852
1: 0x7fff0bc953cb - core::fmt::write::hbb48dc4d168f47f8
2: 0x7fff0bc4c03a - <std::io::IoSlice as core::fmt::Debug>::fmt::hb888ab8b2abd378a
3: 0x7fff0bc5978b - std::sys::common::alloc::realloc_fallback::h0ad29843b461d69c
4: 0x7fff0bc5d0e9 - std::panicking::default_hook::hb2454d715314d32e
5: 0x7fff0bc5cd6a - std::panicking::default_hook::hb2454d715314d32e
6: 0x7ffee690e2fe - rustc_driver[24e7544a396833b6]::describe_lints
7: 0x7fff0bc5da40 - std::panicking::rust_panic_with_hook::hf2b7e211705609b3
8: 0x7ffee8cdf1e3 - <rustc_hir[71d579c5191f9955]::target::Target as rustc_errors[a2af04ddf144f93c]::diagnostic::IntoDiagnosticArg>::into_diagnostic_arg
9: 0x7ffee8cdd9c9 - <rustc_hir[71d579c5191f9955]::target::Target as rustc_errors[a2af04ddf144f93c]::diagnostic::IntoDiagnosticArg>::into_diagnostic_arg
10: 0x7ffee8ccaea9 - <rustc_errors[a2af04ddf144f93c]::emitter::DisplaySuggestion as core[a11597295d76005f]::fmt::Debug>::fmt
11: 0x7ffee8cc3199 - <getopts[4e17e3985736d56d]::Fail as core[a11597295d76005f]::fmt::Debug>::fmt
12: 0x7ffee5009063 - <rustc_errors[a2af04ddf144f93c]::HandlerInner>::emit_diagnostic
13: 0x7ffee50062d2 - <rustc_errors[a2af04ddf144f93c]::HandlerInner as core[a11597295d76005f]::ops::drop::Drop>::drop
14: 0x7ffee4126569 - <unknown>
15: 0x7ffee412868c - <unknown>
16: 0x7ffee414e159 - <rustc_middle[37b948dedc2b15e2]::ty::SymbolName as core[a11597295d76005f]::fmt::Debug>::fmt
17: 0x7ffee413d9c7 - <rustc_middle[37b948dedc2b15e2]::ty::SymbolName as core[a11597295d76005f]::fmt::Debug>::fmt
18: 0x7ffee6892770 - _rust_realloc
19: 0x7ffee6891bc6 - _rust_realloc
20: 0x7ffee688d958 - _rust_realloc
21: 0x7ffee6890f2d - _rust_realloc
22: 0x7ffee688e271 - _rust_realloc
23: 0x7fff8ef9249f - _chkstk
24: 0x7fff8ef20939 - RtlUnwindEx
25: 0x7ffee688de22 - _rust_realloc
26: 0x7ffee688fbd9 - _rust_realloc
27: 0x7ffee688ffef - _rust_realloc
28: 0x7ffee6891029 - _rust_realloc
29: 0x7ffee688e271 - _rust_realloc
30: 0x7fff8ef9241f - _chkstk
31: 0x7fff8ef414a4 - RtlRaiseException
32: 0x7fff8ef411f5 - RtlRaiseException
33: 0x7fff8c92cd29 - RaiseException
34: 0x7fff0bcbe248 - _umodti3
35: 0x7fff0bc73e7e - _rust_start_panic
36: 0x7fff0bc5dc7b - rust_panic
37: 0x7fff0bc5dbff - std::panicking::rust_panic_with_hook::hf2b7e211705609b3
38: 0x7fff0bc51ad9 - std::panic::resume_unwind::hdc708809c30ec1ff
39: 0x7ffee5078f95 - once_cell[cbcf79104f761141]::imp::initialize_or_wait
40: 0x7ffee4186b22 - rustc_interface[6f4f7b47aa55ad55]::passes::analysis
41: 0x7ffee4b4567e - <rustc_const_eval[d0cf3916f71e56fd]::transform::check_consts::ops::ty::MutRef as rustc_const_eval[d0cf3916f71e56fd]::transform::check_consts::ops::NonConstOp>::status_in_item
42: 0x7ffee4be95c9 - <&[(rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::ExportedSymbol, rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::SymbolExportInfo)] as rustc_serialize[59e931bf5454c2a3]::serialize::Decodable<rustc_query_impl[14b1cc3c
799bd125]::on_disk_cache::CacheDecoder>>::decode
43: 0x7ffee4cc031e - <&[(rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::ExportedSymbol, rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::SymbolExportInfo)] as rustc_serialize[59e931bf5454c2a3]::serialize::Decodable<rustc_query_impl[14b1cc3c
799bd125]::on_disk_cache::CacheDecoder>>::decode
44: 0x7ffee4d0f916 - <&[(rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::ExportedSymbol, rustc_middle[37b948dedc2b15e2]::middle::exported_symbols::SymbolExportInfo)] as rustc_serialize[59e931bf5454c2a3]::serialize::Decodable<rustc_query_impl[14b1cc3c
799bd125]::on_disk_cache::CacheDecoder>>::decode
45: 0x7ffee412bd44 - <unknown>
46: 0x7ffee413c638 - <rustc_middle[37b948dedc2b15e2]::ty::SymbolName as core[a11597295d76005f]::fmt::Debug>::fmt
47: 0x7ffee413b78d - rustc_driver[24e7544a396833b6]::args::arg_expand_all
48: 0x7ffee412c809 - <unknown>
49: 0x7ffee4123990 - <unknown>
50: 0x7fff0bc6e7fc - std::sys::windows::thread::Thread::new::hd5e01c58a538008b
51: 0x7fff8db97034 - BaseThreadInitThunk
52: 0x7fff8ef426a1 - RtlUserThreadStart
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.66.0-nightly (758f19645 2022-10-24) running on x86_64-pc-windows-msvc
note: compiler flags: --crate-type bin -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
thread panicked while panicking. aborting.