mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-04 19:29:07 +00:00
Make sure we don't lose default struct value when formatting struct
This commit is contained in:
parent
b22856d192
commit
68c46e13a2
@ -1944,6 +1944,11 @@ pub(crate) fn rewrite_struct_field(
|
||||
shape: Shape,
|
||||
lhs_max_width: usize,
|
||||
) -> RewriteResult {
|
||||
// FIXME(default_field_values): Implement formatting.
|
||||
if field.default.is_some() {
|
||||
return Err(RewriteError::Unknown);
|
||||
}
|
||||
|
||||
if contains_skip(&field.attrs) {
|
||||
return Ok(context.snippet(field.span()).to_owned());
|
||||
}
|
||||
|
@ -144,6 +144,7 @@ impl Spanned for ast::GenericParam {
|
||||
|
||||
impl Spanned for ast::FieldDef {
|
||||
fn span(&self) -> Span {
|
||||
// FIXME(default_field_values): This needs to be adjusted.
|
||||
span_with_attrs_lo_hi!(self, self.span.lo(), self.ty.span.hi())
|
||||
}
|
||||
}
|
||||
|
18
src/tools/rustfmt/tests/source/default-field-values.rs
Normal file
18
src/tools/rustfmt/tests/source/default-field-values.rs
Normal file
@ -0,0 +1,18 @@
|
||||
#![feature(default_struct_values)]
|
||||
|
||||
// Test for now that nightly default field values are left alone for now.
|
||||
|
||||
struct Foo {
|
||||
default_field: Spacing = /* uwu */ 0,
|
||||
}
|
||||
|
||||
struct Foo2 {
|
||||
#[rustfmt::skip]
|
||||
default_field: Spacing = /* uwu */ 0,
|
||||
}
|
||||
|
||||
a_macro!(
|
||||
struct Foo2 {
|
||||
default_field: Spacing = /* uwu */ 0,
|
||||
}
|
||||
);
|
18
src/tools/rustfmt/tests/target/default-field-values.rs
Normal file
18
src/tools/rustfmt/tests/target/default-field-values.rs
Normal file
@ -0,0 +1,18 @@
|
||||
#![feature(default_struct_values)]
|
||||
|
||||
// Test for now that nightly default field values are left alone for now.
|
||||
|
||||
struct Foo {
|
||||
default_field: Spacing = /* uwu */ 0,
|
||||
}
|
||||
|
||||
struct Foo2 {
|
||||
#[rustfmt::skip]
|
||||
default_field: Spacing = /* uwu */ 0,
|
||||
}
|
||||
|
||||
a_macro!(
|
||||
struct Foo2 {
|
||||
default_field: Spacing = /* uwu */ 0,
|
||||
}
|
||||
);
|
Loading…
Reference in New Issue
Block a user