Skip to content

Commit

Permalink
Replace FixupContext Default impl with associated const
Browse files Browse the repository at this point in the history
  • Loading branch information
dtolnay committed May 18, 2024
1 parent d9f0c81 commit 9fdc163
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 44 deletions.
46 changes: 19 additions & 27 deletions src/expr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3051,7 +3051,7 @@ pub(crate) mod printing {
// if x == (Struct {}) {}
//
if needs_group {
fixup = FixupContext::default();
fixup = FixupContext::NONE;
}
|tokens: &mut TokenStream| print_expr(expr, tokens, fixup)
};
Expand All @@ -3067,7 +3067,7 @@ pub(crate) mod printing {
pub(crate) fn print_expr(expr: &Expr, tokens: &mut TokenStream, mut fixup: FixupContext) {
let needs_group = fixup.would_cause_statement_boundary(expr);
if needs_group {
fixup = FixupContext::default();
fixup = FixupContext::NONE;
}

let do_print_expr = |tokens: &mut TokenStream| match expr {
Expand Down Expand Up @@ -3134,8 +3134,7 @@ pub(crate) mod printing {
#[cfg_attr(doc_cfg, doc(cfg(feature = "printing")))]
impl ToTokens for ExprAssign {
fn to_tokens(&self, tokens: &mut TokenStream) {
let fixup = FixupContext::default();
print_expr_assign(self, tokens, fixup);
print_expr_assign(self, tokens, FixupContext::NONE);
}
}

Expand Down Expand Up @@ -3172,8 +3171,7 @@ pub(crate) mod printing {
#[cfg_attr(doc_cfg, doc(cfg(feature = "printing")))]
impl ToTokens for ExprAwait {
fn to_tokens(&self, tokens: &mut TokenStream) {
let fixup = FixupContext::default();
print_expr_await(self, tokens, fixup);
print_expr_await(self, tokens, FixupContext::NONE);
}
}

Expand All @@ -3197,7 +3195,7 @@ pub(crate) mod printing {
self,
tokens,
#[cfg(feature = "full")]
FixupContext::default(),
FixupContext::NONE,
);
}
}
Expand Down Expand Up @@ -3279,8 +3277,7 @@ pub(crate) mod printing {
#[cfg_attr(doc_cfg, doc(cfg(feature = "printing")))]
impl ToTokens for ExprBreak {
fn to_tokens(&self, tokens: &mut TokenStream) {
let fixup = FixupContext::default();
print_expr_break(self, tokens, fixup);
print_expr_break(self, tokens, FixupContext::NONE);
}
}

Expand All @@ -3301,7 +3298,7 @@ pub(crate) mod printing {
self,
tokens,
#[cfg(feature = "full")]
FixupContext::default(),
FixupContext::NONE,
);
}
}
Expand Down Expand Up @@ -3338,7 +3335,7 @@ pub(crate) mod printing {
self,
tokens,
#[cfg(feature = "full")]
FixupContext::default(),
FixupContext::NONE,
);
}
}
Expand Down Expand Up @@ -3414,7 +3411,7 @@ pub(crate) mod printing {
self,
tokens,
#[cfg(feature = "full")]
FixupContext::default(),
FixupContext::NONE,
);
}
}
Expand Down Expand Up @@ -3509,7 +3506,7 @@ pub(crate) mod printing {
self,
tokens,
#[cfg(feature = "full")]
FixupContext::default(),
FixupContext::NONE,
);
}
}
Expand Down Expand Up @@ -3545,8 +3542,7 @@ pub(crate) mod printing {
#[cfg_attr(doc_cfg, doc(cfg(feature = "printing")))]
impl ToTokens for ExprLet {
fn to_tokens(&self, tokens: &mut TokenStream) {
let fixup = FixupContext::default();
print_expr_let(self, tokens, fixup);
print_expr_let(self, tokens, FixupContext::NONE);
}
}

Expand All @@ -3560,7 +3556,7 @@ pub(crate) mod printing {
&e.expr,
fixup.needs_group_as_let_scrutinee(&e.expr),
tokens,
FixupContext::default(),
FixupContext::NONE,
);
}

