about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/items.rs8
-rw-r--r--tests/target/issue_5273.rs3
2 files changed, 10 insertions, 1 deletions
diff --git a/src/items.rs b/src/items.rs
index 9b35d28f119..92f423bbb62 100644
--- a/src/items.rs
+++ b/src/items.rs
@@ -1273,7 +1273,13 @@ pub(crate) fn format_struct_struct(
     result.push_str(&header_str);
 
     let header_hi = struct_parts.ident.span.hi();
-    let body_lo = context.snippet_provider.span_after(span, "{");
+    let body_lo = if let Some(generics) = struct_parts.generics {
+        // Adjust the span to start at the end of the generic arguments before searching for the '{'
+        let span = span.with_lo(generics.span.hi());
+        context.snippet_provider.span_after(span, "{")
+    } else {
+        context.snippet_provider.span_after(span, "{")
+    };
 
     let generics_str = match struct_parts.generics {
         Some(g) => format_generics(
diff --git a/tests/target/issue_5273.rs b/tests/target/issue_5273.rs
new file mode 100644
index 00000000000..3bb9048a5fd
--- /dev/null
+++ b/tests/target/issue_5273.rs
@@ -0,0 +1,3 @@
+struct Example<const N: usize = { 1048576 }> {
+    //
+}