Repository: Marwes/combine (language: rust)

Issue:
Compilation error when running clippy from stable
Running [clippy](https://github.com/rust-lang-nursery/rust-clippy) from stable Rust (1.29.1) on a project that uses combine currently fails with:

```
    Checking combine v3.6.0
error[E0554]: #![feature] may not be used on the stable release channel
   --> /Users/dsc/.cargo/registry/src/github.com-1ecc6299db9ec823/combine-3.6.0/src/lib.rs:193:39
    |
193 | #![cfg_attr(feature = "cargo-clippy", feature(tool_lints))]
    |                                       ^^^^^^^^^^^^^^^^^^^^

error: aborting due to previous error

For more information about this error, try `rustc --explain E0554`.
error: Could not compile `combine`.

To learn more, run the command again with --verbose.
````


Discussion / hints:
I think I just forgot to remove that attribute, I am pretty sure it isn't used for anything. Want to send a PR removing it? Should be able to make a release later tonight.
Sounds good, will take a look into that when I get the chance.

A quick test after removing it raises some more issues, mostly along the lines of:
```
error[E0658]: scoped lint `clippy::too_many_arguments` is experimental (see issue #44690)
   --> src/parser/sequence.rs:84:56
    |
84  |             #[cfg_attr(feature = "cargo-clippy", allow(clippy::too_many_arguments))]
    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
```
but ran out of time to test until next later.
Huh, I tried `rg "clippy::"` and didn't find anything so I figured I never used that syntax... But that was on the wrong branch.

Fix patch:
diff --git a/src/lib.rs b/src/lib.rs
index 438b9b4a..8eed8009 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -188,9 +188,9 @@
 // inline(always) is only used on trivial functions returning parsers
 #![cfg_attr(
     feature = "cargo-clippy",
-    allow(clippy::inline_always, clippy::type_complexity)
+    allow(inline_always, type_complexity, too_many_arguments)
 )]
-#![cfg_attr(feature = "cargo-clippy", feature(tool_lints))]
+#![cfg_attr(feature = "cargo-clippy", allow(clippy_lint))]
 #![cfg_attr(not(feature = "std"), no_std)]
 
 #[doc(inline)]
diff --git a/src/parser/combinator.rs b/src/parser/combinator.rs
index d8ba20b7..7d3f4ffd 100644
--- a/src/parser/combinator.rs
+++ b/src/parser/combinator.rs
@@ -124,7 +124,7 @@ where
 ///
 /// Note: if you're on the 2018 edition, you'll need to either use `r#try`, or [`attempt`](fn.attempt.html)
 #[deprecated(
-    since = "3.5",
+    since = "3.5.2",
     note = "try is a reserved keyword in Rust 2018. Use attempt instead."
 )]
 #[inline(always)]
diff --git a/src/parser/sequence.rs b/src/parser/sequence.rs
index 5fa384d3..46548cc0 100644
--- a/src/parser/sequence.rs
+++ b/src/parser/sequence.rs
@@ -81,7 +81,6 @@ macro_rules! tuple_parser {
               $($id: Parser<Input=Input>),*
         {
             #[allow(dead_code)]
-            #[cfg_attr(feature = "cargo-clippy", allow(clippy::too_many_arguments))]
             fn add_errors(
                 input: &mut Input,
                 mut err: Tracked<Input::Error>,


Test patch: