]> git.lizzy.rs Git - rust.git/commitdiff
keep auto trait
authorRoman Stoliar <rizakrko@rambler.ru>
Fri, 20 Apr 2018 14:31:31 +0000 (17:31 +0300)
committerRoman Stoliar <rizakrko@rambler.ru>
Fri, 20 Apr 2018 14:31:31 +0000 (17:31 +0300)
src/items.rs
src/utils.rs

index 6d474a3ccd600148157f9f5414f51202749eac9b..91db82cd9ede39af34de3adc032548a075f7e1b5 100644 (file)
@@ -32,9 +32,9 @@
 use shape::{Indent, Shape};
 use spanned::Spanned;
 use types::TraitTyParamBounds;
-use utils::{colon_spaces, contains_skip, first_line_width, format_abi, format_constness,
-            format_defaultness, format_mutability, format_unsafety, format_visibility,
-            is_attributes_extendable, last_line_contains_single_line_comment,
+use utils::{colon_spaces, contains_skip, first_line_width, format_abi, format_auto,
+            format_constness, format_defaultness, format_mutability, format_unsafety,
+            format_visibility, is_attributes_extendable, last_line_contains_single_line_comment,
             last_line_used_width, last_line_width, mk_sp, semicolon_for_expr, starts_with_newline,
             stmt_expr, trimmed_last_line_width};
 use vertical::rewrite_with_alignment;
@@ -936,16 +936,21 @@ fn format_struct(
 }
 
 pub fn format_trait(context: &RewriteContext, item: &ast::Item, offset: Indent) -> Option<String> {
-    if let ast::ItemKind::Trait(_, unsafety, ref generics, ref type_param_bounds, ref trait_items) =
-        item.node
+    if let ast::ItemKind::Trait(
+        is_auto,
+        unsafety,
+        ref generics,
+        ref type_param_bounds,
+        ref trait_items,
+    ) = item.node
     {
         let mut result = String::with_capacity(128);
         let header = format!(
-            "{}{}trait ",
+            "{}{}{}trait ",
+            format_auto(is_auto),
             format_visibility(&item.vis),
             format_unsafety(unsafety),
         );
-
         result.push_str(&header);
 
         let body_lo = context.snippet_provider.span_after(item.span, "{");
index 2ede562e79d7e8c598af5fa712afbb803b1cbb27..2493c9a5c7439f61536e5aa74a6ec94d4c49313e 100644 (file)
@@ -81,6 +81,14 @@ pub fn format_unsafety(unsafety: ast::Unsafety) -> &'static str {
     }
 }
 
+#[inline]
+pub fn format_auto(is_auto: ast::IsAuto) -> &'static str {
+    match is_auto {
+        ast::IsAuto::Yes => "auto ",
+        ast::IsAuto::No => "",
+    }
+}
+
 #[inline]
 pub fn format_mutability(mutability: ast::Mutability) -> &'static str {
     match mutability {