Skip to main content Module def Copy item path Source use std::array::IntoIter ; π use std::borrow::Cow ; π use std::fmt::Debug ; π use std::fmt::Debug ; π use rustc_ast as ast; π use rustc_ast::NodeId ; π use rustc_error_messages::DiagArgValue ; π use rustc_error_messages::IntoDiagArg ; π use rustc_hir_id::HirId ; π use rustc_macros::Decodable ; π use rustc_macros::Encodable ; π use rustc_macros::StableHash ; π use rustc_span::Symbol ; π use rustc_span::def_id::DefId ; π use rustc_span::hygiene::MacroKind ; π use crate as hir; π use crate::definitions::DefPathData ; π MacroKinds A set of macro kinds, for macros that can have more than one kind PerNS Just a helper β separate structure for each namespace. CtorKind What kind of constructor something is. CtorOf Encodes if a DefKind::Ctor is the constructor of an enum variant or a struct. DefKind What kind of definition something is; e.g., mod vs struct.
enum DefPathData may need to be updated if a new variant is added here. Namespace Different kinds of symbols can coexist even if they share the same textual name.
Therefore, they each have a separate universe (known as a βnamespaceβ). NonMacroAttrKind An attribute that is not a macro; e.g., #[inline] or #[rustfmt::skip]. Res The resolution of a path or export.