addressed review comments
diff --git a/src/expr.rs b/src/expr.rs
index 8214ef7..64e864d 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -337,6 +337,7 @@
 pub mod parsing {
     use super::*;
     use {Ident, Ty};
+    use generics::parsing::lifetime;
     use ident::parsing::ident;
     use lit::parsing::lit;
     use nom::multispace;
@@ -551,17 +552,12 @@
     ));
 
     named!(expr_loop -> Expr, do_parse!(
-        id: option!(
-            terminated!(
-                preceded!(
-                    punct!("'"),
-                    ident),
-                punct!(":"))) >>
-            punct!("loop") >>
+        lt: option!(terminated!(lifetime, punct!(":"))) >>
+        punct!("loop") >>
         loop_block: block >>
         (Expr::Loop(
             Box::new(loop_block),
-            id,
+            lt.map(|lt| lt.ident),
         ))
     ));