about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCaleb Cartwright <caleb.cartwright@outlook.com>2023-01-23 10:54:05 -0600
committerYacin Tmimi <yacintmimi@gmail.com>2023-01-23 12:55:02 -0500
commitaae222c974a982e878f279b95bd1a9d0166ff229 (patch)
tree182bb6f84de0d4d64d00ee0f35ec4d9cc13580f4
parentee2bed96d60fd7e46b1fb868f6a8f27e3a8058d0 (diff)
downloadrust-aae222c974a982e878f279b95bd1a9d0166ff229.tar.gz
rust-aae222c974a982e878f279b95bd1a9d0166ff229.zip
fix: correct span for structs with const generics
-rw-r--r--src/items.rs2
-rw-r--r--tests/target/issue_5668.rs8
2 files changed, 9 insertions, 1 deletions
diff --git a/src/items.rs b/src/items.rs
index 755a41f6bf0..063a6428a08 100644
--- a/src/items.rs
+++ b/src/items.rs
@@ -1245,7 +1245,7 @@ fn format_unit_struct(
 ) -> Option<String> {
     let header_str = format_header(context, p.prefix, p.ident, p.vis, offset);
     let generics_str = if let Some(generics) = p.generics {
-        let hi = context.snippet_provider.span_before(p.span, ";");
+        let hi = context.snippet_provider.span_before_last(p.span, ";");
         format_generics(
             context,
             generics,
diff --git a/tests/target/issue_5668.rs b/tests/target/issue_5668.rs
new file mode 100644
index 00000000000..bbd9a530b81
--- /dev/null
+++ b/tests/target/issue_5668.rs
@@ -0,0 +1,8 @@
+type Foo = impl Send;
+struct Struct<
+    const C: usize = {
+        let _: Foo = ();
+        //~^ ERROR: mismatched types
+        0
+    },
+>;