Repository: pest-parser/pest (language: rust)

Issue:
Incompatibility with missing_docs lint
I must have disabled `missing_docs` lint to compile my crate, it's very annoying, the compiler no longer checks that all the documentation is present : 

```
error: missing documentation for an enum
  --> documents/v10/mod.rs:38:10
   |
38 | #[derive(Parser)]
   |          ^^^^^^
   |
note: lint level defined here
  --> documents/lib.rs:20:5
   |
20 |     missing_docs,
   |     ^^^^^^^^^^^^

error: missing documentation for a variant
  --> documents/v10/mod.rs:38:10
   |
38 | #[derive(Parser)]
   |          ^^^^^^

error: aborting due to 2 previous errors
```


Discussion / hints:
Hm, this is interesting. The `Rule` enum is mostly thought out to be used in the implementation of your crate and not in user-facing APIs. How are you using the derive?
My Struct `ParserV10` is private.  
I migrate to `pest` a lib crate that is used to parse documents of a specific protocol.
This crate is called `duniter_documents` and is not intended for use in user-facing API.

Thank you for your reactivity, my code is here: https://git.duniter.org/nodes/rust/duniter-rs/blob/migrate_to_pest/documents/v10/mod.rs#L40
(Migration from regex to pest is a work in progress)
As a short-term solution, you can add `#[allow(missing_docs)]` to the module in which you're defining the parser.

We should strive to be unopinionated on how the library is used, so I think the correct move is to emit a `#[allow(missing_docs)]` on the `Rule` enum. It's a perfectly valid use to have an internal crate expose it as "public" API of that internal crate.
Hi. Any progress? I think the pr may work.
I pinged the author. If they don't respond, I can reopen a PR with a fix to add the missing comment to EOL

Fix patch:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f43bdde1..a1a1dc87 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -79,7 +79,7 @@ jobs:
         with:
           kind: msrv
           tools: cargo-msrv
-          toolchain: 1.61.0
+          toolchain: 1.65.0 # needed for cargo-msrv due to time-core v0.1.1
       - name: Check msrv
         shell: sh
         run: for crate in "derive" "generator" "grammars" "meta" "pest" "vm"; do cd "$crate" && cargo msrv verify && cd ..; done
diff --git a/debugger/Cargo.toml b/debugger/Cargo.toml
index 80dfaaa7..da805d42 100644
--- a/debugger/Cargo.toml
+++ b/debugger/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "pest_debugger"
 description = "pest grammar debugger"
-version = "2.7.3"
+version = "2.7.4"
 edition = "2021"
 authors = ["Dragoș Tiselice <dragostiselice@gmail.com>", "Tomas Tauber <me@tomtau.be>"]
 homepage = "https://pest.rs/"
@@ -14,9 +14,9 @@ readme = "_README.md"
 rust-version = "1.61"
 
 [dependencies]
-pest = { path = "../pest", version = "2.7.3" }
-pest_meta = { path = "../meta", version = "2.7.3" }
-pest_vm = { path = "../vm", version = "2.7.3" }
+pest = { path = "../pest", version = "2.7.4" }
+pest_meta = { path = "../meta", version = "2.7.4" }
+pest_vm = { path = "../vm", version = "2.7.4" }
 reqwest = { version = "= 0.11.13", default-features = false, features = ["blocking", "json", "default-tls"] }
 rustyline = "10"
 serde_json = "1"
diff --git a/derive/Cargo.toml b/derive/Cargo.toml
index 431d813a..c8701faf 100644
--- a/derive/Cargo.toml
+++ b/derive/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "pest_derive"
 description = "pest's derive macro"
-version = "2.7.3"
+version = "2.7.4"
 edition = "2021"
 authors = ["Dragoș Tiselice <dragostiselice@gmail.com>"]
 homepage = "https://pest.rs/"
@@ -25,5 +25,5 @@ grammar-extras = ["pest_generator/grammar-extras"]
 
 [dependencies]
 # for tests, included transitively anyway
-pest = { path = "../pest", version = "2.7.3", default-features = false }
-pest_generator = { path = "../generator", version = "2.7.3", default-features = false }
+pest = { path = "../pest", version = "2.7.4", default-features = false }
+pest_generator = { path = "../generator", version = "2.7.4", default-features = false }
diff --git a/generator/Cargo.toml b/generator/Cargo.toml
index 95bdb523..2a3d3438 100644
--- a/generator/Cargo.toml
+++ b/generator/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "pest_generator"
 description = "pest code generator"
