Impl parsing
diff --git a/tests/cases/impl.rs b/tests/cases/impl.rs
new file mode 100644
index 0000000..6d4d30c
--- /dev/null
+++ b/tests/cases/impl.rs
@@ -0,0 +1,16 @@
+#[stable(feature = "rust1", since = "1.0.0")]
+impl<T> FromIterator<T> for Vec<T> {
+    #[inline]
+    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Vec<T> {}
+}
+
+impl<T> IntoIterator for Vec<T> {
+    type Item = T;
+    type IntoIter = IntoIter<T>;
+}
+
+impl<T: ?Sized> !Sync for *mut T {}
+
+impl [T; 8] {
+    const LEN: usize = 8;
+}