diff options
| author | Nick Cameron <nrc@ncameron.org> | 2017-07-11 16:16:35 +1200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-11 16:16:35 +1200 |
| commit | 3552595a3b40abd1aa5a24074f4ab2caa2fa034f (patch) | |
| tree | cc283baa14380e988a07b9a859997e834c9a93d6 /src | |
| parent | 4cfc2bfbd465b6d9510d82c35198ccb6a6a2d6d7 (diff) | |
| parent | bc90a12b8deaa14b996174881790a2fb5bc2a7e9 (diff) | |
Merge pull request #1780 from topecongiro/rfc/union
Format union
Diffstat (limited to 'src')
| -rw-r--r-- | src/items.rs | 2 | ||||
| -rw-r--r-- | src/visitor.rs | 15 |
2 files changed, 14 insertions, 3 deletions
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)); |
