Skip to content

Commit 238b662

Browse files
fix: derivation of struct body span lo
1 parent 74768b7 commit 238b662

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

src/formatting/items.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1388,7 +1388,12 @@ pub(crate) fn format_struct_struct(
13881388
result.push_str(&header_str);
13891389

13901390
let header_hi = struct_parts.ident.span.hi();
1391-
let body_lo = context.snippet_provider.span_after_last(span, "{");
1391+
let after_generics_span = struct_parts.generics.map_or(span, |generics| {
1392+
mk_sp(generics.where_clause.span.hi(), span.hi())
1393+
});
1394+
let body_lo = context
1395+
.snippet_provider
1396+
.span_after(after_generics_span, "{");
13921397

13931398
let generics_str = match struct_parts.generics {
13941399
Some(g) => format_generics(

tests/source/issue_4724.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
struct x{/** */#[x="{"]x:x}

tests/target/issue_4724.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
struct x {
2+
/** */
3+
#[x = "{"]
4+
x: x,
5+
}

0 commit comments

Comments
 (0)