Skip to main content Module pretty Copy item path Source use std::cell::Cell ; π use std::fmt ; π use std::fmt::Write as _; π use std::iter ; π use std::ops::Deref ; π use std::ops::DerefMut ; π use rustc_abi::ExternAbi ; π use rustc_abi::Size ; π use rustc_apfloat::Float ; π use rustc_apfloat::ieee::Double ; π use rustc_apfloat::ieee::Half ; π use rustc_apfloat::ieee::Quad ; π use rustc_apfloat::ieee::Single ; π use rustc_attr_ir::lang_items::LangItem ; π use rustc_crate_store::ExternCrate ; π use rustc_crate_store::ExternCrateSource ; π use rustc_data_structures::fx::FxIndexMap ; π use rustc_data_structures::fx::IndexEntry ; π use rustc_data_structures::unord::UnordMap ; π use rustc_hir as hir; π use rustc_hir::def ; π use rustc_hir::def::CtorKind ; π use rustc_hir::def::DefKind ; π use rustc_hir::def::Namespace ; π use rustc_hir::def_id::DefIdMap ; π use rustc_hir::def_id::DefIdSet ; π use rustc_hir::def_id::LOCAL_CRATE ; π use rustc_hir::def_id::ModId ; π use rustc_hir::definitions::DefKey ; π use rustc_hir::definitions::DefPathDataName ; π use rustc_macros::Lift ; π use rustc_macros::extension ; π use rustc_span::Ident ; π use rustc_span::RemapPathScopeComponents ; π use rustc_span::Symbol ; π use rustc_span::bug ; π use rustc_span::kw ; π use rustc_span::sym ; π use rustc_structures::Limit ; π use rustc_type_ir::FieldInfo ; π use rustc_type_ir::Unnormalized ; π use rustc_type_ir::Upcast as _; π use rustc_type_ir::elaborate ; π use smallvec::SmallVec ; π use crate::mir::interpret::AllocRange ; π use crate::mir::interpret::GlobalAlloc ; π use crate::mir::interpret::Pointer ; π use crate::mir::interpret::Provenance ; π use crate::mir::interpret::Scalar ; π use crate::query::IntoQueryKey ; π use crate::query::Providers ; π use crate::ty::ConstInt ; π use crate::ty::Expr ; π use crate::ty::GenericArgKind ; π use crate::ty::ParamConst ; π use crate::ty::ScalarInt ; π use crate::ty::Term ; π use crate::ty::TermKind ; π use crate::ty::TraitClause ; π use crate::ty::TypeFoldable ; π use crate::ty::TypeFoldable ; π use crate::ty::TypeSuperFoldable ; π use crate::ty::TypeSuperVisitable ; π use crate::ty::TypeVisitable ; π use crate::ty::TypeVisitable ; π use crate::ty::TypeVisitableExt ; π use super ::*; π define_helper π define_print π define_print_and_forward_display π forward_display_to_print π with_crate_prefix Adds the crate:: prefix to paths where appropriate. with_forced_impl_filename_line 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. with_forced_trimmed_paths with_no_queries Avoids running any queries during prints. with_no_trimmed_paths Prevent path trimming if it is turned on. Path trimming affects Display impl
of various rustc types, for example std::vec::Vec would be trimmed to Vec,
if no other Vec is found. with_no_visible_paths Prevent selection of visible paths. Display impl of DefId will prefer
visible (public) reexports of types as paths. with_no_visible_paths_if_doc_hidden Prevent selection of visible paths if the paths are through a doc hidden path. with_reduced_queries 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. with_resolve_crate_name Adds the crate name prefix to paths where appropriate.
Unlike with_crate_prefix, this unconditionally uses tcx.crate_name instead of sometimes
using crate:: for local items. with_types_for_signature Print types for the purposes of a signature suggestion. with_types_for_suggestion Print types for the purposes of a suggestion. CrateNamePrefixGuard CratePrefixGuard FmtPrinter FmtPrinterData ForceTrimmedGuard ForcedImplGuard NoTrimmedGuard NoVisibleGuard NoVisibleIfDocHiddenGuard OpaqueFnEntry PrintClosureAsImpl ReducedQueriesGuard RegionFolder π Folds through bound vars and placeholders, naming them RegionHighlightMode 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β. RtnModeHelper TraitClausePrintModifiersAndPath TraitClausePrintWithBoundConstness TraitRefPrintOnlyTraitName Wrapper type for ty::TraitRef which opts-in to pretty printing only
the trait name. That is, it will print Trait instead of
<T as Trait<U>>. TraitRefPrintOnlyTraitPath Wrapper type for ty::TraitRef which opts-in to pretty printing only
the trait path. That is, it will print Trait<U> instead of
<T as Trait<U>>. TraitRefPrintSugared Wrapper type for ty::TraitRef which opts-in to pretty printing only
the trait path, and additionally tries to βsugarβ Fn(...) trait bounds. RtnMode Rendering style for RTN types. WrapBinderMode FORCE_IMPL_FILENAME_LINE π FORCE_TRIMMED_PATH π NO_TRIMMED_PATH π NO_VISIBLE_PATH π NO_VISIBLE_PATH_IF_DOC_HIDDEN π REDUCED_QUERIES π RTN_MODE π SHOULD_PREFIX_WITH_CRATE π SHOULD_PREFIX_WITH_CRATE_NAME π PrettyPrinter Trait for printers that pretty-print using fmt::Write to the printer. PrintPolyTraitClauseExt PrintPolyTraitRefExt PrintTraitClauseExt PrintTraitRefExt for_each_def π guess_def_namespace π pretty_print_const π provide trimmed_def_paths 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. with_crate_prefix with_forced_impl_filename_line with_forced_trimmed_paths with_no_trimmed_paths with_no_visible_paths with_no_visible_paths_if_doc_hidden with_reduced_queries with_resolve_crate_name