pub struct TargetDefines {
pub macros: BTreeSet<String>,
pub records: BTreeSet<String>,
pub types: BTreeSet<(TypeName, Arity)>,
pub complete: bool,
pub stdlib_unread: bool,
pub macro_attributes: bool,
}Expand description
Macros, records, and types defined in the target version of
source_path or a header it transitively includes. complete is
false when a first-party include could not be resolved or read: a
definition might hide in the header we missed. A skipped stdlib
header is tracked separately, since which sets it can hide differs
by axis.
Fields§
§macros: BTreeSet<String>§records: BTreeSet<String>§types: BTreeSet<(TypeName, Arity)>§complete: bool§stdlib_unread: boolA stdlib include_lib was skipped: it is outside the repo, so
it cannot be read. It can hide a macro or a record, so those
axes must treat it as incomplete. It cannot practically hide a
type a first-party module then re-exports, since a module can
only export a type declared in its own text.
macro_attributes: boolA macro-expanded attribute form in the closure: any attribute-derived set here may be missing what it expands to.
Implementations§
Source§impl TargetDefines
impl TargetDefines
Sourcepub fn defines_complete(&self) -> bool
pub fn defines_complete(&self) -> bool
Macros and records can hide in any unread header, stdlib or not.