From bc90a12b8deaa14b996174881790a2fb5bc2a7e9 Mon Sep 17 00:00:00 2001 From: Seiichi Uchida Date: Mon, 10 Jul 2017 17:26:55 +0900 Subject: Format union --- src/items.rs | 2 +- src/visitor.rs | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/items.rs b/src/items.rs index 96ffffa7b60..a5e35e144fb 100644 --- a/src/items.rs +++ b/src/items.rs @@ -1053,7 +1053,7 @@ fn format_unit_struct(item_name: &str, ident: ast::Ident, vis: &ast::Visibility) format!("{};", format_header(item_name, ident, vis)) } -fn format_struct_struct( +pub fn format_struct_struct( context: &RewriteContext, item_name: &str, ident: ast::Ident, diff --git a/src/visitor.rs b/src/visitor.rs index 178f7c7691f..800f46374ec 100644 --- a/src/visitor.rs +++ b/src/visitor.rs @@ -426,8 +426,19 @@ impl<'a> FmtVisitor<'a> { ); self.push_rewrite(item.span, rewrite); } - ast::ItemKind::Union(..) => { - // FIXME(#1157): format union definitions. + ast::ItemKind::Union(ref def, ref generics) => { + let rewrite = ::items::format_struct_struct( + &self.get_context(), + "union ", + item.ident, + &item.vis, + def.fields(), + Some(generics), + item.span, + self.block_indent, + None, + ); + self.push_rewrite(item.span, rewrite); } ast::ItemKind::GlobalAsm(..) => { let snippet = Some(self.snippet(item.span)); -- cgit 1.4.1-3-g733a5