diff options
| author | Nick Cameron <nrc@ncameron.org> | 2018-04-23 16:32:36 +1200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-04-23 16:32:36 +1200 |
| commit | fbdd0e815c80d0c7dde62cc541e866440039bafc (patch) | |
| tree | 3d6828fc021e730634581b8aadbf63e884dd8072 /src | |
| parent | 866900449aee9281c88076076b8bc558a8aa5140 (diff) | |
| parent | 92b14f0778cd6debd176a4d54b286f7f8092970a (diff) | |
Merge pull request #2640 from rizakrko/master
keep auto trait
Diffstat (limited to 'src')
| -rw-r--r-- | src/items.rs | 19 | ||||
| -rw-r--r-- | src/utils.rs | 8 |
2 files changed, 20 insertions, 7 deletions
diff --git a/src/items.rs b/src/items.rs index 6d474a3ccd6..91db82cd9ed 100644 --- a/src/items.rs +++ b/src/items.rs @@ -32,9 +32,9 @@ use rewrite::{Rewrite, RewriteContext}; 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, "{"); diff --git a/src/utils.rs b/src/utils.rs index 2ede562e79d..2493c9a5c74 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -82,6 +82,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 { ast::Mutability::Mutable => "mut ", |
