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.

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.