diff options
| -rw-r--r-- | src/comp/syntax/print/pprust.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/comp/syntax/print/pprust.rs b/src/comp/syntax/print/pprust.rs index f5cf6ba1072..c196e57662e 100644 --- a/src/comp/syntax/print/pprust.rs +++ b/src/comp/syntax/print/pprust.rs @@ -292,7 +292,15 @@ fn print_type(&ps s, &ast::ty ty) { word(s.s, "]"); } case (ast::ty_ivec(?mt)) { + auto parens = alt mt.ty.node { + ast::ty_box(_) | ast::ty_vec(_) | ast::ty_ptr(_) | + ast::ty_port(_) | ast::ty_chan(_) { true } + ast::ty_path(?pt, _) { ivec::len(pt.node.types) > 0u } + _ { false } + }; + if parens { popen(s); } print_type(s, *mt.ty); + if parens { pclose(s); } word(s.s, "["); print_mutability(s, mt.mut); word(s.s, "]"); |
