Module rustc_hir::def

source ·


  • The result of resolving a path before lowering to HIR, with “module” segments resolved and associated item segments deferred to type checking. base_res is the resolution of the resolved part of the path, unresolved_segments is the number of unresolved segments.
  • Just a helper ‒ separate structure for each namespace.


  • What kind of constructor something is.
  • Encodes if a DefKind::Ctor is the constructor of an enum variant or a struct.
  • 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.
  • Resolution for a lifetime appearing in a type.
  • 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”).
  • An attribute that is not a macro; e.g., #[inline] or #[rustfmt::skip].
  • The resolution of a path or export.

Type Aliases§