]> git.lizzy.rs Git - rust.git/commitdiff
Format where clause on unit struct
authortopecongiro <seuchida@gmail.com>
Mon, 13 Nov 2017 02:07:09 +0000 (11:07 +0900)
committertopecongiro <seuchida@gmail.com>
Mon, 13 Nov 2017 02:07:09 +0000 (11:07 +0900)
src/items.rs

index 8aa63261ce57baa11c717d7f895725d9defd7268..de0dc763e1be42739b0db669698eca4b6e9603be 100644 (file)
@@ -1095,8 +1095,20 @@ pub fn format_trait(context: &RewriteContext, item: &ast::Item, offset: Indent)
 fn format_unit_struct(context: &RewriteContext, p: &StructParts, offset: Indent) -> Option<String> {
     let header_str = format_header(p.prefix, p.ident, p.vis);
     let generics_str = if let Some(generics) = p.generics {
-        let shape = Shape::indented(offset, context.config).offset_left(header_str.len())?;
-        rewrite_generics(context, generics, shape, generics.span)?
+        let hi = if generics.where_clause.predicates.is_empty() {
+            generics.span.hi()
+        } else {
+            generics.where_clause.span.hi()
+        };
+        format_generics(
+            context,
+            generics,
+            context.config.item_brace_style(),
+            BracePos::None,
+            offset,
+            mk_sp(generics.span.lo(), hi),
+            last_line_width(&header_str),
+        )?
     } else {
         String::new()
     };