prattle 0.1.3

General, configurable Pratt/TDOP parser.
Documentation

Build #2397697 2025-08-09 14:41:04

# rustc version rustc 1.91.0-nightly (de3efa79f 2025-08-08)

# docs.rs version docsrs 0.6.0 (e18d034e 2025-07-29)

# build log [INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace-builder/builds/prattle-0.1.3/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace-builder/builds/prattle-0.1.3/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace-builder/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace-builder/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:ae6f63d130afcfff7f91f5ba9fdb2a74d52830289c6a2ea2d23a94dcfb480a0d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20250808-1.91.0-nightly-de3efa79f\", \"--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] c067da2907382ba5482024e5dbf2dc74ba28cd5ea2f153ac1c3e5cbe3cb37576 [INFO] running `Command { std: "docker" "start" "-a" "c067da2907382ba5482024e5dbf2dc74ba28cd5ea2f153ac1c3e5cbe3cb37576", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/errors.rs:47:28 [INFO] [stderr] | [INFO] [stderr] 47 | #[derive(Clone, Debug, Eq, Fail, Hash, Ord, PartialEq, PartialOrd)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_ParseError` [INFO] [stderr] 48 | pub enum ParseError<T: Token + Send + Sync + 'static> { [INFO] [stderr] | ---------- `ParseError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/errors.rs:47:28 [INFO] [stderr] | [INFO] [stderr] 47 | #[derive(Clone, Debug, Eq, Fail, Hash, Ord, PartialEq, PartialOrd)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_ParseError` [INFO] [stderr] 48 | pub enum ParseError<T: Token + Send + Sync + 'static> { [INFO] [stderr] | ---------- `ParseError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/spec.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | #[derive(Clone, Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_SpecificationError` [INFO] [stderr] 57 | pub enum SpecificationError<T: Token + Send + Sync + 'static> { [INFO] [stderr] | ------------------ `SpecificationError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/spec.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | #[derive(Clone, Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_SpecificationError` [INFO] [stderr] 57 | pub enum SpecificationError<T: Token + Send + Sync + 'static> { [INFO] [stderr] | ------------------ `SpecificationError` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `prattle` (lib) generated 4 warnings [INFO] [stderr] Scraping prattle v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Documenting prattle v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] warning: unresolved link to `1` [INFO] [stderr] --> src/lib.rs:29:39 [INFO] [stderr] | [INFO] [stderr] 29 | //! Vaughn Pratt in 1973 in his paper[1]. [INFO] [stderr] | ^ no item named `1` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `1` [INFO] [stderr] --> src/lib.rs:142:8 [INFO] [stderr] | [INFO] [stderr] 142 | //! > [1] Vaughan R. Pratt. 1973. Top down operator precedence. In Proceedings [INFO] [stderr] | ^ no item named `1` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: this URL is not a hyperlink [INFO] [stderr] --> src/lib.rs:145:11 [INFO] [stderr] | [INFO] [stderr] 145 | //! > DOI=http://dx.doi.org/10.1145/512927.512931 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: bare URLs are not automatically turned into clickable links [INFO] [stderr] = note: `#[warn(rustdoc::bare_urls)]` on by default [INFO] [stderr] help: use an automatic link instead [INFO] [stderr] | [INFO] [stderr] 145 | //! > DOI=<http://dx.doi.org/10.1145/512927.512931> [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `P` [INFO] [stderr] --> src/errors.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | /// <P as Parser<T>>::consume(end_token: T) was called, and the required [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(rustdoc::invalid_html_tags)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/errors.rs:65:21 [INFO] [stderr] | [INFO] [stderr] 65 | /// <P as Parser<T>>::consume(end_token: T) was called, and the required [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/spec.rs:29:19 [INFO] [stderr] | [INFO] [stderr] 29 | //! NullDenotation<T> = fn(&mut dyn Parser<T>, T, u32) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 29 | //! `NullDenotation<T>` = fn(&mut dyn Parser<T>, T, u32) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/spec.rs:29:43 [INFO] [stderr] | [INFO] [stderr] 29 | //! NullDenotation<T> = fn(&mut dyn Parser<T>, T, u32) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 29 | //! NullDenotation<T> = fn(&mut dyn `Parser<T>`, T, u32) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/spec.rs:29:70 [INFO] [stderr] | [INFO] [stderr] 29 | //! NullDenotation<T> = fn(&mut dyn Parser<T>, T, u32) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/spec.rs:29:85 [INFO] [stderr] | [INFO] [stderr] 29 | //! NullDenotation<T> = fn(&mut dyn Parser<T>, T, u32) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/spec.rs:30:19 [INFO] [stderr] | [INFO] [stderr] 30 | //! LeftDenotation<T> = fn(&mut dyn Parser<T>, T, u32, Node<T>) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 30 | //! `LeftDenotation<T>` = fn(&mut dyn Parser<T>, T, u32, Node<T>) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/spec.rs:30:43 [INFO] [stderr] | [INFO] [stderr] 30 | //! LeftDenotation<T> = fn(&mut dyn Parser<T>, T, u32, Node<T>) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 30 | //! LeftDenotation<T> = fn(&mut dyn `Parser<T>`, T, u32, Node<T>) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/spec.rs:30:60 [INFO] [stderr] | [INFO] [stderr] 30 | //! LeftDenotation<T> = fn(&mut dyn Parser<T>, T, u32, Node<T>) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 30 | //! LeftDenotation<T> = fn(&mut dyn Parser<T>, T, u32, `Node<T>`) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/spec.rs:30:79 [INFO] [stderr] | [INFO] [stderr] 30 | //! LeftDenotation<T> = fn(&mut dyn Parser<T>, T, u32, Node<T>) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `T` [INFO] [stderr] --> src/spec.rs:30:94 [INFO] [stderr] | [INFO] [stderr] 30 | //! LeftDenotation<T> = fn(&mut dyn Parser<T>, T, u32, Node<T>) -> Result<Node<T>, ParseError<T>>; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: `prattle` (lib doc) generated 14 warnings (run `cargo fix --lib -p prattle` to apply 1 suggestion) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.84s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/prattle/index.html [INFO] running `Command { std: "docker" "inspect" "c067da2907382ba5482024e5dbf2dc74ba28cd5ea2f153ac1c3e5cbe3cb37576", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c067da2907382ba5482024e5dbf2dc74ba28cd5ea2f153ac1c3e5cbe3cb37576", kill_on_drop: false }` [INFO] [stdout] c067da2907382ba5482024e5dbf2dc74ba28cd5ea2f153ac1c3e5cbe3cb37576