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),
))
));
diff --git a/tests/test_expr.rs b/tests/test_expr.rs
index 0459da7..587102f 100644
--- a/tests/test_expr.rs
+++ b/tests/test_expr.rs
@@ -37,7 +37,7 @@
let raw = "' test : loop{(1, 5, 9, 11)}";
- let expected = Expr::Loop(block, Some("test".into()));
+ let expected = Expr::Loop(block, Some("'test".into()));
assert_eq!(expected, parse_expr(raw).unwrap());
}