Closed
Description
auto-reduced (treereduce-rust):
macro_rules! make_1 {
() => {
unused_braces
};
}
fn make_1() {
// ok
let _: A<{ make_1!() }>; // ok
}
original:
//@ check-pass
//@ run-rustfix
#![warn(unused_braces)]
macro_rules! make_1 {
() => (unused_braces)
}
struct A<const N: usize>;
fn make_1() {
let _: A<7> // ok
let _: A<{ 7 }>; //~ WARN unnecessary braces
let _: A<{
let _: A<7>; // ok
let _: A<{ 7 }>; //~ WARN unnecessary braces
let _: A<{ 3 + 5 }>; // ok
let _: A<{make_1!()}>; // ok
}>; // ok
let _: A<{make_1!()}>; // ok
}
Version information
rustc 1.83.0-nightly (0307e401c 2024-09-13)
binary: rustc
commit-hash: 0307e401c26699656ae08e3809e7d272f5c103f4
commit-date: 2024-09-13
host: x86_64-unknown-linux-gnu
release: 1.83.0-nightly
LLVM version: 19.1.0
Command:
/home/matthias/.rustup/toolchains/master/bin/rustc
Program output
error[E0412]: cannot find type `A` in this scope
--> /tmp/icemaker_global_tempdir.20nnTggI11ue/rustc_testrunner_tmpdir_reporting.YvPvHHqLRYEe/mvce.rs:9:12
|
9 | let _: A<{ make_1!() }>; // ok
| ^ not found in this scope
error[E0425]: cannot find value `unused_braces` in this scope
--> /tmp/icemaker_global_tempdir.20nnTggI11ue/rustc_testrunner_tmpdir_reporting.YvPvHHqLRYEe/mvce.rs:3:9
|
3 | unused_braces
| ^^^^^^^^^^^^^ not found in this scope
...
9 | let _: A<{ make_1!() }>; // ok
| --------- in this macro invocation
|
= note: this error originates in the macro `make_1` (in Nightly builds, run with -Z macro-backtrace for more info)
help: you might be missing a const parameter
|
7 | fn make_1<const unused_braces: /* Type */>() {
| +++++++++++++++++++++++++++++++++
thread 'rustc' panicked at compiler/rustc_ast_lowering/src/lib.rs:503:9:
adding a def'n for node-id NodeId(17) and def kind AnonConst but a previous def'n exists: DefKey { parent: Some(DefIndex(4)), disambiguated_data: DisambiguatedDefPathData { data: AnonConst, disambiguator: 0 } }
stack backtrace:
0: 0x792523c73fba - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hfb6d8fb4f154a1fc
1: 0x792524403257 - core::fmt::write::h7808e5e403c5f075
2: 0x792525357af3 - std::io::Write::write_fmt::h538db9e40c2a2888
3: 0x792523c73e12 - std::sys::backtrace::BacktraceLock::print::he7092e8746cba8fb
4: 0x792523c76591 - std::panicking::default_hook::{{closure}}::hb4d26de5c9fcbcdc
5: 0x792523c763c4 - std::panicking::default_hook::h810d992f1f481ea3
6: 0x792522d7715f - std[b0815b464da53495]::panicking::update_hook::<alloc[2565d1873fda1868]::boxed::Box<rustc_driver_impl[8162622be99fcd85]::install_ice_hook::{closure#0}>>::{closure#0}
7: 0x792523c76cb8 - std::panicking::rust_panic_with_hook::h678fb9ba687f252d
8: 0x792523c76a87 - std::panicking::begin_panic_handler::{{closure}}::hdf1255a7653694ee
9: 0x792523c74469 - std::sys::backtrace::__rust_end_short_backtrace::h559381c391964077
10: 0x792523c76754 - rust_begin_unwind
11: 0x792520a94743 - core::panicking::panic_fmt::h3dc6c16be86388a1
12: 0x792525db6c35 - <rustc_ast_lowering[8c3fea5c94799a38]::LoweringContext>::create_def.cold
13: 0x792524ac59a6 - <rustc_ast_lowering[8c3fea5c94799a38]::LoweringContext>::lower_anon_const_to_anon_const
14: 0x792524ac563e - <rustc_ast_lowering[8c3fea5c94799a38]::LoweringContext>::lower_anon_const_to_const_arg_direct
15: 0x792524abb7ee - <rustc_ast_lowering[8c3fea5c94799a38]::LoweringContext>::lower_qpath
16: 0x792524ac7937 - <rustc_ast_lowering[8c3fea5c94799a38]::LoweringContext>::lower_ty_direct
17: 0x792524ad2fc2 - <rustc_ast_lowering[8c3fea5c94799a38]::LoweringContext>::lower_block_noalloc
18: 0x792524a99eec - <rustc_ast_lowering[8c3fea5c94799a38]::LoweringContext>::lower_maybe_coroutine_body
19: 0x792524a8ac06 - <rustc_ast_lowering[8c3fea5c94799a38]::LoweringContext>::lower_item_kind
20: 0x792524a9c833 - <rustc_ast_lowering[8c3fea5c94799a38]::item::ItemLowerer>::lower_node
21: 0x792524a9f57f - rustc_ast_lowering[8c3fea5c94799a38]::lower_to_hir
22: 0x792525308c20 - rustc_query_impl[83f8432e820c675c]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[83f8432e820c675c]::query_impl::hir_crate::dynamic_query::{closure#2}::{closure#0}, rustc_middle[759127956bc2125]::query::erase::Erased<[u8; 8usize]>>
23: 0x792525307b39 - rustc_query_system[6df6dc7cefe5b4ac]::query::plumbing::try_execute_query::<rustc_query_impl[83f8432e820c675c]::DynamicConfig<rustc_query_system[6df6dc7cefe5b4ac]::query::caches::SingleCache<rustc_middle[759127956bc2125]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[83f8432e820c675c]::plumbing::QueryCtxt, false>
24: 0x79252530775e - rustc_query_impl[83f8432e820c675c]::query_impl::hir_crate::get_query_non_incr::__rust_end_short_backtrace
25: 0x792524616985 - rustc_query_impl[83f8432e820c675c]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[83f8432e820c675c]::query_impl::hir_attrs::dynamic_query::{closure#2}::{closure#0}, rustc_middle[759127956bc2125]::query::erase::Erased<[u8; 8usize]>>
26: 0x792524615f22 - rustc_query_system[6df6dc7cefe5b4ac]::query::plumbing::try_execute_query::<rustc_query_impl[83f8432e820c675c]::DynamicConfig<rustc_query_system[6df6dc7cefe5b4ac]::query::caches::VecCache<rustc_hir[26e18d3688e9fba1]::hir_id::OwnerId, rustc_middle[759127956bc2125]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[83f8432e820c675c]::plumbing::QueryCtxt, false>
27: 0x792524615c8f - rustc_query_impl[83f8432e820c675c]::query_impl::hir_attrs::get_query_non_incr::__rust_end_short_backtrace
28: 0x7925246c3502 - <rustc_middle[759127956bc2125]::hir::map::Map>::attrs
29: 0x79252531cf01 - rustc_passes[507916cbcf1ee5a8]::entry::entry_fn
30: 0x79252531ce98 - rustc_query_impl[83f8432e820c675c]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[83f8432e820c675c]::query_impl::entry_fn::dynamic_query::{closure#2}::{closure#0}, rustc_middle[759127956bc2125]::query::erase::Erased<[u8; 12usize]>>
31: 0x79252531ce75 - <rustc_query_impl[83f8432e820c675c]::query_impl::entry_fn::dynamic_query::{closure#2} as core[ead5fa394faa3a31]::ops::function::FnOnce<(rustc_middle[759127956bc2125]::ty::context::TyCtxt, ())>>::call_once
32: 0x79252531c809 - rustc_query_system[6df6dc7cefe5b4ac]::query::plumbing::try_execute_query::<rustc_query_impl[83f8432e820c675c]::DynamicConfig<rustc_query_system[6df6dc7cefe5b4ac]::query::caches::SingleCache<rustc_middle[759127956bc2125]::query::erase::Erased<[u8; 12usize]>>, false, false, false>, rustc_query_impl[83f8432e820c675c]::plumbing::QueryCtxt, false>
33: 0x79252531c5a9 - rustc_query_impl[83f8432e820c675c]::query_impl::entry_fn::get_query_non_incr::__rust_end_short_backtrace
34: 0x792524ca4983 - rustc_interface[c4b0133a9ab33d3c]::passes::run_required_analyses
35: 0x79252518a09e - rustc_interface[c4b0133a9ab33d3c]::passes::analysis
36: 0x79252518a071 - rustc_query_impl[83f8432e820c675c]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[83f8432e820c675c]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[759127956bc2125]::query::erase::Erased<[u8; 1usize]>>
37: 0x79252530556e - rustc_query_system[6df6dc7cefe5b4ac]::query::plumbing::try_execute_query::<rustc_query_impl[83f8432e820c675c]::DynamicConfig<rustc_query_system[6df6dc7cefe5b4ac]::query::caches::SingleCache<rustc_middle[759127956bc2125]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[83f8432e820c675c]::plumbing::QueryCtxt, false>
38: 0x7925253052cf - rustc_query_impl[83f8432e820c675c]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
39: 0x79252517bffc - rustc_interface[c4b0133a9ab33d3c]::interface::run_compiler::<core[ead5fa394faa3a31]::result::Result<(), rustc_span[6d3b9e60beb0a608]::ErrorGuaranteed>, rustc_driver_impl[8162622be99fcd85]::run_compiler::{closure#0}>::{closure#1}
40: 0x79252526a710 - std[b0815b464da53495]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[c4b0133a9ab33d3c]::util::run_in_thread_with_globals<rustc_interface[c4b0133a9ab33d3c]::util::run_in_thread_pool_with_globals<rustc_interface[c4b0133a9ab33d3c]::interface::run_compiler<core[ead5fa394faa3a31]::result::Result<(), rustc_span[6d3b9e60beb0a608]::ErrorGuaranteed>, rustc_driver_impl[8162622be99fcd85]::run_compiler::{closure#0}>::{closure#1}, core[ead5fa394faa3a31]::result::Result<(), rustc_span[6d3b9e60beb0a608]::ErrorGuaranteed>>::{closure#0}, core[ead5fa394faa3a31]::result::Result<(), rustc_span[6d3b9e60beb0a608]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[ead5fa394faa3a31]::result::Result<(), rustc_span[6d3b9e60beb0a608]::ErrorGuaranteed>>
41: 0x79252526ad7a - <<std[b0815b464da53495]::thread::Builder>::spawn_unchecked_<rustc_interface[c4b0133a9ab33d3c]::util::run_in_thread_with_globals<rustc_interface[c4b0133a9ab33d3c]::util::run_in_thread_pool_with_globals<rustc_interface[c4b0133a9ab33d3c]::interface::run_compiler<core[ead5fa394faa3a31]::result::Result<(), rustc_span[6d3b9e60beb0a608]::ErrorGuaranteed>, rustc_driver_impl[8162622be99fcd85]::run_compiler::{closure#0}>::{closure#1}, core[ead5fa394faa3a31]::result::Result<(), rustc_span[6d3b9e60beb0a608]::ErrorGuaranteed>>::{closure#0}, core[ead5fa394faa3a31]::result::Result<(), rustc_span[6d3b9e60beb0a608]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[ead5fa394faa3a31]::result::Result<(), rustc_span[6d3b9e60beb0a608]::ErrorGuaranteed>>::{closure#1} as core[ead5fa394faa3a31]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
42: 0x79252526b16b - std::sys::pal::unix::thread::Thread::new::thread_start::h5b72917264317154
43: 0x79252694f39d - <unknown>
44: 0x7925269d449c - <unknown>
45: 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: please make sure that you have updated to the latest nightly
note: rustc 1.83.0-nightly (0307e401c 2024-09-13) running on x86_64-unknown-linux-gnu
query stack during panic:
#0 [hir_crate] getting the crate HIR
#1 [hir_attrs] getting HIR owner attributes in ``
end of query stack
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0412, E0425.
For more information about an error, try `rustc --explain E0412`.