Expand description
Dumps the parents of the annotated item and of any anonymous constants contained within it.
See also opt_parent.
See AttributeKind::RustcDumpDefParents for the internal representation of this attribute.
§Example
ⓘ
//@ dont-require-annotations: ERROR
//@ compile-flags: --crate-type lib -Z ui-testing=no
#![feature(rustc_attrs)]
fn parent() {
#[rustc_dump_def_parents]
fn child() {}
}
struct Struct<const N: usize>;
const CONST: Struct<42> = Struct::<
{
#[rustc_dump_def_parents]
fn baby() {}
42
},
>;produces:
error: rustc_dump_def_parents: DefId(0:4 ~ rustc_dump_def_parents[9c2e]::parent::child)
--> $DIR/rustc_dump_def_parents.rs:8:5
|
8 | fn child() {}
| ^^^^^^^^^^
|
note: DefId(0:3 ~ rustc_dump_def_parents[9c2e]::parent)
--> $DIR/rustc_dump_def_parents.rs:6:1
|
6 | fn parent() {
| ^^^^^^^^^^^
note: DefId(0:0 ~ rustc_dump_def_parents[9c2e])
--> $DIR/rustc_dump_def_parents.rs:4:1
|
4 | / #![feature(rustc_attrs)]
5 | |
6 | | fn parent() {
7 | | #[rustc_dump_def_parents]
... |
19 | | },
20 | | >;
| |__^
error: rustc_dump_def_parents: DefId(0:11 ~ rustc_dump_def_parents[9c2e]::CONST::{constant#1}::baby)
--> $DIR/rustc_dump_def_parents.rs:16:9
|
16 | fn baby() {}
| ^^^^^^^^^
|
note: DefId(0:10 ~ rustc_dump_def_parents[9c2e]::CONST::{constant#1})
--> $DIR/rustc_dump_def_parents.rs:14:5
|
14 | / {
15 | | #[rustc_dump_def_parents]
16 | | fn baby() {}
... |
19 | | },
| |_____^
note: DefId(0:8 ~ rustc_dump_def_parents[9c2e]::CONST)
--> $DIR/rustc_dump_def_parents.rs:13:1
|
13 | const CONST: Struct<42> = Struct::<
| ^^^^^^^^^^^^^^^^^^^^^^^
note: DefId(0:0 ~ rustc_dump_def_parents[9c2e])
--> $DIR/rustc_dump_def_parents.rs:4:1
|
4 | / #![feature(rustc_attrs)]
5 | |
6 | | fn parent() {
7 | | #[rustc_dump_def_parents]
... |
19 | | },
20 | | >;
| |__^
error: aborting due to 2 previous errors