Added while loop parser and (currently ignored) tests.
diff --git a/src/expr.rs b/src/expr.rs
index 64e864d..c2310ce 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -357,7 +357,8 @@
             |
             expr_if
             // TODO: IfLet
-            // TODO: While
+            |
+            expr_while
             // TODO: WhileLet
             // TODO: ForLoop
             // TODO: Loop
@@ -561,6 +562,18 @@
         ))
     ));
 
+    named!(expr_while -> Expr, do_parse!(
+        lt: option!(terminated!(lifetime, punct!(":"))) >>
+        punct!("while") >>
+        cond: expr >>
+        while_block: block >>
+        (Expr::While(
+            Box::new(cond),
+            Box::new(while_block),
+            lt.map(|lt| lt.ident),
+        ))
+    ));
+
     named!(expr_block -> Expr, map!(block, |b| Expr::Block(Box::new(b))));
 
     named!(block -> Block, do_parse!(