Fix rustfmt

Co-authored-by: Michael Goulet <michael@errs.io>
This commit is contained in:
mu001999 2026-01-28 22:12:13 +08:00
parent 3572d482a0
commit f0e1c8f416
4 changed files with 31 additions and 9 deletions

View file

@ -319,12 +319,13 @@ impl<'a> FnSig<'a> {
method_sig: &'a ast::FnSig,
generics: &'a ast::Generics,
visibility: &'a ast::Visibility,
defaultness: ast::Defaultness,
) -> FnSig<'a> {
FnSig {
safety: method_sig.header.safety,
coroutine_kind: Cow::Borrowed(&method_sig.header.coroutine_kind),
constness: method_sig.header.constness,
defaultness: ast::Defaultness::Final,
defaultness,
ext: method_sig.header.ext,
decl: &*method_sig.decl,
generics,
@ -339,9 +340,7 @@ impl<'a> FnSig<'a> {
) -> FnSig<'a> {
match *fn_kind {
visit::FnKind::Fn(visit::FnCtxt::Assoc(..), vis, ast::Fn { sig, generics, .. }) => {
let mut fn_sig = FnSig::from_method_sig(sig, generics, vis);
fn_sig.defaultness = defaultness;
fn_sig
FnSig::from_method_sig(sig, generics, vis, defaultness)
}
visit::FnKind::Fn(_, vis, ast::Fn { sig, generics, .. }) => FnSig {
decl,
@ -459,6 +458,7 @@ impl<'a> FmtVisitor<'a> {
sig: &ast::FnSig,
vis: &ast::Visibility,
generics: &ast::Generics,
defaultness: ast::Defaultness,
span: Span,
) -> RewriteResult {
// Drop semicolon or it will be interpreted as comment.
@ -469,7 +469,7 @@ impl<'a> FmtVisitor<'a> {
&context,
indent,
ident,
&FnSig::from_method_sig(sig, generics, vis),
&FnSig::from_method_sig(sig, generics, vis, defaultness),
span,
FnBraceStyle::None,
)?;
@ -3495,7 +3495,7 @@ impl Rewrite for ast::ForeignItem {
context,
shape.indent,
ident,
&FnSig::from_method_sig(sig, generics, &self.vis),
&FnSig::from_method_sig(sig, generics, &self.vis, defaultness),
span,
FnBraceStyle::None,
)

View file

@ -102,8 +102,9 @@ pub(crate) fn format_constness_right(constness: ast::Const) -> &'static str {
#[inline]
pub(crate) fn format_defaultness(defaultness: ast::Defaultness) -> &'static str {
match defaultness {
ast::Defaultness::Implicit => "",
ast::Defaultness::Default(..) => "default ",
ast::Defaultness::Final => "",
ast::Defaultness::Final(..) => "final ",
}
}

View file

@ -583,7 +583,15 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
} else {
let indent = self.block_indent;
let rewrite = self
.rewrite_required_fn(indent, ident, sig, &item.vis, generics, item.span)
.rewrite_required_fn(
indent,
ident,
sig,
&item.vis,
generics,
defaultness,
item.span,
)
.ok();
self.push_rewrite(item.span, rewrite);
}
@ -686,7 +694,15 @@ impl<'b, 'a: 'b> FmtVisitor<'a> {
} else {
let indent = self.block_indent;
let rewrite = self
.rewrite_required_fn(indent, fn_kind.ident, sig, &ai.vis, generics, ai.span)
.rewrite_required_fn(
indent,
fn_kind.ident,
sig,
&ai.vis,
generics,
defaultness,
ai.span,
)
.ok();
self.push_rewrite(ai.span, rewrite);
}

View file

@ -0,0 +1,5 @@
trait Foo {
final fn final_() {}
fn not_final() {}
}