about summary refs log tree commit diff
path: root/src/libsyntax/print
diff options
context:
space:
mode:
authorEduard Burtescu <edy.burt@gmail.com>2015-02-01 09:59:46 +0200
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2015-12-16 17:12:35 +0300
commitb8157cc67fa25f2944b24f4306151d53d1b80b56 (patch)
tree0d9ddf074f25fec3fa9f56fc5c69c118f6dcd3af /src/libsyntax/print
parentce7bc51933e2facb4eca029ac17b398f372f5b41 (diff)
downloadrust-b8157cc67fa25f2944b24f4306151d53d1b80b56.tar.gz
rust-b8157cc67fa25f2944b24f4306151d53d1b80b56.zip
Implement type ascription.
Diffstat (limited to 'src/libsyntax/print')
-rw-r--r--src/libsyntax/print/pprust.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 0be62bc0a7f..2c11be3cea3 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -445,7 +445,7 @@ fn needs_parentheses(expr: &ast::Expr) -> bool {
         ast::ExprAssign(..) | ast::ExprBinary(..) |
         ast::ExprClosure(..) |
         ast::ExprAssignOp(..) | ast::ExprCast(..) |
-        ast::ExprInPlace(..) => true,
+        ast::ExprInPlace(..) | ast::ExprType(..) => true,
         _ => false,
     }
 }
@@ -2036,6 +2036,11 @@ impl<'a> State<'a> {
                 try!(self.word_space("as"));
                 try!(self.print_type(&**ty));
             }
+            ast::ExprType(ref expr, ref ty) => {
+                try!(self.print_expr(&**expr));
+                try!(self.word_space(":"));
+                try!(self.print_type(&**ty));
+            }
             ast::ExprIf(ref test, ref blk, ref elseopt) => {
                 try!(self.print_if(&**test, &**blk, elseopt.as_ref().map(|e| &**e)));
             }