Skip to main content

Crate rustc_hir_pretty

Crate rustc_hir_pretty 

Source
Expand description

HIR pretty-printing is layered on top of AST pretty-printing. A number of the definitions in this file have equivalents in rustc_ast_pretty.

Re-exportsΒ§

pub(crate) use std::cell::Cell; πŸ”’
pub(crate) use std::vec; πŸ”’
pub(crate) use std::vec; πŸ”’
pub(crate) use rustc_abi::ExternAbi; πŸ”’
pub(crate) use rustc_ast as ast; πŸ”’
pub(crate) use parser; πŸ”’
pub(crate) use ExprPrecedence; πŸ”’
pub(crate) use Fixity; πŸ”’
pub(crate) use DUMMY_NODE_ID; πŸ”’
pub(crate) use DelimArgs; πŸ”’
pub(crate) use Consistent; πŸ”’
pub(crate) use Inconsistent; πŸ”’
pub(crate) use pp; πŸ”’
pub(crate) use BoxMarker; πŸ”’
pub(crate) use Breaks; πŸ”’
pub(crate) use rustc_ast_pretty::pprust::state::MacHeader; πŸ”’
pub(crate) use Comments; πŸ”’
pub(crate) use PrintState; πŸ”’
pub(crate) use AttrArgs; πŸ”’
pub(crate) use AttrItem; πŸ”’
pub(crate) use Attribute; πŸ”’
pub(crate) use AttributeKind; πŸ”’
pub(crate) use PrintAttribute; πŸ”’
pub(crate) use rustc_hir as hir; πŸ”’
pub(crate) use BindingMode; πŸ”’
pub(crate) use ByRef; πŸ”’
pub(crate) use ConstArg; πŸ”’
pub(crate) use ConstArgExprField; πŸ”’
pub(crate) use ConstArgKind; πŸ”’
pub(crate) use GenericArg; πŸ”’
pub(crate) use GenericBound; πŸ”’
pub(crate) use GenericParam; πŸ”’
pub(crate) use GenericParamKind; πŸ”’
pub(crate) use HirId; πŸ”’
pub(crate) use ImplicitSelfKind; πŸ”’
pub(crate) use LifetimeParamKind; πŸ”’
pub(crate) use Node; πŸ”’
pub(crate) use PatKind; πŸ”’
pub(crate) use PreciseCapturingArg; πŸ”’
pub(crate) use RangeEnd; πŸ”’
pub(crate) use Term; πŸ”’
pub(crate) use TyFieldPath; πŸ”’
pub(crate) use TyPatKind; πŸ”’
pub(crate) use rustc_span::source_map::SourceMap; πŸ”’
pub(crate) use DUMMY_SP; πŸ”’
pub(crate) use FileName; πŸ”’
pub(crate) use Ident; πŸ”’
pub(crate) use Span; πŸ”’
pub(crate) use Spanned; πŸ”’
pub(crate) use Symbol; πŸ”’
pub(crate) use kw; πŸ”’
pub(crate) use sym; πŸ”’

StructsΒ§

State

EnumsΒ§

AnnNode
Nested

ConstantsΒ§

INDENT_UNIT πŸ”’

TraitsΒ§

PpAnn

FunctionsΒ§

attribute_to_string
attritem_to_string
contains_exterior_struct_lit πŸ”’
Expressions that syntactically contain an β€œexterior” struct literal, i.e., not surrounded by any parens or other delimiters, e.g., X { y: 1 }, X { y: 1 }.method(), foo == X { y: 1 } and X { y: 1 } == foo all do, but (X { y: 1 }) == foo does not.
expr_requires_semi_to_be_stmt πŸ”’
Does this expression require a semicolon to be treated as a statement? The negation of this: β€˜can this expression be used as a statement without a semicolon’ – is used as an early-bail-out in the parser so that, for instance, if true {…} else {…} |x| 5 isn’t parsed as (if true {…} else {…} | x) | 5
expr_to_string
id_to_string
item_to_string
pat_to_string
print_crate
Requires you to pass an input filename and reader so that it can scan the input text for comments to copy forward.
qpath_to_string
stmt_ends_with_semi πŸ”’
This statement requires a semicolon after it. note that in one case (stmt_semi), we’ve already seen the semicolon, and thus don’t need another.
to_string πŸ”’
ty_to_string