Closed
Description
auto-reduced (treereduce-rust):
fn main() {
unsafe {
dealloc(ptr2, Layout::(x: !)(1, 1));
}
}
original:
//@error-in-other-file: /deallocation .* tag does not exist in the borrow stack/
use VecDeque::alloc::{alloc, dealloc, Layout};
fn main() {
unsafe {
let x = alloc(Layout::from_size_align_unchecked(1, 1));
let ptr1 = (&mut *x) as *mut u8;
let ptr2 = (&mut *ptr1) as *mut u8;
// Invalidate ptr2 by writing to ptr1.
ptr1.write(0);
// Deallocate through ptr2.
dealloc(ptr2, Layout::(x: !)(1, 1));
}
}
Version information
rustc 1.78.0-nightly (6554a5645 2024-03-11)
binary: rustc
commit-hash: 6554a5645a13e4d9331fd028960d69be91d7492d
commit-date: 2024-03-11
host: x86_64-unknown-linux-gnu
release: 1.78.0-nightly
LLVM version: 18.1.0
Command:
/home/matthias/.rustup/toolchains/master/bin/rustc
Program output
error: internal compiler error: the following error was constructed but not emitted
error: expected one of `!`, `)`, `,`, `.`, `::`, `?`, `{`, or an operator, found `:`
--> /tmp/icemaker_global_tempdir.zlQSc6l4KgTO/rustc_testrunner_tmpdir_reporting.iH9w1iUnjMbI/mvce.rs:12:33
|
12 | dealloc(ptr2, Layout::(x: !)(1, 1));
| ^ expected one of 8 possible tokens
thread 'rustc' panicked at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/compiler/rustc_errors/src/diagnostic.rs:1374:17:
error was constructed but not emitted
stack backtrace:
0: 0x7fdc6df8c6a2 - std::backtrace_rs::backtrace::libunwind::trace::h04b4f3bbfa4a768d
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
1: 0x7fdc6df8c6a2 - std::backtrace_rs::backtrace::trace_unsynchronized::hf6a64781360b5b60
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7fdc6df8c6a2 - std::sys_common::backtrace::_print_fmt::hb80301e31516867e
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/sys_common/backtrace.rs:68:5
3: 0x7fdc6df8c6a2 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h4c0b2165bb9f00fd
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/sys_common/backtrace.rs:44:22
4: 0x7fdc6dfdd68c - core::fmt::rt::Argument::fmt::h1fd94ac4335d4c2e
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/core/src/fmt/rt.rs:142:9
5: 0x7fdc6dfdd68c - core::fmt::write::h36d27d5348ad7082
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/core/src/fmt/mod.rs:1153:17
6: 0x7fdc6df811af - std::io::Write::write_fmt::he05c57f4b5f640b1
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/io/mod.rs:1843:15
7: 0x7fdc6df8c474 - std::sys_common::backtrace::_print::hc63a51f316909c44
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/sys_common/backtrace.rs:47:5
8: 0x7fdc6df8c474 - std::sys_common::backtrace::print::he28e541aa794d67b
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/sys_common/backtrace.rs:34:9
9: 0x7fdc6df8f17b - std::panicking::default_hook::{{closure}}::hf3b65de4f65db9fa
10: 0x7fdc6df8eed3 - std::panicking::default_hook::h01529c8b2c069046
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/panicking.rs:292:9
11: 0x7fdc70e71ae7 - std[631fd172171eed31]::panicking::update_hook::<alloc[c9b7c2961447b50b]::boxed::Box<rustc_driver_impl[5e8d5879b2085a20]::install_ice_hook::{closure#0}>>::{closure#0}
12: 0x7fdc6df8f8e0 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hf9fa03e4c8034cc3
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/alloc/src/boxed.rs:2034:9
13: 0x7fdc6df8f8e0 - std::panicking::rust_panic_with_hook::h53fe45788d16e6e3
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/panicking.rs:783:13
14: 0x7fdc6df8f5e9 - std::panicking::begin_panic_handler::{{closure}}::h40a0338a3263f597
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/panicking.rs:649:13
15: 0x7fdc6df8cb76 - std::sys_common::backtrace::__rust_end_short_backtrace::ha3f91ae072ccea19
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/sys_common/backtrace.rs:171:18
16: 0x7fdc6df8f354 - rust_begin_unwind
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/panicking.rs:645:5
17: 0x7fdc6dfd9ba5 - core::panicking::panic_fmt::h17d2d30dafa85036
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/core/src/panicking.rs:72:14
18: 0x7fdc6f4d7661 - core[f426184f278e30da]::ptr::drop_in_place::<rustc_errors[e20c07c7ad670ae1]::diagnostic::Diag>
19: 0x7fdc7153c028 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::recover_fn_call_leading_path_sep
20: 0x7fdc72486810 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_path_segments
21: 0x7fdc7248fc3e - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_expr_dot_or_call
22: 0x7fdc7248a92a - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_expr_prefix
23: 0x7fdc6f472b4b - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_expr_assoc_with
24: 0x7fdc728ca811 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_delim_comma_seq::<rustc_ast[dc3545ae43aa9a83]::ptr::P<rustc_ast[dc3545ae43aa9a83]::ast::Expr>, <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_expr_paren_seq::{closure#0}>
25: 0x7fdc728e855c - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_stmt_without_recovery
26: 0x7fdc728e6491 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_full_stmt
27: 0x7fdc72de4c17 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_block_common
28: 0x7fdc72de21e4 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_expr_block
29: 0x7fdc72494aa8 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_expr_dot_or_call
30: 0x7fdc7248a92a - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_expr_prefix
31: 0x7fdc6f472b4b - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_expr_assoc_with
32: 0x7fdc728e90b8 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_stmt_without_recovery
33: 0x7fdc728e5062 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_block_tail
34: 0x7fdc728e119b - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_fn
35: 0x7fdc72bc28d0 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_item_kind
36: 0x7fdc72522d48 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_item_common
37: 0x7fdc72520779 - <rustc_parse[db6be81d6c038e49]::parser::Parser>::parse_mod
38: 0x7fdc731e730e - rustc_interface[bae53d512d67c20f]::passes::parse
39: 0x7fdc731e7113 - <rustc_interface[bae53d512d67c20f]::queries::Queries>::parse
40: 0x7fdc731d91f8 - rustc_interface[bae53d512d67c20f]::interface::run_compiler::<core[f426184f278e30da]::result::Result<(), rustc_span[49d1d936f5fb4509]::ErrorGuaranteed>, rustc_driver_impl[5e8d5879b2085a20]::run_compiler::{closure#0}>::{closure#0}
41: 0x7fdc732202c5 - std[631fd172171eed31]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[bae53d512d67c20f]::util::run_in_thread_with_globals<rustc_interface[bae53d512d67c20f]::util::run_in_thread_pool_with_globals<rustc_interface[bae53d512d67c20f]::interface::run_compiler<core[f426184f278e30da]::result::Result<(), rustc_span[49d1d936f5fb4509]::ErrorGuaranteed>, rustc_driver_impl[5e8d5879b2085a20]::run_compiler::{closure#0}>::{closure#0}, core[f426184f278e30da]::result::Result<(), rustc_span[49d1d936f5fb4509]::ErrorGuaranteed>>::{closure#0}, core[f426184f278e30da]::result::Result<(), rustc_span[49d1d936f5fb4509]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[f426184f278e30da]::result::Result<(), rustc_span[49d1d936f5fb4509]::ErrorGuaranteed>>
42: 0x7fdc732200f2 - <<std[631fd172171eed31]::thread::Builder>::spawn_unchecked_<rustc_interface[bae53d512d67c20f]::util::run_in_thread_with_globals<rustc_interface[bae53d512d67c20f]::util::run_in_thread_pool_with_globals<rustc_interface[bae53d512d67c20f]::interface::run_compiler<core[f426184f278e30da]::result::Result<(), rustc_span[49d1d936f5fb4509]::ErrorGuaranteed>, rustc_driver_impl[5e8d5879b2085a20]::run_compiler::{closure#0}>::{closure#0}, core[f426184f278e30da]::result::Result<(), rustc_span[49d1d936f5fb4509]::ErrorGuaranteed>>::{closure#0}, core[f426184f278e30da]::result::Result<(), rustc_span[49d1d936f5fb4509]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[f426184f278e30da]::result::Result<(), rustc_span[49d1d936f5fb4509]::ErrorGuaranteed>>::{closure#1} as core[f426184f278e30da]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
43: 0x7fdc6df990b5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h0835e6cae003a67b
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/alloc/src/boxed.rs:2020:9
44: 0x7fdc6df990b5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf296cba46eb34679
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/alloc/src/boxed.rs:2020:9
45: 0x7fdc6df990b5 - std::sys::pal::unix::thread::Thread::new::thread_start::h4796031db2384a5e
at /rustc/6554a5645a13e4d9331fd028960d69be91d7492d/library/std/src/sys/pal/unix/thread.rs:108:17
46: 0x7fdc6dd8055a - <unknown>
47: 0x7fdc6ddfda3c - <unknown>
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.78.0-nightly (6554a5645 2024-03-11) running on x86_64-unknown-linux-gnu
query stack during panic:
end of query stack
error: aborting due to 2 previous errors