[INFO] cloning repository https://github.com/malezjaa/marston
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/malezjaa/marston" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmalezjaa%2Fmarston", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmalezjaa%2Fmarston'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d8574c0b3765ecfe60abf8c12461cc257c9acfb2
[INFO] checking malezjaa/marston against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmalezjaa%2Fmarston" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/malezjaa/marston
[INFO] finished tweaking git repo https://github.com/malezjaa/marston
[INFO] tweaked toml for git repo https://github.com/malezjaa/marston written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/malezjaa/marston on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/malezjaa/marston already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded logos-derive v0.15.0
[INFO] [stderr]   Downloaded terminal_size v0.4.2
[INFO] [stderr]   Downloaded colored v3.0.0
[INFO] [stderr]   Downloaded ariadne v0.5.1
[INFO] [stderr]   Downloaded logos-codegen v0.15.0
[INFO] [stderr]   Downloaded fs-err v3.1.0
[INFO] [stderr]   Downloaded sysinfo v0.35.2
[INFO] [stderr]   Downloaded objc2-io-kit v0.3.1
[INFO] [stderr]   Downloaded logos v0.15.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fe9f43a70061de18cfdcbb5e2cbc9e160cc02423544effef20858b20e4677a60
[INFO] running `Command { std: "docker" "start" "-a" "fe9f43a70061de18cfdcbb5e2cbc9e160cc02423544effef20858b20e4677a60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fe9f43a70061de18cfdcbb5e2cbc9e160cc02423544effef20858b20e4677a60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe9f43a70061de18cfdcbb5e2cbc9e160cc02423544effef20858b20e4677a60", kill_on_drop: false }`
[INFO] [stdout] fe9f43a70061de18cfdcbb5e2cbc9e160cc02423544effef20858b20e4677a60
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 58af8681bce10314ebfeb26384320b960c77e7b5aba99866b1c25b90f6af4e58
[INFO] running `Command { std: "docker" "start" "-a" "58af8681bce10314ebfeb26384320b960c77e7b5aba99866b1c25b90f6af4e58", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling fs-err v3.1.0
[INFO] [stderr]    Compiling v_htmlescape v0.15.8
[INFO] [stderr]     Checking winnow v0.7.10
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling camino v1.1.10
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking ariadne v0.5.1
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking rustc-hash v2.1.1
[INFO] [stderr]     Checking miniz_oxide v0.8.8
[INFO] [stderr]     Checking clap_builder v4.5.39
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking object v0.36.7
[INFO] [stderr]     Checking fern v0.7.1
[INFO] [stderr]     Checking sysinfo v0.35.2
[INFO] [stderr]     Checking colored v3.0.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling logos-codegen v0.15.0
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking lasso v0.7.3
[INFO] [stderr]     Checking terminal_size v0.4.2
[INFO] [stderr]     Checking clap v4.5.39
[INFO] [stderr]     Checking backtrace v0.3.75
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling logos-derive v0.15.0
[INFO] [stderr]     Checking logos v0.15.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking unic-langid-impl v0.9.6
[INFO] [stderr]     Checking unic-langid v0.9.6
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking marston-core v0.1.0 (/opt/rustwide/workdir/marston)
[INFO] [stdout] warning: unused import: `resolve`
[INFO] [stdout]  --> marston/src/ast/mod.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ast::ident_table::{get_or_intern, resolve},
[INFO] [stdout]   |                                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]  --> marston/src/ast/mod.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lasso::{Key, Spur};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustc_hash::FxHashMap`
[INFO] [stdout]  --> marston/src/ast/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rustc_hash::FxHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rodeo`
[INFO] [stdout]  --> marston/src/ast/ident_table.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lasso::{Rodeo, Spur, ThreadedRodeo};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `resolve`
[INFO] [stdout]  --> marston/src/ast/mod.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ast::ident_table::{get_or_intern, resolve},
[INFO] [stdout]   |                                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `MarstonDocument`, `Node`, and `get_or_intern`
[INFO] [stdout]  --> marston/src/codegen/generator.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         Block, MarstonDocument, Node, ValueKind,
[INFO] [stdout]   |         ^^^^^  ^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 4 |         ident_table::{get_or_intern, resolve},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Key`
[INFO] [stdout]  --> marston/src/ast/mod.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use lasso::{Key, Spur};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::MarstonDocument`
[INFO] [stdout]  --> marston/src/codegen/mod.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{MPath, MResult, ast::MarstonDocument};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `path::Path` and `self`
[INFO] [stdout]  --> marston/src/codegen/mod.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fs::{self, File, create_dir_all},
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 6 |     io::{BufWriter, Write},
[INFO] [stdout] 7 |     path::Path,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustc_hash::FxHashMap`
[INFO] [stdout]  --> marston/src/ast/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rustc_hash::FxHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rodeo`
[INFO] [stdout]  --> marston/src/ast/ident_table.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lasso::{Rodeo, Spur, ThreadedRodeo};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MarstonDocument`, `Token`, and `ident_table::IdentTable`
[INFO] [stdout]  --> marston/src/context.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ast::{MarstonDocument, ident_table::IdentTable, parser::Parser},
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     lexer::{Token, TokenKind},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logos::Logos`
[INFO] [stdout]   --> marston/src/context.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use logos::Logos;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MPath`
[INFO] [stdout]  --> marston/src/info.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     MPath, Span,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> marston/src/info.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lexer` and `Span`
[INFO] [stdout]  --> marston/src/lexer.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use logos::{Lexer, Logos, Span};
[INFO] [stdout]   |             ^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `MarstonDocument`, `Node`, and `get_or_intern`
[INFO] [stdout]  --> marston/src/codegen/generator.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         Block, MarstonDocument, Node, ValueKind,
[INFO] [stdout]   |         ^^^^^  ^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 4 |         ident_table::{get_or_intern, resolve},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::MarstonDocument`
[INFO] [stdout]  --> marston/src/codegen/mod.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{MPath, MResult, ast::MarstonDocument};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `path::Path` and `self`
[INFO] [stdout]  --> marston/src/codegen/mod.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fs::{self, File, create_dir_all},
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 6 |     io::{BufWriter, Write},
[INFO] [stdout] 7 |     path::Path,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MarstonDocument`, `Token`, and `ident_table::IdentTable`
[INFO] [stdout]  --> marston/src/context.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ast::{MarstonDocument, ident_table::IdentTable, parser::Parser},
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     lexer::{Token, TokenKind},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logos::Logos`
[INFO] [stdout]   --> marston/src/context.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use logos::Logos;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MPath`
[INFO] [stdout]  --> marston/src/info.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     MPath, Span,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> marston/src/info.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Lexer` and `Span`
[INFO] [stdout]  --> marston/src/lexer.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use logos::{Lexer, Logos, Span};
[INFO] [stdout]   |             ^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> marston/src/reports.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{MPath, Span};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::Cow`
[INFO] [stdout]  --> marston/src/reports.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     borrow::Cow,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AttributeEquals`, `BlockInfo`, and `tags::is_unique_tag`
[INFO] [stdout]   --> marston/src/validator/mod.rs:7:45
[INFO] [stdout]    |
[INFO] [stdout]  7 |     html::{lang::is_valid_language_pattern, tags::is_unique_tag},
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     info::{BlockInfo, Info},
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         conditions::{AttributeEquals, Condition, ValidationContext},
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::url::Url`
[INFO] [stdout]   --> marston/src/validator/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use ::url::Url;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashSet`, `fmt::format`, and `path::PathBuf`
[INFO] [stdout]   --> marston/src/validator/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::{collections::HashSet, fmt::format, path::PathBuf};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Span` and `Value`
[INFO] [stdout]  --> marston/src/validator/conditions.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Span,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 3 |     ast::{Block, Value},
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> marston/src/validator/conditions.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{collections::HashMap, fmt::Debug};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MarstonDocument` and `get_or_intern`
[INFO] [stdout]  --> marston/src/validator/rules/block.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Block, MarstonDocument,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |         ident_table::{get_or_intern, resolve},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Block`, `GenericValidator`, `ValueKind`, and `Value`
[INFO] [stdout]   --> marston/src/validator/rules/document.rs:4:9
[INFO] [stdout]    |
[INFO] [stdout]  4 |         Attribute, Block, MarstonDocument, Value, ValueKind,
[INFO] [stdout]    |         ^^^^^^^^^  ^^^^^                   ^^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         GenericValidator, Validate, ValidationRule,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lasso::Spur`
[INFO] [stdout]   --> marston/src/validator/rules/document.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use lasso::Spur;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::format` and `sync::Arc`
[INFO] [stdout]   --> marston/src/validator/rules/document.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::{collections::HashMap, fmt::format, sync::Arc};
[INFO] [stdout]    |                                 ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> marston/src/validator/rules/document.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |         if (!is_unique_tag(name.as_str())) {
[INFO] [stdout]    |            ^                             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -         if (!is_unique_tag(name.as_str())) {
[INFO] [stdout] 70 +         if !is_unique_tag(name.as_str())  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `BlockInfo`, `Block`, `ValidationRule`, `Value`, `conditions::AttributeEquals`, `get_or_intern`, `html::tags::is_unique_tag`, `resolve`, `rules::scripts::validate_script`, and `validate_block_no_children`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:4:9
[INFO] [stdout]    |
[INFO] [stdout]  4 |         Attribute, Block, MarstonDocument, Value, ValueKind,
[INFO] [stdout]    |         ^^^^^^^^^  ^^^^^                   ^^^^^
[INFO] [stdout]  5 |         ident_table::{get_or_intern, resolve},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout]  6 |     },
[INFO] [stdout]  7 |     html::tags::is_unique_tag,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     info::{BlockInfo, Info},
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         GenericValidator, Validate, ValidationRule,
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         conditions::AttributeEquals, rules::scripts::validate_script, validate_block_no_children,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lasso::Spur`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use lasso::Spur;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `fmt::format`, and `sync::Arc`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::{collections::HashMap, fmt::format, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RequiredExtension`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::validator::url::{RequiredExtension, UrlValidation};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 |     if (info.no_head) {
[INFO] [stdout]    |        ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 46 -     if (info.no_head) {
[INFO] [stdout] 46 +     if info.no_head  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 |     if (info.no_head) {
[INFO] [stdout]    |        ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -     if (info.no_head) {
[INFO] [stdout] 61 +     if info.no_head  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> marston/src/reports.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{MPath, Span};
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `borrow::Cow`
[INFO] [stdout]  --> marston/src/reports.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     borrow::Cow,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AttributeEquals`, `BlockInfo`, and `tags::is_unique_tag`
[INFO] [stdout]   --> marston/src/validator/mod.rs:7:45
[INFO] [stdout]    |
[INFO] [stdout]  7 |     html::{lang::is_valid_language_pattern, tags::is_unique_tag},
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     info::{BlockInfo, Info},
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         conditions::{AttributeEquals, Condition, ValidationContext},
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `::url::Url`
[INFO] [stdout]   --> marston/src/validator/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use ::url::Url;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashSet`, `fmt::format`, and `path::PathBuf`
[INFO] [stdout]   --> marston/src/validator/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::{collections::HashSet, fmt::format, path::PathBuf};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Span` and `Value`
[INFO] [stdout]  --> marston/src/validator/conditions.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Span,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 3 |     ast::{Block, Value},
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> marston/src/validator/conditions.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{collections::HashMap, fmt::Debug};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MarstonDocument` and `get_or_intern`
[INFO] [stdout]  --> marston/src/validator/rules/block.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Block, MarstonDocument,
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |         ident_table::{get_or_intern, resolve},
[INFO] [stdout]   |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `Block`, `GenericValidator`, `ValueKind`, and `Value`
[INFO] [stdout]   --> marston/src/validator/rules/document.rs:4:9
[INFO] [stdout]    |
[INFO] [stdout]  4 |         Attribute, Block, MarstonDocument, Value, ValueKind,
[INFO] [stdout]    |         ^^^^^^^^^  ^^^^^                   ^^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         GenericValidator, Validate, ValidationRule,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 |     if (info.no_head) {
[INFO] [stdout]    |        ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -     if (info.no_head) {
[INFO] [stdout] 89 +     if info.no_head  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> marston/src/validator/rules/head.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 |     if (info.no_head) {
[INFO] [stdout]     |        ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -     if (info.no_head) {
[INFO] [stdout] 118 +     if info.no_head  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> marston/src/validator/rules/head.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 |     if (info.no_head) {
[INFO] [stdout]     |        ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -     if (info.no_head) {
[INFO] [stdout] 142 +     if info.no_head  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> marston/src/validator/rules/head.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 |     if (info.no_head) {
[INFO] [stdout]     |        ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 168 -     if (info.no_head) {
[INFO] [stdout] 168 +     if info.no_head  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block` and `ident_table::get_or_intern`
[INFO] [stdout]  --> marston/src/validator/rules/link.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ast::{Block, MarstonDocument, ident_table::get_or_intern},
[INFO] [stdout]   |           ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block` and `Span`
[INFO] [stdout]  --> marston/src/validator/rules/scripts.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Span,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 3 |     ast::{Block, MarstonDocument, ident_table::get_or_intern},
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValidationContext`
[INFO] [stdout]  --> marston/src/validator/url.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |         conditions::{Condition, ValidationContext},
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lasso::Spur`
[INFO] [stdout]   --> marston/src/validator/rules/document.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use lasso::Spur;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::format` and `sync::Arc`
[INFO] [stdout]   --> marston/src/validator/rules/document.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 | use std::{collections::HashMap, fmt::format, sync::Arc};
[INFO] [stdout]    |                                 ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> marston/src/validator/rules/document.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |         if (!is_unique_tag(name.as_str())) {
[INFO] [stdout]    |            ^                             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -         if (!is_unique_tag(name.as_str())) {
[INFO] [stdout] 70 +         if !is_unique_tag(name.as_str())  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Attribute`, `BlockInfo`, `Block`, `ValidationRule`, `Value`, `conditions::AttributeEquals`, `get_or_intern`, `html::tags::is_unique_tag`, `resolve`, `rules::scripts::validate_script`, and `validate_block_no_children`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:4:9
[INFO] [stdout]    |
[INFO] [stdout]  4 |         Attribute, Block, MarstonDocument, Value, ValueKind,
[INFO] [stdout]    |         ^^^^^^^^^  ^^^^^                   ^^^^^
[INFO] [stdout]  5 |         ident_table::{get_or_intern, resolve},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout]  6 |     },
[INFO] [stdout]  7 |     html::tags::is_unique_tag,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  8 |     info::{BlockInfo, Info},
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |         GenericValidator, Validate, ValidationRule,
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         conditions::AttributeEquals, rules::scripts::validate_script, validate_block_no_children,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lasso::Spur`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use lasso::Spur;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::HashMap`, `fmt::format`, and `sync::Arc`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::{collections::HashMap, fmt::format, sync::Arc};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RequiredExtension`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::validator::url::{RequiredExtension, UrlValidation};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 |     if (info.no_head) {
[INFO] [stdout]    |        ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 46 -     if (info.no_head) {
[INFO] [stdout] 46 +     if info.no_head  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 |     if (info.no_head) {
[INFO] [stdout]    |        ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -     if (info.no_head) {
[INFO] [stdout] 61 +     if info.no_head  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 |     if (info.no_head) {
[INFO] [stdout]    |        ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -     if (info.no_head) {
[INFO] [stdout] 89 +     if info.no_head  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> marston/src/validator/rules/head.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 |     if (info.no_head) {
[INFO] [stdout]     |        ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -     if (info.no_head) {
[INFO] [stdout] 118 +     if info.no_head  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> marston/src/validator/rules/head.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 |     if (info.no_head) {
[INFO] [stdout]     |        ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -     if (info.no_head) {
[INFO] [stdout] 142 +     if info.no_head  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> marston/src/validator/rules/head.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 |     if (info.no_head) {
[INFO] [stdout]     |        ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 168 -     if (info.no_head) {
[INFO] [stdout] 168 +     if info.no_head  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block` and `ident_table::get_or_intern`
[INFO] [stdout]  --> marston/src/validator/rules/link.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ast::{Block, MarstonDocument, ident_table::get_or_intern},
[INFO] [stdout]   |           ^^^^^                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block` and `Span`
[INFO] [stdout]  --> marston/src/validator/rules/scripts.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Span,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 3 |     ast::{Block, MarstonDocument, ident_table::get_or_intern},
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValidationContext`
[INFO] [stdout]  --> marston/src/validator/url.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |         conditions::{Condition, ValidationContext},
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate-level attribute should be an inner attribute
[INFO] [stdout]  --> marston/src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[feature(let_chains)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: add a `!`
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(let_chains)]
[INFO] [stdout]   |  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate-level attribute should be an inner attribute
[INFO] [stdout]  --> marston/src/lib.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[feature(let_chains)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: add a `!`
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(let_chains)]
[INFO] [stdout]   |  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Validate`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |         GenericValidator, Validate, ValidationRule,
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Validate`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |         GenericValidator, Validate, ValidationRule,
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]   --> marston/src/validator/rules/block.rs:28:54
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn validate_attributes_uniqueness(block: &Block, info: &mut Info) {
[INFO] [stdout]    |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `doc`
[INFO] [stdout]   --> marston/src/validator/rules/document.rs:86:29
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn ensure_required_tags(doc: &MarstonDocument, info: &mut Info) {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_doc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:69:30
[INFO] [stdout]    |
[INFO] [stdout] 69 |         .check_value(|value, span, _| {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueKindHelper` is never used
[INFO] [stdout]    --> marston/src/ast/mod.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub enum ValueKindHelper {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ctx` is never read
[INFO] [stdout]   --> marston/src/ast/parser.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 20 |     pub ctx: &'a Context,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Parser` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> marston/src/ast/parser.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn check_any(&self, token_types: &[TokenKind]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn match_any(&mut self, token_types: &[TokenKind]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn consume_any(&mut self, token_types: &[TokenKind], message: &str) -> Option<&Token> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn consume_any_with_span(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn consume_identifier_with_span(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn consume_specific_identifier(&mut self, expected: &str, message: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn skip_until(&mut self, token_types: &[TokenKind]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     fn error_expected_any_token(&mut self, expected: &[TokenKind], message: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     fn error_expected_any_token_at_span(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     fn error_expected_identifier_at_span(&mut self, message: &str, span: Range<usize>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     pub fn error_at_previous(&self, message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 448 |     fn error_at_end(&self, message: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub fn error_with_label(&self, message: &str, label_span: Range<usize>, label_message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     pub fn error_with_note(&self, message: &str, note: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn check_sequence(&self, sequence: &[TokenKind]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `newline` are never used
[INFO] [stdout]   --> marston/src/codegen/mod.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Codegen {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn write(&mut self, text: &str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn newline(&mut self) -> &mut Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cwd` is never read
[INFO] [stdout]   --> marston/src/context.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 19 |     config: Config,
[INFO] [stdout] 20 |     cwd: MPath,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_element` is never used
[INFO] [stdout]    --> marston/src/html/ir.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn find_element(elements: &mut [IrNode], tag: Spur) -> &mut IrElement {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockId` is never constructed
[INFO] [stdout]  --> marston/src/info.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct BlockId(pub usize);
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `depth`, and `parent` are never read
[INFO] [stdout]   --> marston/src/info.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct BlockInfo {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 13 |     pub id: usize,
[INFO] [stdout]    |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub depth: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 17 |     pub parent: Option<usize>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `all_blocks_named` and `find_blocks_by_name_and_parent` are never used
[INFO] [stdout]   --> marston/src/info.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Info {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn all_blocks_named(&self, name: Spur) -> Vec<&BlockInfo> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn find_blocks_by_name_and_parent(&self, name: Spur, parent_name: Spur) -> Vec<&BlockInfo> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_start`, `move_by`, and `move_back_by` are never used
[INFO] [stdout]  --> marston/src/span.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait SpanUtils {
[INFO] [stdout]   |           --------- methods in this trait
[INFO] [stdout] 4 |     fn to_start(&self) -> Range<usize>;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     fn move_by(&self, offset: usize) -> Range<usize>;
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 9 |     fn move_back_by(&self, offset: usize) -> Range<usize>;
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `url_validation` is never read
[INFO] [stdout]   --> marston/src/validator/mod.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct GenericValidator {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     url_validation: Option<UrlValidation>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `must_be_number`, `string_min_length_error`, `string_max_length_error`, `number_min`, `number_max`, and `number_positive` are never used
[INFO] [stdout]    --> marston/src/validator/mod.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl GenericValidator {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn must_be_number(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn string_min_length_error(self, min: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub fn string_max_length_error(self, max: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn number_min(self, min: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn number_max(self, max: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn number_positive(self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> marston/src/validator/conditions.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ConditionResult {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn join(self, other: ConditionResult) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `And` is never constructed
[INFO] [stdout]   --> marston/src/validator/conditions.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct And<C1: Condition, C2: Condition> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_required` is never used
[INFO] [stdout]   --> marston/src/validator/conditions.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl GenericValidator {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn is_required(&self, context: &ValidationContext) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking marston v0.1.0 (/opt/rustwide/workdir/cli)
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]   --> marston/src/validator/rules/block.rs:28:54
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn validate_attributes_uniqueness(block: &Block, info: &mut Info) {
[INFO] [stdout]    |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `doc`
[INFO] [stdout]   --> marston/src/validator/rules/document.rs:86:29
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn ensure_required_tags(doc: &MarstonDocument, info: &mut Info) {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_doc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> marston/src/validator/rules/head.rs:69:30
[INFO] [stdout]    |
[INFO] [stdout] 69 |         .check_value(|value, span, _| {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueKindHelper` is never used
[INFO] [stdout]    --> marston/src/ast/mod.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub enum ValueKindHelper {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ctx` is never read
[INFO] [stdout]   --> marston/src/ast/parser.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Parser<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 20 |     pub ctx: &'a Context,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Parser` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> marston/src/ast/parser.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn check_any(&self, token_types: &[TokenKind]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn match_any(&mut self, token_types: &[TokenKind]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn consume_any(&mut self, token_types: &[TokenKind], message: &str) -> Option<&Token> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn consume_any_with_span(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn consume_identifier_with_span(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn consume_specific_identifier(&mut self, expected: &str, message: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn skip_until(&mut self, token_types: &[TokenKind]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     fn error_expected_any_token(&mut self, expected: &[TokenKind], message: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     fn error_expected_any_token_at_span(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     fn error_expected_identifier_at_span(&mut self, message: &str, span: Range<usize>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 434 |     pub fn error_at_previous(&self, message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 448 |     fn error_at_end(&self, message: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     pub fn error_with_label(&self, message: &str, label_span: Range<usize>, label_message: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     pub fn error_with_note(&self, message: &str, note: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn check_sequence(&self, sequence: &[TokenKind]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `newline` are never used
[INFO] [stdout]   --> marston/src/codegen/mod.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Codegen {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn write(&mut self, text: &str) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn newline(&mut self) -> &mut Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cwd` is never read
[INFO] [stdout]   --> marston/src/context.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Context {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 19 |     config: Config,
[INFO] [stdout] 20 |     cwd: MPath,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Context` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_element` is never used
[INFO] [stdout]    --> marston/src/html/ir.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn find_element(elements: &mut [IrNode], tag: Spur) -> &mut IrElement {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockId` is never constructed
[INFO] [stdout]  --> marston/src/info.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct BlockId(pub usize);
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `depth`, and `parent` are never read
[INFO] [stdout]   --> marston/src/info.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct BlockInfo {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 13 |     pub id: usize,
[INFO] [stdout]    |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub depth: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 17 |     pub parent: Option<usize>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BlockInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `all_blocks_named` and `find_blocks_by_name_and_parent` are never used
[INFO] [stdout]   --> marston/src/info.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Info {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn all_blocks_named(&self, name: Spur) -> Vec<&BlockInfo> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn find_blocks_by_name_and_parent(&self, name: Spur, parent_name: Spur) -> Vec<&BlockInfo> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_start`, `move_by`, and `move_back_by` are never used
[INFO] [stdout]  --> marston/src/span.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait SpanUtils {
[INFO] [stdout]   |           --------- methods in this trait
[INFO] [stdout] 4 |     fn to_start(&self) -> Range<usize>;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     fn move_by(&self, offset: usize) -> Range<usize>;
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 9 |     fn move_back_by(&self, offset: usize) -> Range<usize>;
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `url_validation` is never read
[INFO] [stdout]   --> marston/src/validator/mod.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct GenericValidator {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     url_validation: Option<UrlValidation>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `must_be_number`, `string_min_length_error`, `string_max_length_error`, `number_min`, `number_max`, and `number_positive` are never used
[INFO] [stdout]    --> marston/src/validator/mod.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl GenericValidator {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn must_be_number(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn string_min_length_error(self, min: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub fn string_max_length_error(self, max: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn number_min(self, min: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn number_max(self, max: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn number_positive(self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `join` is never used
[INFO] [stdout]   --> marston/src/validator/conditions.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ConditionResult {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn join(self, other: ConditionResult) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `And` is never constructed
[INFO] [stdout]   --> marston/src/validator/conditions.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct And<C1: Condition, C2: Condition> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_required` is never used
[INFO] [stdout]   --> marston/src/validator/conditions.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl GenericValidator {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn is_required(&self, context: &ValidationContext) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOP` is never used
[INFO] [stdout]  --> cli/src/clap.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const NOP: Style = Style::new();
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WARN` is never used
[INFO] [stdout]   --> cli/src/clap.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const WARN: Style = AnsiColor::Yellow.on_default().effects(Effects::BOLD);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTE` is never used
[INFO] [stdout]   --> cli/src/clap.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const NOTE: Style = AnsiColor::Cyan.on_default().effects(Effects::BOLD);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOOD` is never used
[INFO] [stdout]   --> cli/src/clap.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const GOOD: Style = AnsiColor::Green.on_default().effects(Effects::BOLD);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `positional` is never used
[INFO] [stdout]   --> cli/src/clap.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn positional(name: &'static str, help: &'static str) -> Arg {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMPILATION_HEADING` is never used
[INFO] [stdout]   --> cli/src/clap.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const COMPILATION_HEADING: &str = "Compilation options";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOP` is never used
[INFO] [stdout]  --> cli/src/clap.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const NOP: Style = Style::new();
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WARN` is never used
[INFO] [stdout]   --> cli/src/clap.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const WARN: Style = AnsiColor::Yellow.on_default().effects(Effects::BOLD);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOTE` is never used
[INFO] [stdout]   --> cli/src/clap.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const NOTE: Style = AnsiColor::Cyan.on_default().effects(Effects::BOLD);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOOD` is never used
[INFO] [stdout]   --> cli/src/clap.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const GOOD: Style = AnsiColor::Green.on_default().effects(Effects::BOLD);
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `positional` is never used
[INFO] [stdout]   --> cli/src/clap.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn positional(name: &'static str, help: &'static str) -> Arg {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMPILATION_HEADING` is never used
[INFO] [stdout]   --> cli/src/clap.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const COMPILATION_HEADING: &str = "Compilation options";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.16s
[INFO] running `Command { std: "docker" "inspect" "58af8681bce10314ebfeb26384320b960c77e7b5aba99866b1c25b90f6af4e58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58af8681bce10314ebfeb26384320b960c77e7b5aba99866b1c25b90f6af4e58", kill_on_drop: false }`
[INFO] [stdout] 58af8681bce10314ebfeb26384320b960c77e7b5aba99866b1c25b90f6af4e58
