Switch from IResult to PResult in syn
diff --git a/src/mac.rs b/src/mac.rs
index 5e6d02e..b822051 100644
--- a/src/mac.rs
+++ b/src/mac.rs
@@ -137,36 +137,33 @@
 
     use proc_macro2::{TokenKind, TokenTree};
     use synom::tokens::*;
-    use synom::{Synom, IResult};
+    use synom::{Synom, PResult, Cursor, parse_error};
 
     impl Synom for Mac {
-        fn parse(input: &[TokenTree]) -> IResult<&[TokenTree], Self> {
-            do_parse! {
-                input,
-                what: syn!(Path) >>
-                bang: syn!(Bang) >>
-                body: call!(::TokenTree::parse_delimited) >>
-                (Mac {
-                    path: what,
-                    bang_token: bang,
-                    tokens: vec![body],
-                })
-            }
-        }
+        named!(parse -> Self, do_parse!(
+            what: syn!(Path) >>
+            bang: syn!(Bang) >>
+            body: call!(::TokenTree::parse_delimited) >>
+            (Mac {
+                path: what,
+                bang_token: bang,
+                tokens: vec![body],
+            })
+        ));
     }
 
     impl ::TokenTree {
-        pub fn parse_list(input: &[TokenTree]) -> IResult<&[TokenTree], Vec<Self>> {
-            IResult::Done(&[], input.iter().cloned().map(::TokenTree).collect())
+        pub fn parse_list(input: Cursor) -> PResult<Vec<Self>> {
+            Ok((&[], input.iter().cloned().map(::TokenTree).collect()))
         }
 
-        pub fn parse_delimited(input: &[TokenTree]) -> IResult<&[TokenTree], Self> {
+        pub fn parse_delimited(input: Cursor) -> PResult<Self> {
             let mut tokens = input.iter();
             match tokens.next() {
                 Some(token @ &TokenTree { kind: TokenKind::Sequence(..), .. }) => {
-                    IResult::Done(tokens.as_slice(), ::TokenTree(token.clone()))
+                    Ok((tokens.as_slice(), ::TokenTree(token.clone())))
                 }
-                _ => IResult::Error,
+                _ => parse_error(),
             }
         }
     }