Expand Down Expand Up @@ -3626,7 +3622,7 @@ pub(crate) mod printing {
self,
tokens,
#[cfg(feature = "full")]
FixupContext::default(),
FixupContext::NONE,
);
}
}
Expand Down Expand Up @@ -3674,8 +3670,7 @@ pub(crate) mod printing {
#[cfg_attr(doc_cfg, doc(cfg(feature = "printing")))]
impl ToTokens for ExprRange {
fn to_tokens(&self, tokens: &mut TokenStream) {
let fixup = FixupContext::default();
print_expr_range(self, tokens, fixup);
print_expr_range(self, tokens, FixupContext::NONE);
}
}

Expand Down Expand Up @@ -3708,7 +3703,7 @@ pub(crate) mod printing {
self,
tokens,
#[cfg(feature = "full")]
FixupContext::default(),
FixupContext::NONE,
);
}
}
Expand Down Expand Up @@ -3747,8 +3742,7 @@ pub(crate) mod printing {
#[cfg_attr(doc_cfg, doc(cfg(feature = "printing")))]
impl ToTokens for ExprReturn {
fn to_tokens(&self, tokens: &mut TokenStream) {
let fixup = FixupContext::default();
print_expr_return(self, tokens, fixup);
print_expr_return(self, tokens, FixupContext::NONE);
}
}

Expand Down Expand Up @@ -3782,8 +3776,7 @@ pub(crate) mod printing {
#[cfg_attr(doc_cfg, doc(cfg(feature = "printing")))]
impl ToTokens for ExprTry {
fn to_tokens(&self, tokens: &mut TokenStream) {
let fixup = FixupContext::default();
print_expr_try(self, tokens, fixup);
print_expr_try(self, tokens, FixupContext::NONE);
}
}

Expand Down Expand Up @@ -3832,7 +3825,7 @@ pub(crate) mod printing {
self,
tokens,
#[cfg(feature = "full")]
FixupContext::default(),
FixupContext::NONE,
);
}
}
Expand Down Expand Up @@ -3885,8 +3878,7 @@ pub(crate) mod printing {
#[cfg_attr(doc_cfg, doc(cfg(feature = "printing")))]
impl ToTokens for ExprYield {
fn to_tokens(&self, tokens: &mut TokenStream) {
let fixup = FixupContext::default();
print_expr_yield(self, tokens, fixup);
print_expr_yield(self, tokens, FixupContext::NONE);
}
}

Expand Down
30 changes: 13 additions & 17 deletions src/fixup.rs
Original file line number Diff line number Diff line change
Expand Up @@ -87,27 +87,23 @@ pub(crate) struct FixupContext {
parenthesize_exterior_struct_lit: bool,
}

/// The default amount of fixing is minimal fixing. Fixups should be turned on
/// in a targeted fashion where needed.
impl Default for FixupContext {
fn default() -> Self {
FixupContext {
stmt: false,
leftmost_subexpression_in_stmt: false,
match_arm: false,
leftmost_subexpression_in_match_arm: false,
parenthesize_exterior_struct_lit: false,
}
}
}

impl FixupContext {
/// The default amount of fixing is minimal fixing. Fixups should be turned
/// on in a targeted fashion where needed.
pub const NONE: Self = FixupContext {
stmt: false,
leftmost_subexpression_in_stmt: false,
match_arm: false,
leftmost_subexpression_in_match_arm: false,
parenthesize_exterior_struct_lit: false,
};

/// Create the initial fixup for printing an expression in statement
/// position.
pub fn new_stmt() -> Self {
FixupContext {
stmt: true,
..FixupContext::default()
..FixupContext::NONE
}
}

Expand All @@ -116,7 +112,7 @@ impl FixupContext {
pub fn new_match_arm() -> Self {
FixupContext {
match_arm: true,
..FixupContext::default()
..FixupContext::NONE
}
}

Expand All @@ -127,7 +123,7 @@ impl FixupContext {
pub fn new_condition() -> Self {
FixupContext {
parenthesize_exterior_struct_lit: true,
..FixupContext::default()
..FixupContext::NONE
}
}

Expand Down

0 comments on commit 9fdc163

Please sign in to comment.