Fix paths being parsed as function argument names
diff --git a/src/ty.rs b/src/ty.rs
index 88d2317..03f8891 100644
--- a/src/ty.rs
+++ b/src/ty.rs
@@ -486,7 +486,12 @@
     ));
 
     named!(pub fn_arg -> BareFnArg, do_parse!(
-        name: option!(terminated!(ident, punct!(":"))) >>
+        name: option!(do_parse!(
+            name: ident >>
+            punct!(":") >>
+            not!(peek!(tag!(":"))) >> // not ::
+            (name)
+        )) >>
         ty: ty >>
         (BareFnArg {
             name: name,