Macrosยง
- define_
helper ๐ - define_
print ๐ - define_
scoped_ ๐cx - p ๐
- Adds the
crate::
prefix to paths where appropriate. - Force us to name impls with just the filename/line number. We normally try to use types. But at some points, notably while printing cycle errors, this can result in extra or suboptimal error output, so this variable disables that check.
- Avoids running any queries during prints.
- Prevent path trimming if it is turned on. Path trimming affects
Display
impl of various rustc types, for examplestd::vec::Vec
would be trimmed toVec
, if no otherVec
is found. - Prevent selection of visible paths.
Display
impl of DefId will prefer visible (public) reexports of types as paths. - Avoids running select queries during any prints that occur during the closure. This may alter the appearance of some types (e.g. forcing verbose printing for opaque types). This method is used during some queries (e.g.
explicit_item_bounds
for opaque types), to ensure that any debug printing that occurs during the query computation does not end up recursively calling the same query.
Structsยง
- Region
Folder ๐Folds through bound vars and placeholders, naming them - The โregion highlightsโ are used to control region printing during specific error messages. When a โregion highlightโ is enabled, it gives an alternate way to print specific regions. For now, we always print those regions using a number, so something like โ
'0
โ. - Wrapper type for
ty::TraitRef
which opts-in to pretty printing only the trait name. That is, it will printTrait
instead of<T as Trait<U>>
. - Wrapper type for
ty::TraitRef
which opts-in to pretty printing only the trait path. That is, it will printTrait<U>
instead of<T as Trait<U>>
. - Wrapper type for
ty::TraitRef
which opts-in to pretty printing only the trait path, and additionally tries to โsugarโFn(...)
trait bounds.
Constantsยง
- FORC
E_ ๐TRIMME D_ PATH - NO_
TRIMME ๐D_ PATH - NO_
VISIBL ๐E_ PATH - REDUCE
D_ ๐QUERIES
Traitsยง
- Trait for printers that pretty-print using
fmt::Write
to the printer.
Functionsยง
- for_
each_ ๐def - guess_
def_ ๐namespace - pretty_
print_ ๐const - The purpose of this function is to collect public symbols names that are unique across all crates in the build. Later, when printing about types we can use those names instead of the full exported path to them.