perplex 0.4.1

A grammar analyzer and LR(k)/GLR parser generator.
Documentation
Build #2788681 2026-01-03 07:56:43

# rustc version rustc 1.94.0-nightly (85c8ff69c 2026-01-02)

# docs.rs version docsrs 0.1.0 (e6d7c66e 2025-12-21 )

# build log [INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/perplex-0.4.1/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/perplex-0.4.1/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "6442450944" "--cpus" "6" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260102-1.94.0-nightly-85c8ff69c\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 6d209ed9fdd1d1f1cfaef91f801f851cc69dcf5e6dbdef9de3c9e54e40354168 [INFO] running `Command { std: "docker" "start" "-a" "6d209ed9fdd1d1f1cfaef91f801f851cc69dcf5e6dbdef9de3c9e54e40354168", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/backend.rs:176:13 [INFO] [stderr] | [INFO] [stderr] 176 | let mut ta: Vec<_> = state [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/honalee.rs:144:17 [INFO] [stderr] | [INFO] [stderr] 144 | let mut item_set = &mut done_list[index]; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field `origin` is never read [INFO] [stderr] --> src/glr.rs:598:5 [INFO] [stderr] | [INFO] [stderr] 597 | pub struct ConflictArc { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] 598 | origin: ItemSetId, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ConflictArc` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `rank` and `reconverged` are never read [INFO] [stderr] --> src/glr.rs:636:5 [INFO] [stderr] | [INFO] [stderr] 635 | pub struct ConflictNode { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] 636 | rank: usize, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 640 | reconverged: bool, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ConflictNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/grammar.rs:180:18 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn rules(&self) -> RulesIter { [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 180 | pub fn rules(&self) -> RulesIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/grammar.rs:185:34 [INFO] [stderr] | [INFO] [stderr] 185 | pub fn rules_for_nonterminal(&self, id: NonterminalId) -> RuleIdsIter { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 185 | pub fn rules_for_nonterminal(&self, id: NonterminalId) -> RuleIdsIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/item_set.rs:183:20 [INFO] [stderr] | [INFO] [stderr] 183 | pub fn actions(&self) -> Actions { [INFO] [stderr] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 183 | pub fn actions(&self) -> Actions<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/item_set.rs:188:24 [INFO] [stderr] | [INFO] [stderr] 188 | pub fn actions_mut(&mut self) -> ActionsMut { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 188 | pub fn actions_mut(&mut self) -> ActionsMut<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/machine.rs:93:19 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn states(&self) -> States { [INFO] [stderr] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 93 | pub fn states(&self) -> States<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/machine.rs:119:20 [INFO] [stderr] | [INFO] [stderr] 119 | pub fn actions(&self) -> Actions { [INFO] [stderr] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 119 | pub fn actions(&self) -> Actions<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `perplex` (lib) generated 10 warnings (run `cargo fix --lib -p perplex` to apply 8 suggestions) [INFO] [stderr] Scraping perplex v0.4.1 (/opt/rustwide/workdir) [INFO] [stderr] Documenting perplex v0.4.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.14s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/perplex/index.html [INFO] running `Command { std: "docker" "inspect" "6d209ed9fdd1d1f1cfaef91f801f851cc69dcf5e6dbdef9de3c9e54e40354168", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d209ed9fdd1d1f1cfaef91f801f851cc69dcf5e6dbdef9de3c9e54e40354168", kill_on_drop: false }` [INFO] [stdout] 6d209ed9fdd1d1f1cfaef91f801f851cc69dcf5e6dbdef9de3c9e54e40354168