-version = "2.7.3"
+version = "2.7.4"
 edition = "2021"
 authors = ["Dragoș Tiselice <dragostiselice@gmail.com>"]
 homepage = "https://pest.rs/"
@@ -20,8 +20,8 @@ not-bootstrap-in-src = ["pest_meta/not-bootstrap-in-src"]
 grammar-extras = ["pest_meta/grammar-extras"]
 
 [dependencies]
-pest = { path = "../pest", version = "2.7.3", default-features = false }
-pest_meta = { path = "../meta", version = "2.7.3" }
+pest = { path = "../pest", version = "2.7.4", default-features = false }
+pest_meta = { path = "../meta", version = "2.7.4" }
 proc-macro2 = "1.0"
 quote = "1.0"
 syn = "2.0"
diff --git a/generator/src/generator.rs b/generator/src/generator.rs
index ac0b9397..22d71d01 100644
--- a/generator/src/generator.rs
+++ b/generator/src/generator.rs
@@ -234,6 +234,7 @@ fn generate_enum(
     if uses_eoi {
         result.append_all(quote! {
             {
+                #[doc = "End-of-input"]
                 EOI,
                 #( #rules ),*
             }
diff --git a/grammars/Cargo.toml b/grammars/Cargo.toml
index 478da307..74468fde 100644
--- a/grammars/Cargo.toml
+++ b/grammars/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "pest_grammars"
 description = "pest popular grammar implementations"
-version = "2.7.3"
+version = "2.7.4"
 edition = "2021"
 authors = ["Dragoș Tiselice <dragostiselice@gmail.com>"]
 homepage = "https://pest.rs/"
@@ -14,8 +14,8 @@ readme = "_README.md"
 rust-version = "1.61"
 
 [dependencies]
-pest = { path = "../pest", version = "2.7.3" }
-pest_derive = { path = "../derive", version = "2.7.3" }
+pest = { path = "../pest", version = "2.7.4" }
+pest_derive = { path = "../derive", version = "2.7.4" }
 
 [dev-dependencies]
 criterion = "0.5"
diff --git a/meta/Cargo.toml b/meta/Cargo.toml
index 8858b5a3..b3cbd8b2 100644
--- a/meta/Cargo.toml
+++ b/meta/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "pest_meta"
 description = "pest meta language parser and validator"
-version = "2.7.3"
+version = "2.7.4"
 edition = "2021"
 authors = ["Dragoș Tiselice <dragostiselice@gmail.com>"]
 homepage = "https://pest.rs/"
@@ -16,7 +16,7 @@ include = ["Cargo.toml", "src/**/*", "src/grammar.rs", "_README.md", "LICENSE-*"
 rust-version = "1.61"
 
 [dependencies]
-pest = { path = "../pest", version = "2.7.3" }
+pest = { path = "../pest", version = "2.7.4" }
 once_cell = "1.8.0"
 
 [build-dependencies]
diff --git a/pest/Cargo.toml b/pest/Cargo.toml
index e3f720af..570efb87 100644
--- a/pest/Cargo.toml
+++ b/pest/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "pest"
 description = "The Elegant Parser"
-version = "2.7.3"
+version = "2.7.4"
 edition = "2021"
 authors = ["Dragoș Tiselice <dragostiselice@gmail.com>"]
 homepage = "https://pest.rs/"
diff --git a/vm/Cargo.toml b/vm/Cargo.toml
index d86f8b08..e7565b7c 100644
--- a/vm/Cargo.toml
+++ b/vm/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "pest_vm"
 description = "pest grammar virtual machine"
-version = "2.7.3"
+version = "2.7.4"
 edition = "2021"
 authors = ["Dragoș Tiselice <dragostiselice@gmail.com>"]
 homepage = "https://pest.rs/"
@@ -14,8 +14,8 @@ readme = "_README.md"
 rust-version = "1.61"
 
 [dependencies]
-pest = { path = "../pest", version = "2.7.3" }
-pest_meta = { path = "../meta", version = "2.7.3" }
+pest = { path = "../pest", version = "2.7.4" }
+pest_meta = { path = "../meta", version = "2.7.4" }
 
 [features]
 grammar-extras = ["pest_meta/grammar-extras"]
\ No newline at end of file


Test patch: