[INFO] fetching crate shuck-linter 0.2.1...
[INFO] documenting shuck-linter-0.2.1 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate shuck-linter 0.2.1 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate shuck-linter 0.2.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate shuck-linter 0.2.1
[INFO] tweaked toml for crates.io crate shuck-linter 0.2.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate shuck-linter 0.2.1 on toolchain da3f5c31e5535b3dc210067de660a45784ae1e9c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate shuck-linter 0.2.1 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" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f39dc427308edb83d330ffa1baa2d6413ff6541f39536f4d659e22161bcfa447
[INFO] running `Command { std: "docker" "start" "f39dc427308edb83d330ffa1baa2d6413ff6541f39536f4d659e22161bcfa447", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f39dc427308edb83d330ffa1baa2d6413ff6541f39536f4d659e22161bcfa447", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f39dc427308edb83d330ffa1baa2d6413ff6541f39536f4d659e22161bcfa447" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f39dc427308edb83d330ffa1baa2d6413ff6541f39536f4d659e22161bcfa447", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f39dc427308edb83d330ffa1baa2d6413ff6541f39536f4d659e22161bcfa447" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking shuck-ast v0.2.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking shuck-parser v0.2.1
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]     Checking shuck-indexer v0.2.1
[INFO] [stderr]    Compiling shuck-linter v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking shuck-semantic v0.2.1
[INFO] [stderr]  Documenting shuck-linter v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/diagnostic.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / pub struct Diagnostic {
[INFO] [stdout] 46 | |     /// Rule that emitted this diagnostic.
[INFO] [stdout] 47 | |     pub rule: Rule,
[INFO] [stdout] 48 | |     /// Human-readable explanation of the violation.
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     pub fix_title: Option<String>,
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Rule diagnostics and severity levels.`
[INFO] [stdout]    = help: ends near `A diagnostic produced by Shuck analysis.`
[INFO] [stdout]    = note: `#[deny(rustdoc::unportable_markdown)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/diagnostic.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / pub struct Diagnostic {
[INFO] [stdout] 46 | |     /// Rule that emitted this diagnostic.
[INFO] [stdout] 47 | |     pub rule: Rule,
[INFO] [stdout] 48 | |     /// Human-readable explanation of the violation.
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |     pub fix_title: Option<String>,
[INFO] [stdout] 60 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `A diagnostic produced by Shuck analysis.`
[INFO] [stdout]    = help: ends near `A diagnostic produced by Shuck analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/fix.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / pub enum Applicability {
[INFO] [stdout] 11 | |     /// Apply only edits designed to preserve program behavior.
[INFO] [stdout] 12 | |     Safe,
[INFO] [stdout] 13 | |     /// Allow edits that may change behavior and require review.
[INFO] [stdout] 14 | |     Unsafe,
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Autofix types and fix application helpers.`
[INFO] [stdout]    = help: ends near `Confidence level required before an edit may be applied automatically.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/fix.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / pub enum Applicability {
[INFO] [stdout] 11 | |     /// Apply only edits designed to preserve program behavior.
[INFO] [stdout] 12 | |     Safe,
[INFO] [stdout] 13 | |     /// Allow edits that may change behavior and require review.
[INFO] [stdout] 14 | |     Unsafe,
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Confidence level required before an edit may be applied automatically.`
[INFO] [stdout]    = help: ends near `Confidence level required before an edit may be applied automatically.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/fix.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | / pub struct AppliedFixes {
[INFO] [stdout] 150 | |     /// Source text after applying all compatible edits.
[INFO] [stdout] 151 | |     pub code: String,
[INFO] [stdout] 152 | |     /// Number of diagnostic fixes applied.
[INFO] [stdout] 153 | |     pub fixes_applied: usize,
[INFO] [stdout] 154 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Autofix types and fix application helpers.`
[INFO] [stdout]     = help: ends near `Source text and count produced by [`apply_fixes`].`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/fix.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | / pub struct AppliedFixes {
[INFO] [stdout] 150 | |     /// Source text after applying all compatible edits.
[INFO] [stdout] 151 | |     pub code: String,
[INFO] [stdout] 152 | |     /// Number of diagnostic fixes applied.
[INFO] [stdout] 153 | |     pub fixes_applied: usize,
[INFO] [stdout] 154 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Source text and count produced by [`apply_fixes`].`
[INFO] [stdout]     = help: ends near `Source text and count produced by [`apply_fixes`].`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/fix.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / pub struct Edit {
[INFO] [stdout] 41 | |     range: TextRange,
[INFO] [stdout] 42 | |     content: CompactString,
[INFO] [stdout] 43 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Autofix types and fix application helpers.`
[INFO] [stdout]    = help: ends near `One source replacement within a [`Fix`].`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/fix.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / pub struct Edit {
[INFO] [stdout] 41 | |     range: TextRange,
[INFO] [stdout] 42 | |     content: CompactString,
[INFO] [stdout] 43 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `One source replacement within a [`Fix`].`
[INFO] [stdout]    = help: ends near `One source replacement within a [`Fix`].`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/fix.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | / pub struct Fix {
[INFO] [stdout] 101 | |     edits: Box<[Edit]>,
[INFO] [stdout] 102 | |     applicability: Applicability,
[INFO] [stdout] 103 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Autofix types and fix application helpers.`
[INFO] [stdout]     = help: ends near `A non-empty set of source edits and its applicability level.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/fix.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | / pub struct Fix {
[INFO] [stdout] 101 | |     edits: Box<[Edit]>,
[INFO] [stdout] 102 | |     applicability: Applicability,
[INFO] [stdout] 103 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `A non-empty set of source edits and its applicability level.`
[INFO] [stdout]     = help: ends near `A non-empty set of source edits and its applicability level.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/fix.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | / pub enum FixAvailability {
[INFO] [stdout] 30 | |     /// The rule does not provide fixes.
[INFO] [stdout] 31 | |     None,
[INFO] [stdout] 32 | |     /// The rule provides fixes for some diagnostics.
[INFO] [stdout] ...  |
[INFO] [stdout] 35 | |     Always,
[INFO] [stdout] 36 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Autofix types and fix application helpers.`
[INFO] [stdout]    = help: ends near `Whether a rule can provide an autofix.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/fix.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | / pub enum FixAvailability {
[INFO] [stdout] 30 | |     /// The rule does not provide fixes.
[INFO] [stdout] 31 | |     None,
[INFO] [stdout] 32 | |     /// The rule provides fixes for some diagnostics.
[INFO] [stdout] ...  |
[INFO] [stdout] 35 | |     Always,
[INFO] [stdout] 36 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Whether a rule can provide an autofix.`
[INFO] [stdout]    = help: ends near `Whether a rule can provide an autofix.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/fix.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | / pub fn apply_fixes(
[INFO] [stdout] 163 | |     source: &str,
[INFO] [stdout] 164 | |     diagnostics: &[Diagnostic],
[INFO] [stdout] 165 | |     applicability: Applicability,
[INFO] [stdout] ...   |
[INFO] [stdout] 223 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Autofix types and fix application helpers.`
[INFO] [stdout]     = help: ends near `Applies non-conflicting diagnostic fixes at or below `applicability`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/fix.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | / pub fn apply_fixes(
[INFO] [stdout] 163 | |     source: &str,
[INFO] [stdout] 164 | |     diagnostics: &[Diagnostic],
[INFO] [stdout] 165 | |     applicability: Applicability,
[INFO] [stdout] ...   |
[INFO] [stdout] 223 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Applies non-conflicting diagnostic fixes at or below `applicability`.`
[INFO] [stdout]     = help: ends near `Applies non-conflicting diagnostic fixes at or below `applicability`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/registry.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | / declare_rules! {
[INFO] [stdout]  86 | |     ("C001", Category::Correctness, Severity::Warning, UnusedAssignment),
[INFO] [stdout]  87 | |     ("C002", Category::Correctness, Severity::Warning, DynamicSourcePath),
[INFO] [stdout]  88 | |     ("C003", Category::Correctness, Severity::Warning, UntrackedSourceFile),
[INFO] [stdout] ...   |
[INFO] [stdout] 716 | |     ("S085", Category::Style, Severity::Warning, MissingMainEntrypoint),
[INFO] [stdout] 717 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Rule identifiers, categories, and registry lookup helpers.`
[INFO] [stdout]     = help: ends near `Identifier for a registered lint rule.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/registry.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | / declare_rules! {
[INFO] [stdout]  86 | |     ("C001", Category::Correctness, Severity::Warning, UnusedAssignment),
[INFO] [stdout]  87 | |     ("C002", Category::Correctness, Severity::Warning, DynamicSourcePath),
[INFO] [stdout]  88 | |     ("C003", Category::Correctness, Severity::Warning, UntrackedSourceFile),
[INFO] [stdout] ...   |
[INFO] [stdout] 716 | |     ("S085", Category::Style, Severity::Warning, MissingMainEntrypoint),
[INFO] [stdout] 717 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Identifier for a registered lint rule.`
[INFO] [stdout]     = help: ends near `Identifier for a registered lint rule.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | / pub struct AmbientShellOptions {
[INFO] [stdout] 358 | |     /// Assume `errexit` (`set -e`) behavior is active.
[INFO] [stdout] 359 | |     pub errexit: bool,
[INFO] [stdout] 360 | |     /// Assume `pipefail` behavior is active.
[INFO] [stdout] 361 | |     pub pipefail: bool,
[INFO] [stdout] 362 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Shell options assumed to be enabled before the analyzed source runs.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | / pub struct AmbientShellOptions {
[INFO] [stdout] 358 | |     /// Assume `errexit` (`set -e`) behavior is active.
[INFO] [stdout] 359 | |     pub errexit: bool,
[INFO] [stdout] 360 | |     /// Assume `pipefail` behavior is active.
[INFO] [stdout] 361 | |     pub pipefail: bool,
[INFO] [stdout] 362 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Shell options assumed to be enabled before the analyzed source runs.`
[INFO] [stdout]     = help: ends near `Shell options assumed to be enabled before the analyzed source runs.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/settings.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / pub struct C001RuleOptions {
[INFO] [stdout] 62 | |     /// Whether scalar indirect-expansion targets like `${!name}` count as a use of the target.
[INFO] [stdout] 63 | |     /// Disabled by default to match ShellCheck. Array-like targets such as
[INFO] [stdout] 64 | |     /// `name=arr[@]; ${!name}` stay live in both modes.
[INFO] [stdout] 65 | |     pub treat_indirect_expansion_targets_as_used: bool,
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]    = help: ends near `Behavior overrides for `C001` unused-assignment analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/settings.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / pub struct C001RuleOptions {
[INFO] [stdout] 62 | |     /// Whether scalar indirect-expansion targets like `${!name}` count as a use of the target.
[INFO] [stdout] 63 | |     /// Disabled by default to match ShellCheck. Array-like targets such as
[INFO] [stdout] 64 | |     /// `name=arr[@]; ${!name}` stay live in both modes.
[INFO] [stdout] 65 | |     pub treat_indirect_expansion_targets_as_used: bool,
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Behavior overrides for `C001` unused-assignment analysis.`
[INFO] [stdout]    = help: ends near `Behavior overrides for `C001` unused-assignment analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/settings.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / pub struct C063RuleOptions {
[INFO] [stdout] 80 | |     /// Whether nested function definitions should be reported when no reachable direct call
[INFO] [stdout] 81 | |     /// reaches the enclosing function scope before that scope exits.
[INFO] [stdout] 82 | |     pub report_unreached_nested_definitions: bool,
[INFO] [stdout] 83 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]    = help: ends near `Behavior overrides for `C063` overwritten/unreached function analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/settings.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / pub struct C063RuleOptions {
[INFO] [stdout] 80 | |     /// Whether nested function definitions should be reported when no reachable direct call
[INFO] [stdout] 81 | |     /// reaches the enclosing function scope before that scope exits.
[INFO] [stdout] 82 | |     pub report_unreached_nested_definitions: bool,
[INFO] [stdout] 83 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Behavior overrides for `C063` overwritten/unreached function analysis.`
[INFO] [stdout]    = help: ends near `Behavior overrides for `C063` overwritten/unreached function analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | / pub struct C158RuleOptions {
[INFO] [stdout] 251 | |     /// Whether top-level readonly declarations document intentional globals.
[INFO] [stdout] 252 | |     pub treat_readonly_as_documented: bool,
[INFO] [stdout] 253 | |     /// Whether top-level exported bindings document intentional globals.
[INFO] [stdout] 254 | |     pub treat_export_as_intentional: bool,
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `C158` implicit global assignment analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | / pub struct C158RuleOptions {
[INFO] [stdout] 251 | |     /// Whether top-level readonly declarations document intentional globals.
[INFO] [stdout] 252 | |     pub treat_readonly_as_documented: bool,
[INFO] [stdout] 253 | |     /// Whether top-level exported bindings document intentional globals.
[INFO] [stdout] 254 | |     pub treat_export_as_intentional: bool,
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `C158` implicit global assignment analysis.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `C158` implicit global assignment analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:268:1
[INFO] [stdout]     |
[INFO] [stdout] 268 | / pub struct C159RuleOptions {
[INFO] [stdout] 269 | |     /// Whether self-referential default initializers such as `name=${name:-value}` are allowed.
[INFO] [stdout] 270 | |     pub allow_conditional_init: bool,
[INFO] [stdout] 271 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `C159` mutable-global analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:268:1
[INFO] [stdout]     |
[INFO] [stdout] 268 | / pub struct C159RuleOptions {
[INFO] [stdout] 269 | |     /// Whether self-referential default initializers such as `name=${name:-value}` are allowed.
[INFO] [stdout] 270 | |     pub allow_conditional_init: bool,
[INFO] [stdout] 271 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `C159` mutable-global analysis.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `C159` mutable-global analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | / pub struct C160RuleOptions {
[INFO] [stdout] 284 | |     /// Path prefix expressions accepted as script-directory anchors.
[INFO] [stdout] 285 | |     pub allowed_anchors: Vec<String>,
[INFO] [stdout] 286 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `C160` unanchored source path analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:283:1
[INFO] [stdout]     |
[INFO] [stdout] 283 | / pub struct C160RuleOptions {
[INFO] [stdout] 284 | |     /// Path prefix expressions accepted as script-directory anchors.
[INFO] [stdout] 285 | |     pub allowed_anchors: Vec<String>,
[INFO] [stdout] 286 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `C160` unanchored source path analysis.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `C160` unanchored source path analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | / pub struct C161RuleOptions {
[INFO] [stdout] 302 | |     /// Whether calls after a source command are ignored because sourced files may define functions.
[INFO] [stdout] 303 | |     pub ignore_after_source: bool,
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `C161` function-call ordering analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | / pub struct C161RuleOptions {
[INFO] [stdout] 302 | |     /// Whether calls after a source command are ignored because sourced files may define functions.
[INFO] [stdout] 303 | |     pub ignore_after_source: bool,
[INFO] [stdout] 304 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `C161` function-call ordering analysis.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `C161` function-call ordering analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:410:1
[INFO] [stdout]     |
[INFO] [stdout] 410 | / pub struct CompiledPerFileIgnoreList {
[INFO] [stdout] 411 | |     project_root: PathBuf,
[INFO] [stdout] 412 | |     entries: Vec<CompiledPerFileIgnore>,
[INFO] [stdout] 413 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Compiled per-file rule exclusions resolved relative to one project root.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:410:1
[INFO] [stdout]     |
[INFO] [stdout] 410 | / pub struct CompiledPerFileIgnoreList {
[INFO] [stdout] 411 | |     project_root: PathBuf,
[INFO] [stdout] 412 | |     entries: Vec<CompiledPerFileIgnore>,
[INFO] [stdout] 413 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compiled per-file rule exclusions resolved relative to one project root.`
[INFO] [stdout]     = help: ends near `Compiled per-file rule exclusions resolved relative to one project root.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | / pub struct CompiledPerFileShellList {
[INFO] [stdout] 445 | |     project_root: PathBuf,
[INFO] [stdout] 446 | |     entries: Vec<CompiledPerFileShell>,
[INFO] [stdout] 447 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Compiled per-file shell mappings resolved relative to one project root.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:444:1
[INFO] [stdout]     |
[INFO] [stdout] 444 | / pub struct CompiledPerFileShellList {
[INFO] [stdout] 445 | |     project_root: PathBuf,
[INFO] [stdout] 446 | |     entries: Vec<CompiledPerFileShell>,
[INFO] [stdout] 447 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compiled per-file shell mappings resolved relative to one project root.`
[INFO] [stdout]     = help: ends near `Compiled per-file shell mappings resolved relative to one project root.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/settings.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / pub struct LinterRuleOptions {
[INFO] [stdout] 29 | |     /// Behavior overrides for `C001`.
[INFO] [stdout] 30 | |     pub c001: C001RuleOptions,
[INFO] [stdout] 31 | |     /// Behavior overrides for `C063`.
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |     pub c161: C161RuleOptions,
[INFO] [stdout] 57 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]    = help: ends near `Per-rule behavior overrides applied during lint analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/settings.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / pub struct LinterRuleOptions {
[INFO] [stdout] 29 | |     /// Behavior overrides for `C001`.
[INFO] [stdout] 30 | |     pub c001: C001RuleOptions,
[INFO] [stdout] 31 | |     /// Behavior overrides for `C063`.
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |     pub c161: C161RuleOptions,
[INFO] [stdout] 57 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Per-rule behavior overrides applied during lint analysis.`
[INFO] [stdout]    = help: ends near `Per-rule behavior overrides applied during lint analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:332:1
[INFO] [stdout]     |
[INFO] [stdout] 332 | / pub struct LinterSettings {
[INFO] [stdout] 333 | |     /// Rules enabled for this analysis pass.
[INFO] [stdout] 334 | |     pub rules: RuleSet,
[INFO] [stdout] 335 | |     /// Per-rule severity overrides applied to emitted diagnostics.
[INFO] [stdout] ...   |
[INFO] [stdout] 352 | |     pub rule_options: LinterRuleOptions,
[INFO] [stdout] 353 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Configuration for a linter analysis pass.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:332:1
[INFO] [stdout]     |
[INFO] [stdout] 332 | / pub struct LinterSettings {
[INFO] [stdout] 333 | |     /// Rules enabled for this analysis pass.
[INFO] [stdout] 334 | |     pub rules: RuleSet,
[INFO] [stdout] 335 | |     /// Per-rule severity overrides applied to emitted diagnostics.
[INFO] [stdout] ...   |
[INFO] [stdout] 352 | |     pub rule_options: LinterRuleOptions,
[INFO] [stdout] 353 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Configuration for a linter analysis pass.`
[INFO] [stdout]     = help: ends near `Configuration for a linter analysis pass.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:383:1
[INFO] [stdout]     |
[INFO] [stdout] 383 | / pub struct PerFileIgnore {
[INFO] [stdout] 384 | |     pattern: String,
[INFO] [stdout] 385 | |     rules: RuleSet,
[INFO] [stdout] 386 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `A glob pattern paired with the rules ignored for matching files.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:383:1
[INFO] [stdout]     |
[INFO] [stdout] 383 | / pub struct PerFileIgnore {
[INFO] [stdout] 384 | |     pattern: String,
[INFO] [stdout] 385 | |     rules: RuleSet,
[INFO] [stdout] 386 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `A glob pattern paired with the rules ignored for matching files.`
[INFO] [stdout]     = help: ends near `A glob pattern paired with the rules ignored for matching files.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / pub struct PerFileShell {
[INFO] [stdout] 418 | |     pattern: String,
[INFO] [stdout] 419 | |     shell: ShellDialect,
[INFO] [stdout] 420 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `A glob pattern paired with the shell dialect selected for matching files.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / pub struct PerFileShell {
[INFO] [stdout] 418 | |     pattern: String,
[INFO] [stdout] 419 | |     shell: ShellDialect,
[INFO] [stdout] 420 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `A glob pattern paired with the shell dialect selected for matching files.`
[INFO] [stdout]     = help: ends near `A glob pattern paired with the shell dialect selected for matching files.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | / pub struct S078RuleOptions {
[INFO] [stdout] 113 | |     /// Interpreter names accepted in shebangs for this project.
[INFO] [stdout] 114 | |     pub allowed_shells: Vec<String>,
[INFO] [stdout] 115 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S078` shebang shell policy.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | / pub struct S078RuleOptions {
[INFO] [stdout] 113 | |     /// Interpreter names accepted in shebangs for this project.
[INFO] [stdout] 114 | |     pub allowed_shells: Vec<String>,
[INFO] [stdout] 115 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `S078` shebang shell policy.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S078` shebang shell policy.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | / pub struct S079RuleOptions {
[INFO] [stdout] 128 | |     /// Invocation forms accepted for shebangs in this project.
[INFO] [stdout] 129 | |     pub allowed_forms: Vec<String>,
[INFO] [stdout] 130 | |     /// Exact shebang invocation strings that are accepted regardless of form.
[INFO] [stdout] 131 | |     pub allowed_paths: Vec<String>,
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S079` shebang invocation form policy.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | / pub struct S079RuleOptions {
[INFO] [stdout] 128 | |     /// Invocation forms accepted for shebangs in this project.
[INFO] [stdout] 129 | |     pub allowed_forms: Vec<String>,
[INFO] [stdout] 130 | |     /// Exact shebang invocation strings that are accepted regardless of form.
[INFO] [stdout] 131 | |     pub allowed_paths: Vec<String>,
[INFO] [stdout] 132 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `S079` shebang invocation form policy.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S079` shebang invocation form policy.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/settings.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 | / pub struct S080RuleOptions {
[INFO] [stdout] 95 | |     /// Maximum line count accepted for one script.
[INFO] [stdout] 96 | |     pub max_lines: usize,
[INFO] [stdout] 97 | |     /// Which source lines count toward the threshold.
[INFO] [stdout] 98 | |     pub count: String,
[INFO] [stdout] 99 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]    = help: ends near `Behavior overrides for `S080` script size policy.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/settings.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 | / pub struct S080RuleOptions {
[INFO] [stdout] 95 | |     /// Maximum line count accepted for one script.
[INFO] [stdout] 96 | |     pub max_lines: usize,
[INFO] [stdout] 97 | |     /// Which source lines count toward the threshold.
[INFO] [stdout] 98 | |     pub count: String,
[INFO] [stdout] 99 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Behavior overrides for `S080` script size policy.`
[INFO] [stdout]    = help: ends near `Behavior overrides for `S080` script size policy.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / pub struct S081RuleOptions {
[INFO] [stdout] 146 | |     /// Whether files containing only a shebang are exempt from the rule.
[INFO] [stdout] 147 | |     pub ignore_shebang_only_files: bool,
[INFO] [stdout] 148 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S081` file description comments.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / pub struct S081RuleOptions {
[INFO] [stdout] 146 | |     /// Whether files containing only a shebang are exempt from the rule.
[INFO] [stdout] 147 | |     pub ignore_shebang_only_files: bool,
[INFO] [stdout] 148 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `S081` file description comments.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S081` file description comments.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | / pub struct S082RuleOptions {
[INFO] [stdout] 153 | |     /// Comment markers that are checked at the start of a comment.
[INFO] [stdout] 154 | |     pub kinds: Vec<String>,
[INFO] [stdout] 155 | |     /// Whether a checked marker must be followed immediately by `(owner)`.
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |     pub require_message: bool,
[INFO] [stdout] 159 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S082` TODO-style comment formatting.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:152:1
[INFO] [stdout]     |
[INFO] [stdout] 152 | / pub struct S082RuleOptions {
[INFO] [stdout] 153 | |     /// Comment markers that are checked at the start of a comment.
[INFO] [stdout] 154 | |     pub kinds: Vec<String>,
[INFO] [stdout] 155 | |     /// Whether a checked marker must be followed immediately by `(owner)`.
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |     pub require_message: bool,
[INFO] [stdout] 159 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `S082` TODO-style comment formatting.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S082` TODO-style comment formatting.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | / pub enum S083FunctionDocRequirement {
[INFO] [stdout] 174 | |     /// Require documentation for every function.
[INFO] [stdout] 175 | |     All,
[INFO] [stdout] 176 | |     /// Require documentation only for exported functions.
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |     Parameterized,
[INFO] [stdout] 183 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Which functions require a leading documentation comment for `S083`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | / pub enum S083FunctionDocRequirement {
[INFO] [stdout] 174 | |     /// Require documentation for every function.
[INFO] [stdout] 175 | |     All,
[INFO] [stdout] 176 | |     /// Require documentation only for exported functions.
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |     Parameterized,
[INFO] [stdout] 183 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Which functions require a leading documentation comment for `S083`.`
[INFO] [stdout]     = help: ends near `Which functions require a leading documentation comment for `S083`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | / pub struct S083RuleOptions {
[INFO] [stdout] 188 | |     /// Function classification that determines when documentation is required.
[INFO] [stdout] 189 | |     pub require_for: S083FunctionDocRequirement,
[INFO] [stdout] 190 | |     /// Minimum function length used when [`S083FunctionDocRequirement::Long`] is selected.
[INFO] [stdout] 191 | |     pub long_function_line_threshold: usize,
[INFO] [stdout] 192 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S083` missing function documentation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | / pub struct S083RuleOptions {
[INFO] [stdout] 188 | |     /// Function classification that determines when documentation is required.
[INFO] [stdout] 189 | |     pub require_for: S083FunctionDocRequirement,
[INFO] [stdout] 190 | |     /// Minimum function length used when [`S083FunctionDocRequirement::Long`] is selected.
[INFO] [stdout] 191 | |     pub long_function_line_threshold: usize,
[INFO] [stdout] 192 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `S083` missing function documentation.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S083` missing function documentation.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:205:1
[INFO] [stdout]     |
[INFO] [stdout] 205 | / pub struct S084RuleOptions {
[INFO] [stdout] 206 | |     /// Whether documentation must describe referenced global variables.
[INFO] [stdout] 207 | |     pub require_globals: bool,
[INFO] [stdout] 208 | |     /// Whether documentation must describe function arguments.
[INFO] [stdout] ...   |
[INFO] [stdout] 213 | |     pub require_returns: bool,
[INFO] [stdout] 214 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S084` function documentation content.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:205:1
[INFO] [stdout]     |
[INFO] [stdout] 205 | / pub struct S084RuleOptions {
[INFO] [stdout] 206 | |     /// Whether documentation must describe referenced global variables.
[INFO] [stdout] 207 | |     pub require_globals: bool,
[INFO] [stdout] 208 | |     /// Whether documentation must describe function arguments.
[INFO] [stdout] ...   |
[INFO] [stdout] 213 | |     pub require_returns: bool,
[INFO] [stdout] 214 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `S084` function documentation content.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S084` function documentation content.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | / pub struct S085RuleOptions {
[INFO] [stdout] 230 | |     /// Minimum source line count before the script is checked.
[INFO] [stdout] 231 | |     pub non_trivial_line_threshold: usize,
[INFO] [stdout] 232 | |     /// Minimum function definition count before the script is checked.
[INFO] [stdout] ...   |
[INFO] [stdout] 235 | |     pub main_name: String,
[INFO] [stdout] 236 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Linter configuration and per-file selection types.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S085` main entrypoint analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/settings.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | / pub struct S085RuleOptions {
[INFO] [stdout] 230 | |     /// Minimum source line count before the script is checked.
[INFO] [stdout] 231 | |     pub non_trivial_line_threshold: usize,
[INFO] [stdout] 232 | |     /// Minimum function definition count before the script is checked.
[INFO] [stdout] ...   |
[INFO] [stdout] 235 | |     pub main_name: String,
[INFO] [stdout] 236 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Behavior overrides for `S085` main entrypoint analysis.`
[INFO] [stdout]     = help: ends near `Behavior overrides for `S085` main entrypoint analysis.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/suppression/shellcheck_map.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / pub struct ShellCheckCodeMap {
[INFO] [stdout] 24 | |     sc_to_rule: FxHashMap<u32, Rule>,
[INFO] [stdout] 25 | |     rule_to_sc: FxHashMap<Rule, u32>,
[INFO] [stdout] 26 | |     suppression_aliases: Vec<(u32, Rule)>,
[INFO] [stdout] 27 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Suppression directives, shellcheck mappings, and rewrite helpers.`
[INFO] [stdout]    = help: ends near `Maps ShellCheck SC codes to Shuck rules.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/suppression/shellcheck_map.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / pub struct ShellCheckCodeMap {
[INFO] [stdout] 24 | |     sc_to_rule: FxHashMap<u32, Rule>,
[INFO] [stdout] 25 | |     rule_to_sc: FxHashMap<Rule, u32>,
[INFO] [stdout] 26 | |     suppression_aliases: Vec<(u32, Rule)>,
[INFO] [stdout] 27 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Maps ShellCheck SC codes to Shuck rules.`
[INFO] [stdout]    = help: ends near `Maps ShellCheck SC codes to Shuck rules.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/suppression/directive.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / pub struct SuppressionDirective {
[INFO] [stdout] 11 | |     /// The action: disable, disable-file, or ignore.
[INFO] [stdout] 12 | |     pub action: SuppressionAction,
[INFO] [stdout] 13 | |     /// Which directive syntax produced this.
[INFO] [stdout] ...  |
[INFO] [stdout] 20 | |     pub line: u32,
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Suppression directives, shellcheck mappings, and rewrite helpers.`
[INFO] [stdout]    = help: ends near `A parsed suppression directive from a comment.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/suppression/directive.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / pub struct SuppressionDirective {
[INFO] [stdout] 11 | |     /// The action: disable, disable-file, or ignore.
[INFO] [stdout] 12 | |     pub action: SuppressionAction,
[INFO] [stdout] 13 | |     /// Which directive syntax produced this.
[INFO] [stdout] ...  |
[INFO] [stdout] 20 | |     pub line: u32,
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `A parsed suppression directive from a comment.`
[INFO] [stdout]    = help: ends near `A parsed suppression directive from a comment.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/suppression/index.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | / pub struct SuppressionIndex {
[INFO] [stdout] 14 | |     by_rule: FxHashMap<Rule, RuleSuppressionIndex>,
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Suppression directives, shellcheck mappings, and rewrite helpers.`
[INFO] [stdout]    = help: ends near `Per-file suppression index.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/suppression/index.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | / pub struct SuppressionIndex {
[INFO] [stdout] 14 | |     by_rule: FxHashMap<Rule, RuleSuppressionIndex>,
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Per-file suppression index.`
[INFO] [stdout]    = help: ends near `Per-file suppression index.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/suppression/directive.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / pub fn parse_directives(
[INFO] [stdout] 41 | |     source: &str,
[INFO] [stdout] 42 | |     comment_index: &CommentIndex,
[INFO] [stdout] 43 | |     shellcheck_map: &ShellCheckCodeMap,
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |     directives
[INFO] [stdout] 67 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Suppression directives, shellcheck mappings, and rewrite helpers.`
[INFO] [stdout]    = help: ends near `Parse all suppression directive candidates from a file's comments.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/suppression/directive.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / pub fn parse_directives(
[INFO] [stdout] 41 | |     source: &str,
[INFO] [stdout] 42 | |     comment_index: &CommentIndex,
[INFO] [stdout] 43 | |     shellcheck_map: &ShellCheckCodeMap,
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |     directives
[INFO] [stdout] 67 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Parse all suppression directive candidates from a file's comments.`
[INFO] [stdout]    = help: ends near `Parse all suppression directive candidates from a file's comments.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/violation.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / pub trait Violation: Sized {
[INFO] [stdout]  5 | |     /// Whether diagnostics created from this violation type can offer fixes.
[INFO] [stdout]  6 | |     const FIX_AVAILABILITY: FixAvailability = FixAvailability::None;
[INFO] [stdout] ...  |
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Trait implemented by rule-specific diagnostic payloads.`
[INFO] [stdout]    = help: ends near `Rule-specific payload used to create a [`crate::Diagnostic`].`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/violation.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / pub trait Violation: Sized {
[INFO] [stdout]  5 | |     /// Whether diagnostics created from this violation type can offer fixes.
[INFO] [stdout]  6 | |     const FIX_AVAILABILITY: FixAvailability = FixAvailability::None;
[INFO] [stdout] ...  |
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Rule-specific payload used to create a [`crate::Diagnostic`].`
[INFO] [stdout]    = help: ends near `Rule-specific payload used to create a [`crate::Diagnostic`].`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `shuck-linter`
[INFO] running `Command { std: "docker" "inspect" "f39dc427308edb83d330ffa1baa2d6413ff6541f39536f4d659e22161bcfa447", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f39dc427308edb83d330ffa1baa2d6413ff6541f39536f4d659e22161bcfa447", kill_on_drop: false }`
[INFO] [stdout] f39dc427308edb83d330ffa1baa2d6413ff6541f39536f4d659e22161bcfa447
