pub struct Unchecked {
pub name: Name,
pub span: NodeSpan,
pub reported: bool,
}Expand description
A declaration the typer did not type, and which therefore has no IR.
Why is decided in build. Canonicalization recorded it as broken
(canonical::Module::broken), or inference reported an error for it
(Solved::Rejected), and that error is the user’s to fix; or the typer walked past
it: a construct the translation cannot represent
(Solved::Untranslatable), a name the typer’s environment does not hold
(Solved::UnboundName), or a facade declaration with no signature to read. The
second kind is not a mistake in the user’s source and not an error, but a gap in
today’s typer — unless the declaration also holds a hole, whose error stands behind
it. reported is the one distinction carried this far,
so that ERR-8’s warning about a gap is not also given to a declaration the user has
already been shown an error for.
Fields§
§name: Name§span: NodeSpanWhere the declaration was written.
reported: boolWhether an error stands behind this entry: true for a declaration
canonicalization recorded as broken or inference rejected, and for one the typer
walked past whose body holds a hole (a name that did not resolve, with its error
reported or standing in the failure that made the scope incomplete); false for
one the typer walked past with no hole in it.