summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_hir_pretty
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_hir_pretty')
-rw-r--r--compiler/rustc_hir_pretty/Cargo.toml8
-rw-r--r--compiler/rustc_hir_pretty/src/lib.rs212
2 files changed, 90 insertions, 130 deletions
diff --git a/compiler/rustc_hir_pretty/Cargo.toml b/compiler/rustc_hir_pretty/Cargo.toml
index 1ea7be1ae..aacf41b6e 100644
--- a/compiler/rustc_hir_pretty/Cargo.toml
+++ b/compiler/rustc_hir_pretty/Cargo.toml
@@ -3,11 +3,11 @@ name = "rustc_hir_pretty"
version = "0.0.0"
edition = "2021"
-[lib]
-
[dependencies]
+# tidy-alphabetical-start
+rustc_ast = { path = "../rustc_ast" }
rustc_ast_pretty = { path = "../rustc_ast_pretty" }
rustc_hir = { path = "../rustc_hir" }
-rustc_target = { path = "../rustc_target" }
rustc_span = { path = "../rustc_span" }
-rustc_ast = { path = "../rustc_ast" }
+rustc_target = { path = "../rustc_target" }
+# tidy-alphabetical-end
diff --git a/compiler/rustc_hir_pretty/src/lib.rs b/compiler/rustc_hir_pretty/src/lib.rs
index 8587b009f..5f82d9f06 100644
--- a/compiler/rustc_hir_pretty/src/lib.rs
+++ b/compiler/rustc_hir_pretty/src/lib.rs
@@ -52,8 +52,6 @@ pub struct NoAnn;
impl PpAnn for NoAnn {}
pub const NO_ANN: &dyn PpAnn = &NoAnn;
-/// Identical to the `PpAnn` implementation for `hir::Crate`,
-/// except it avoids creating a dependency on the whole crate.
impl PpAnn for &dyn rustc_hir::intravisit::Map<'_> {
fn nested(&self, state: &mut State<'_>, nested: Nested) {
match nested {
@@ -75,7 +73,11 @@ pub struct State<'a> {
}
impl<'a> State<'a> {
- pub fn print_node(&mut self, node: Node<'_>) {
+ fn attrs(&self, id: hir::HirId) -> &'a [ast::Attribute] {
+ (self.attrs)(id)
+ }
+
+ fn print_node(&mut self, node: Node<'_>) {
match node {
Node::Param(a) => self.print_param(a),
Node::Item(a) => self.print_item(a),
@@ -144,7 +146,7 @@ impl<'a> PrintState<'a> for State<'a> {
}
}
-pub const INDENT_UNIT: isize = 4;
+const INDENT_UNIT: isize = 4;
/// Requires you to pass an input filename and reader so that
/// it can scan the input text for comments to copy forward.
@@ -156,7 +158,12 @@ pub fn print_crate<'a>(
attrs: &'a dyn Fn(hir::HirId) -> &'a [ast::Attribute],
ann: &'a dyn PpAnn,
) -> String {
- let mut s = State::new_from_input(sm, filename, input, attrs, ann);
+ let mut s = State {
+ s: pp::Printer::new(),
+ comments: Some(Comments::new(sm, filename, input)),
+ attrs,
+ ann,
+ };
// When printing the AST, we sometimes need to inject `#[no_std]` here.
// Since you can't compile the HIR, it's not necessary.
@@ -166,28 +173,7 @@ pub fn print_crate<'a>(
s.s.eof()
}
-impl<'a> State<'a> {
- pub fn new_from_input(
- sm: &'a SourceMap,
- filename: FileName,
- input: String,
- attrs: &'a dyn Fn(hir::HirId) -> &'a [ast::Attribute],
- ann: &'a dyn PpAnn,
- ) -> State<'a> {
- State {
- s: pp::Printer::new(),
- comments: Some(Comments::new(sm, filename, input)),
- attrs,
- ann,
- }
- }
-
- fn attrs(&self, id: hir::HirId) -> &'a [ast::Attribute] {
- (self.attrs)(id)
- }
-}
-
-pub fn to_string<F>(ann: &dyn PpAnn, f: F) -> String
+fn to_string<F>(ann: &dyn PpAnn, f: F) -> String
where
F: FnOnce(&mut State<'_>),
{
@@ -196,52 +182,20 @@ where
printer.s.eof()
}
-pub fn generic_params_to_string(generic_params: &[GenericParam<'_>]) -> String {
- to_string(NO_ANN, |s| s.print_generic_params(generic_params))
-}
-
-pub fn bounds_to_string<'b>(bounds: impl IntoIterator<Item = &'b hir::GenericBound<'b>>) -> String {
- to_string(NO_ANN, |s| s.print_bounds("", bounds))
-}
-
pub fn ty_to_string(ty: &hir::Ty<'_>) -> String {
to_string(NO_ANN, |s| s.print_type(ty))
}
-pub fn path_segment_to_string(segment: &hir::PathSegment<'_>) -> String {
- to_string(NO_ANN, |s| s.print_path_segment(segment))
-}
-
-pub fn path_to_string(segment: &hir::Path<'_>) -> String {
- to_string(NO_ANN, |s| s.print_path(segment, false))
-}
-
pub fn qpath_to_string(segment: &hir::QPath<'_>) -> String {
to_string(NO_ANN, |s| s.print_qpath(segment, false))
}
-pub fn fn_to_string(
- decl: &hir::FnDecl<'_>,
- header: hir::FnHeader,
- name: Option<Symbol>,
- generics: &hir::Generics<'_>,
- arg_names: &[Ident],
- body_id: Option<hir::BodyId>,
-) -> String {
- to_string(NO_ANN, |s| s.print_fn(decl, header, name, generics, arg_names, body_id))
-}
-
-pub fn enum_def_to_string(
- enum_definition: &hir::EnumDef<'_>,
- generics: &hir::Generics<'_>,
- name: Symbol,
- span: rustc_span::Span,
-) -> String {
- to_string(NO_ANN, |s| s.print_enum_def(enum_definition, generics, name, span))
+pub fn pat_to_string(pat: &hir::Pat<'_>) -> String {
+ to_string(NO_ANN, |s| s.print_pat(pat))
}
impl<'a> State<'a> {
- pub fn bclose_maybe_open(&mut self, span: rustc_span::Span, close_box: bool) {
+ fn bclose_maybe_open(&mut self, span: rustc_span::Span, close_box: bool) {
self.maybe_print_comment(span.hi());
self.break_offset_if_not_bol(1, -INDENT_UNIT);
self.word("}");
@@ -250,11 +204,11 @@ impl<'a> State<'a> {
}
}
- pub fn bclose(&mut self, span: rustc_span::Span) {
+ fn bclose(&mut self, span: rustc_span::Span) {
self.bclose_maybe_open(span, true)
}
- pub fn commasep_cmnt<T, F, G>(&mut self, b: Breaks, elts: &[T], mut op: F, mut get_span: G)
+ fn commasep_cmnt<T, F, G>(&mut self, b: Breaks, elts: &[T], mut op: F, mut get_span: G)
where
F: FnMut(&mut State<'_>, &T),
G: FnMut(&T) -> rustc_span::Span,
@@ -275,25 +229,25 @@ impl<'a> State<'a> {
self.end();
}
- pub fn commasep_exprs(&mut self, b: Breaks, exprs: &[hir::Expr<'_>]) {
+ fn commasep_exprs(&mut self, b: Breaks, exprs: &[hir::Expr<'_>]) {
self.commasep_cmnt(b, exprs, |s, e| s.print_expr(e), |e| e.span);
}
- pub fn print_mod(&mut self, _mod: &hir::Mod<'_>, attrs: &[ast::Attribute]) {
+ fn print_mod(&mut self, _mod: &hir::Mod<'_>, attrs: &[ast::Attribute]) {
self.print_inner_attributes(attrs);
for &item_id in _mod.item_ids {
self.ann.nested(self, Nested::Item(item_id));
}
}
- pub fn print_opt_lifetime(&mut self, lifetime: &hir::Lifetime) {
+ fn print_opt_lifetime(&mut self, lifetime: &hir::Lifetime) {
if !lifetime.is_elided() {
self.print_lifetime(lifetime);
self.nbsp();
}
}
- pub fn print_type(&mut self, ty: &hir::Ty<'_>) {
+ fn print_type(&mut self, ty: &hir::Ty<'_>) {
self.maybe_print_comment(ty.span.lo());
self.ibox(0);
match ty.kind {
@@ -371,7 +325,7 @@ impl<'a> State<'a> {
self.end()
}
- pub fn print_foreign_item(&mut self, item: &hir::ForeignItem<'_>) {
+ fn print_foreign_item(&mut self, item: &hir::ForeignItem<'_>) {
self.hardbreak_if_not_bol();
self.maybe_print_comment(item.span.lo());
self.print_outer_attributes(self.attrs(item.hir_id()));
@@ -478,8 +432,7 @@ impl<'a> State<'a> {
self.end(); // end the outer ibox
}
- /// Pretty-print an item
- pub fn print_item(&mut self, item: &hir::Item<'_>) {
+ fn print_item(&mut self, item: &hir::Item<'_>) {
self.hardbreak_if_not_bol();
self.maybe_print_comment(item.span.lo());
let attrs = self.attrs(item.hir_id());
@@ -549,13 +502,13 @@ impl<'a> State<'a> {
self.word(";");
self.end(); // end the outer cbox
}
- hir::ItemKind::Fn(ref sig, param_names, body) => {
+ hir::ItemKind::Fn(ref sig, generics, body) => {
self.head("");
self.print_fn(
sig.decl,
sig.header,
Some(item.ident.name),
- param_names,
+ generics,
&[],
Some(body),
);
@@ -704,7 +657,7 @@ impl<'a> State<'a> {
self.ann.post(self, AnnNode::Item(item))
}
- pub fn print_trait_ref(&mut self, t: &hir::TraitRef<'_>) {
+ fn print_trait_ref(&mut self, t: &hir::TraitRef<'_>) {
self.print_path(t.path, false);
}
@@ -721,7 +674,7 @@ impl<'a> State<'a> {
self.print_trait_ref(&t.trait_ref);
}
- pub fn print_enum_def(
+ fn print_enum_def(
&mut self,
enum_definition: &hir::EnumDef<'_>,
generics: &hir::Generics<'_>,
@@ -736,7 +689,7 @@ impl<'a> State<'a> {
self.print_variants(enum_definition.variants, span);
}
- pub fn print_variants(&mut self, variants: &[hir::Variant<'_>], span: rustc_span::Span) {
+ fn print_variants(&mut self, variants: &[hir::Variant<'_>], span: rustc_span::Span) {
self.bopen();
for v in variants {
self.space_if_not_bol();
@@ -751,14 +704,14 @@ impl<'a> State<'a> {
self.bclose(span)
}
- pub fn print_defaultness(&mut self, defaultness: hir::Defaultness) {
+ fn print_defaultness(&mut self, defaultness: hir::Defaultness) {
match defaultness {
hir::Defaultness::Default { .. } => self.word_nbsp("default"),
hir::Defaultness::Final => (),
}
}
- pub fn print_struct(
+ fn print_struct(
&mut self,
struct_def: &hir::VariantData<'_>,
generics: &hir::Generics<'_>,
@@ -807,7 +760,7 @@ impl<'a> State<'a> {
}
}
- pub fn print_variant(&mut self, v: &hir::Variant<'_>) {
+ fn print_variant(&mut self, v: &hir::Variant<'_>) {
self.head("");
let generics = hir::Generics::empty();
self.print_struct(&v.data, generics, v.ident.name, v.span, false);
@@ -817,7 +770,8 @@ impl<'a> State<'a> {
self.print_anon_const(d);
}
}
- pub fn print_method_sig(
+
+ fn print_method_sig(
&mut self,
ident: Ident,
m: &hir::FnSig<'_>,
@@ -828,7 +782,7 @@ impl<'a> State<'a> {
self.print_fn(m.decl, m.header, Some(ident.name), generics, arg_names, body_id);
}
- pub fn print_trait_item(&mut self, ti: &hir::TraitItem<'_>) {
+ fn print_trait_item(&mut self, ti: &hir::TraitItem<'_>) {
self.ann.pre(self, AnnNode::SubItem(ti.hir_id()));
self.hardbreak_if_not_bol();
self.maybe_print_comment(ti.span.lo());
@@ -856,7 +810,7 @@ impl<'a> State<'a> {
self.ann.post(self, AnnNode::SubItem(ti.hir_id()))
}
- pub fn print_impl_item(&mut self, ii: &hir::ImplItem<'_>) {
+ fn print_impl_item(&mut self, ii: &hir::ImplItem<'_>) {
self.ann.pre(self, AnnNode::SubItem(ii.hir_id()));
self.hardbreak_if_not_bol();
self.maybe_print_comment(ii.span.lo());
@@ -881,7 +835,7 @@ impl<'a> State<'a> {
self.ann.post(self, AnnNode::SubItem(ii.hir_id()))
}
- pub fn print_local(
+ fn print_local(
&mut self,
init: Option<&hir::Expr<'_>>,
els: Option<&hir::Block<'_>>,
@@ -914,7 +868,7 @@ impl<'a> State<'a> {
self.end()
}
- pub fn print_stmt(&mut self, st: &hir::Stmt<'_>) {
+ fn print_stmt(&mut self, st: &hir::Stmt<'_>) {
self.maybe_print_comment(st.span.lo());
match st.kind {
hir::StmtKind::Local(loc) => {
@@ -937,19 +891,19 @@ impl<'a> State<'a> {
self.maybe_print_trailing_comment(st.span, None)
}
- pub fn print_block(&mut self, blk: &hir::Block<'_>) {
+ fn print_block(&mut self, blk: &hir::Block<'_>) {
self.print_block_with_attrs(blk, &[])
}
- pub fn print_block_unclosed(&mut self, blk: &hir::Block<'_>) {
+ fn print_block_unclosed(&mut self, blk: &hir::Block<'_>) {
self.print_block_maybe_unclosed(blk, &[], false)
}
- pub fn print_block_with_attrs(&mut self, blk: &hir::Block<'_>, attrs: &[ast::Attribute]) {
+ fn print_block_with_attrs(&mut self, blk: &hir::Block<'_>, attrs: &[ast::Attribute]) {
self.print_block_maybe_unclosed(blk, attrs, true)
}
- pub fn print_block_maybe_unclosed(
+ fn print_block_maybe_unclosed(
&mut self,
blk: &hir::Block<'_>,
attrs: &[ast::Attribute],
@@ -1005,7 +959,7 @@ impl<'a> State<'a> {
}
}
- pub fn print_if(
+ fn print_if(
&mut self,
test: &hir::Expr<'_>,
blk: &hir::Expr<'_>,
@@ -1018,14 +972,14 @@ impl<'a> State<'a> {
self.print_else(elseopt)
}
- pub fn print_array_length(&mut self, len: &hir::ArrayLen) {
+ fn print_array_length(&mut self, len: &hir::ArrayLen) {
match len {
hir::ArrayLen::Infer(_, _) => self.word("_"),
hir::ArrayLen::Body(ct) => self.print_anon_const(ct),
}
}
- pub fn print_anon_const(&mut self, constant: &hir::AnonConst) {
+ fn print_anon_const(&mut self, constant: &hir::AnonConst) {
self.ann.nested(self, Nested::Body(constant.body))
}
@@ -1041,7 +995,7 @@ impl<'a> State<'a> {
/// Prints an expr using syntax that's acceptable in a condition position, such as the `cond` in
/// `if cond { ... }`.
- pub fn print_expr_as_cond(&mut self, expr: &hir::Expr<'_>) {
+ fn print_expr_as_cond(&mut self, expr: &hir::Expr<'_>) {
self.print_expr_cond_paren(expr, Self::cond_needs_par(expr))
}
@@ -1360,7 +1314,7 @@ impl<'a> State<'a> {
self.pclose();
}
- pub fn print_expr(&mut self, expr: &hir::Expr<'_>) {
+ fn print_expr(&mut self, expr: &hir::Expr<'_>) {
self.maybe_print_comment(expr.span.lo());
self.print_outer_attributes(self.attrs(expr.hir_id));
self.ibox(INDENT_UNIT);
@@ -1593,7 +1547,7 @@ impl<'a> State<'a> {
self.end()
}
- pub fn print_local_decl(&mut self, loc: &hir::Local<'_>) {
+ fn print_local_decl(&mut self, loc: &hir::Local<'_>) {
self.print_pat(loc.pat);
if let Some(ty) = loc.ty {
self.word_space(":");
@@ -1601,11 +1555,11 @@ impl<'a> State<'a> {
}
}
- pub fn print_name(&mut self, name: Symbol) {
+ fn print_name(&mut self, name: Symbol) {
self.print_ident(Ident::with_dummy_span(name))
}
- pub fn print_path<R>(&mut self, path: &hir::Path<'_, R>, colons_before_params: bool) {
+ fn print_path<R>(&mut self, path: &hir::Path<'_, R>, colons_before_params: bool) {
self.maybe_print_comment(path.span.lo());
for (i, segment) in path.segments.iter().enumerate() {
@@ -1619,14 +1573,14 @@ impl<'a> State<'a> {
}
}
- pub fn print_path_segment(&mut self, segment: &hir::PathSegment<'_>) {
+ fn print_path_segment(&mut self, segment: &hir::PathSegment<'_>) {
if segment.ident.name != kw::PathRoot {
self.print_ident(segment.ident);
self.print_generic_args(segment.args(), false);
}
}
- pub fn print_qpath(&mut self, qpath: &hir::QPath<'_>, colons_before_params: bool) {
+ fn print_qpath(&mut self, qpath: &hir::QPath<'_>, colons_before_params: bool) {
match *qpath {
hir::QPath::Resolved(None, path) => self.print_path(path, colons_before_params),
hir::QPath::Resolved(Some(qself), path) => {
@@ -1743,7 +1697,7 @@ impl<'a> State<'a> {
}
}
- pub fn print_type_binding(&mut self, binding: &hir::TypeBinding<'_>) {
+ fn print_type_binding(&mut self, binding: &hir::TypeBinding<'_>) {
self.print_ident(binding.ident);
self.print_generic_args(binding.gen_args, false);
self.space();
@@ -1761,7 +1715,7 @@ impl<'a> State<'a> {
}
}
- pub fn print_pat(&mut self, pat: &hir::Pat<'_>) {
+ fn print_pat(&mut self, pat: &hir::Pat<'_>) {
self.maybe_print_comment(pat.span.lo());
self.ann.pre(self, AnnNode::Pat(pat));
// Pat isn't normalized, but the beauty of it
@@ -1905,7 +1859,7 @@ impl<'a> State<'a> {
self.ann.post(self, AnnNode::Pat(pat))
}
- pub fn print_patfield(&mut self, field: &hir::PatField<'_>) {
+ fn print_patfield(&mut self, field: &hir::PatField<'_>) {
if self.attrs(field.hir_id).is_empty() {
self.space();
}
@@ -1919,12 +1873,12 @@ impl<'a> State<'a> {
self.end();
}
- pub fn print_param(&mut self, arg: &hir::Param<'_>) {
+ fn print_param(&mut self, arg: &hir::Param<'_>) {
self.print_outer_attributes(self.attrs(arg.hir_id));
self.print_pat(arg.pat);
}
- pub fn print_arm(&mut self, arm: &hir::Arm<'_>) {
+ fn print_arm(&mut self, arm: &hir::Arm<'_>) {
// I have no idea why this check is necessary, but here it
// is :(
if self.attrs(arm.hir_id).is_empty() {
@@ -1976,7 +1930,7 @@ impl<'a> State<'a> {
self.end() // close enclosing cbox
}
- pub fn print_fn(
+ fn print_fn(
&mut self,
decl: &hir::FnDecl<'_>,
header: hir::FnHeader,
@@ -1994,11 +1948,10 @@ impl<'a> State<'a> {
self.print_generic_params(generics.params);
self.popen();
- let mut i = 0;
// Make sure we aren't supplied *both* `arg_names` and `body_id`.
assert!(arg_names.is_empty() || body_id.is_none());
- self.commasep(Inconsistent, decl.inputs, |s, ty| {
- s.ibox(INDENT_UNIT);
+ let mut i = 0;
+ let mut print_arg = |s: &mut Self| {
if let Some(arg_name) = arg_names.get(i) {
s.word(arg_name.to_string());
s.word(":");
@@ -2009,11 +1962,17 @@ impl<'a> State<'a> {
s.space();
}
i += 1;
+ };
+ self.commasep(Inconsistent, decl.inputs, |s, ty| {
+ s.ibox(INDENT_UNIT);
+ print_arg(s);
s.print_type(ty);
- s.end()
+ s.end();
});
if decl.c_variadic {
- self.word(", ...");
+ self.word(", ");
+ print_arg(self);
+ self.word("...");
}
self.pclose();
@@ -2056,14 +2015,14 @@ impl<'a> State<'a> {
}
}
- pub fn print_capture_clause(&mut self, capture_clause: hir::CaptureBy) {
+ fn print_capture_clause(&mut self, capture_clause: hir::CaptureBy) {
match capture_clause {
- hir::CaptureBy::Value => self.word_space("move"),
+ hir::CaptureBy::Value { .. } => self.word_space("move"),
hir::CaptureBy::Ref => {}
}
}
- pub fn print_closure_binder(
+ fn print_closure_binder(
&mut self,
binder: hir::ClosureBinder,
generic_params: &[GenericParam<'_>],
@@ -2083,7 +2042,8 @@ impl<'a> State<'a> {
match binder {
hir::ClosureBinder::Default => {}
- // we need to distinguish `|...| {}` from `for<> |...| {}` as `for<>` adds additional restrictions
+ // We need to distinguish `|...| {}` from `for<> |...| {}` as `for<>` adds additional
+ // restrictions.
hir::ClosureBinder::For { .. } if generic_params.is_empty() => self.word("for<>"),
hir::ClosureBinder::For { .. } => {
self.word("for");
@@ -2099,7 +2059,7 @@ impl<'a> State<'a> {
}
}
- pub fn print_bounds<'b>(
+ fn print_bounds<'b>(
&mut self,
prefix: &'static str,
bounds: impl IntoIterator<Item = &'b hir::GenericBound<'b>>,
@@ -2137,7 +2097,7 @@ impl<'a> State<'a> {
}
}
- pub fn print_generic_params(&mut self, generic_params: &[GenericParam<'_>]) {
+ fn print_generic_params(&mut self, generic_params: &[GenericParam<'_>]) {
if !generic_params.is_empty() {
self.word("<");
@@ -2147,7 +2107,7 @@ impl<'a> State<'a> {
}
}
- pub fn print_generic_param(&mut self, param: &GenericParam<'_>) {
+ fn print_generic_param(&mut self, param: &GenericParam<'_>) {
if let GenericParamKind::Const { .. } = param.kind {
self.word_space("const");
}
@@ -2175,11 +2135,11 @@ impl<'a> State<'a> {
}
}
- pub fn print_lifetime(&mut self, lifetime: &hir::Lifetime) {
+ fn print_lifetime(&mut self, lifetime: &hir::Lifetime) {
self.print_ident(lifetime.ident)
}
- pub fn print_where_clause(&mut self, generics: &hir::Generics<'_>) {
+ fn print_where_clause(&mut self, generics: &hir::Generics<'_>) {
if generics.predicates.is_empty() {
return;
}
@@ -2236,7 +2196,7 @@ impl<'a> State<'a> {
}
}
- pub fn print_mutability(&mut self, mutbl: hir::Mutability, print_const: bool) {
+ fn print_mutability(&mut self, mutbl: hir::Mutability, print_const: bool) {
match mutbl {
hir::Mutability::Mut => self.word_nbsp("mut"),
hir::Mutability::Not => {
@@ -2247,12 +2207,12 @@ impl<'a> State<'a> {
}
}
- pub fn print_mt(&mut self, mt: &hir::MutTy<'_>, print_const: bool) {
+ fn print_mt(&mut self, mt: &hir::MutTy<'_>, print_const: bool) {
self.print_mutability(mt.mutbl, print_const);
self.print_type(mt.ty);
}
- pub fn print_fn_output(&mut self, decl: &hir::FnDecl<'_>) {
+ fn print_fn_output(&mut self, decl: &hir::FnDecl<'_>) {
if let hir::FnRetTy::DefaultReturn(..) = decl.output {
return;
}
@@ -2271,7 +2231,7 @@ impl<'a> State<'a> {
}
}
- pub fn print_ty_fn(
+ fn print_ty_fn(
&mut self,
abi: Abi,
unsafety: hir::Unsafety,
@@ -2299,7 +2259,7 @@ impl<'a> State<'a> {
self.end();
}
- pub fn print_fn_header_info(&mut self, header: hir::FnHeader) {
+ fn print_fn_header_info(&mut self, header: hir::FnHeader) {
self.print_constness(header.constness);
match header.asyncness {
@@ -2317,21 +2277,21 @@ impl<'a> State<'a> {
self.word("fn")
}
- pub fn print_constness(&mut self, s: hir::Constness) {
+ fn print_constness(&mut self, s: hir::Constness) {
match s {
hir::Constness::NotConst => {}
hir::Constness::Const => self.word_nbsp("const"),
}
}
- pub fn print_unsafety(&mut self, s: hir::Unsafety) {
+ fn print_unsafety(&mut self, s: hir::Unsafety) {
match s {
hir::Unsafety::Normal => {}
hir::Unsafety::Unsafe => self.word_nbsp("unsafe"),
}
}
- pub fn print_is_auto(&mut self, s: hir::IsAuto) {
+ fn print_is_auto(&mut self, s: hir::IsAuto) {
match s {
hir::IsAuto::Yes => self.word_nbsp("auto"),
hir::IsAuto::No => {}