Fix skip_past_next_at implementation in doc
diff --git a/src/parse.rs b/src/parse.rs
index 2b816d9..a6afe01 100644
--- a/src/parse.rs
+++ b/src/parse.rs
@@ -313,7 +313,21 @@
 ///     })
 /// }
 /// #
-/// # fn main() {}
+/// #
+/// # fn remainder_after_skipping_past_next_at(
+/// #     input: ParseStream,
+/// # ) -> Result<proc_macro2::TokenStream> {
+/// #     skip_past_next_at(input)?;
+/// #     input.parse()
+/// # }
+/// #
+/// # fn main() {
+/// #     use syn::parse::Parser;
+/// #     let remainder = remainder_after_skipping_past_next_at
+/// #         .parse_str("a @ b c")
+/// #         .unwrap();
+/// #     assert_eq!(remainder.to_string(), "b c");
+/// # }
 /// ```
 #[derive(Copy, Clone)]
 pub struct StepCursor<'c, 'a> {
@@ -924,7 +938,7 @@
     /// fn skip_past_next_at(input: ParseStream) -> Result<()> {
     ///     input.step(|cursor| {
     ///         let mut rest = *cursor;
-    ///         while let Some((tt, next)) = cursor.token_tree() {
+    ///         while let Some((tt, next)) = rest.token_tree() {
     ///             match tt {
     ///                 TokenTree::Punct(ref punct) if punct.as_char() == '@' => {
     ///                     return Ok(((), next));
@@ -936,7 +950,20 @@
     ///     })
     /// }
     /// #
-    /// # fn main() {}
+    /// # fn remainder_after_skipping_past_next_at(
+    /// #     input: ParseStream,
+    /// # ) -> Result<proc_macro2::TokenStream> {
+    /// #     skip_past_next_at(input)?;
+    /// #     input.parse()
+    /// # }
+    /// #
+    /// # fn main() {
+    /// #     use syn::parse::Parser;
+    /// #     let remainder = remainder_after_skipping_past_next_at
+    /// #         .parse_str("a @ b c")
+    /// #         .unwrap();
+    /// #     assert_eq!(remainder.to_string(), "b c");
+    /// # }
     /// ```
     pub fn step<F, R>(&self, function: F) -> Result<R>
     where