[INFO] fetching crate text-parsing 0.6.6... [INFO] testing text-parsing-0.6.6 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate text-parsing 0.6.6 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate text-parsing 0.6.6 [INFO] finished tweaking crates.io crate text-parsing 0.6.6 [INFO] tweaked toml for crates.io crate text-parsing 0.6.6 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate text-parsing 0.6.6 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate text-parsing 0.6.6 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded opt_struct v0.1.4 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 56c5a9046d6dea1f4b87d34e58cf2dc2f8ce81fa01a5e249b72439f1867bc152 [INFO] running `Command { std: "docker" "start" "-a" "56c5a9046d6dea1f4b87d34e58cf2dc2f8ce81fa01a5e249b72439f1867bc152", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "56c5a9046d6dea1f4b87d34e58cf2dc2f8ce81fa01a5e249b72439f1867bc152", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "56c5a9046d6dea1f4b87d34e58cf2dc2f8ce81fa01a5e249b72439f1867bc152", kill_on_drop: false }` [INFO] [stdout] 56c5a9046d6dea1f4b87d34e58cf2dc2f8ce81fa01a5e249b72439f1867bc152 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f69477cf332ba8b3911ec0a7ea6ca1f3a3c970d59d3c2e4d0ce10395a3291938 [INFO] running `Command { std: "docker" "start" "-a" "f69477cf332ba8b3911ec0a7ea6ca1f3a3c970d59d3c2e4d0ce10395a3291938", kill_on_drop: false }` [INFO] [stderr] Compiling opt_struct v0.1.4 [INFO] [stderr] Compiling unicode-properties v0.1.3 [INFO] [stderr] Compiling text-parsing v0.6.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/source.rs:167:19 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn new(s: &str) -> StrSource { [INFO] [stdout] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 167 | pub fn new(s: &str) -> StrSource<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.73s [INFO] running `Command { std: "docker" "inspect" "f69477cf332ba8b3911ec0a7ea6ca1f3a3c970d59d3c2e4d0ce10395a3291938", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f69477cf332ba8b3911ec0a7ea6ca1f3a3c970d59d3c2e4d0ce10395a3291938", kill_on_drop: false }` [INFO] [stdout] f69477cf332ba8b3911ec0a7ea6ca1f3a3c970d59d3c2e4d0ce10395a3291938 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2b119c4692cd00cc94dbb3658b46690dd200f1741dde2628d75c4b18f1bf54b3 [INFO] running `Command { std: "docker" "start" "-a" "2b119c4692cd00cc94dbb3658b46690dd200f1741dde2628d75c4b18f1bf54b3", kill_on_drop: false }` [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/source.rs:167:19 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn new(s: &str) -> StrSource { [INFO] [stdout] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 167 | pub fn new(s: &str) -> StrSource<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling text-parsing v0.6.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/source.rs:167:19 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn new(s: &str) -> StrSource { [INFO] [stdout] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 167 | pub fn new(s: &str) -> StrSource<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.80s [INFO] running `Command { std: "docker" "inspect" "2b119c4692cd00cc94dbb3658b46690dd200f1741dde2628d75c4b18f1bf54b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b119c4692cd00cc94dbb3658b46690dd200f1741dde2628d75c4b18f1bf54b3", kill_on_drop: false }` [INFO] [stdout] 2b119c4692cd00cc94dbb3658b46690dd200f1741dde2628d75c4b18f1bf54b3 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7c6542542feb22c2435d10d11e19f74f866e420e1f2f8fb7558292556d577b23 [INFO] running `Command { std: "docker" "start" "-a" "7c6542542feb22c2435d10d11e19f74f866e420e1f2f8fb7558292556d577b23", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/source.rs:167:19 [INFO] [stderr] | [INFO] [stderr] 167 | pub fn new(s: &str) -> StrSource { [INFO] [stderr] | ^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 167 | pub fn new(s: &str) -> StrSource<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `text-parsing` (lib) generated 1 warning (run `cargo fix --lib -p text-parsing` to apply 1 suggestion) [INFO] [stderr] warning: `text-parsing` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/text_parsing-16db8e376a478c29) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test source::tests::basic ... ok [INFO] [stdout] test paragraph::parser::tests::basic_2 ... ok [INFO] [stdout] test source::tests::chain_1 ... ok [INFO] [stdout] test source::tests::basic_breaker ... ok [INFO] [stdout] test source::tests::basic_breaker_2 ... ok [INFO] [stdout] test tagger::parser::tests::auto_detect_01 ... ok [INFO] [stdout] test tagger::parser::tests::basic ... ok [INFO] [stdout] test paragraph::parser::tests::basic ... ok [INFO] [stdout] test tagger::parser::tests::basic_void_2 ... ok [INFO] [stdout] test tagger::parser::tests::corrupted_02 ... ok [INFO] [stdout] test tagger::parser::tests::basic_void ... ok [INFO] [stdout] test tagger::parser::tests::no_tag ... ok [INFO] [stdout] test tagger::parser::tests::corrupted_01 ... ok [INFO] [stdout] test tagger::parser::tests::a_img ... FAILED [INFO] [stdout] test tagger::parser::tests::a_img_2 ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- tagger::parser::tests::a_img stdout ---- [INFO] [stdout] Parser: Local { chars: Snip { offset: 0, length: 1 }, bytes: Snip { offset: 0, length: 1 }, data: Char('\n') } [INFO] [stdout] Result: Local { chars: Snip { offset: 0, length: 1 }, bytes: Snip { offset: 0, length: 1 }, data: Char('\n') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 1, length: 3 }, bytes: Snip { offset: 1, length: 3 }, data: Parsed(Tag { name: P, closing: Open, attributes: None, begin: Local { chars: Snip { offset: 1, length: 1 }, bytes: Snip { offset: 1, length: 1 }, data: () }, end: Local { chars: Snip { offset: 3, length: 1 }, bytes: Snip { offset: 3, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 1, length: 1 }, bytes: Snip { offset: 1, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 2, length: 1 }, bytes: Snip { offset: 2, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 3, length: 1 }, bytes: Snip { offset: 3, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] Result: Local { chars: Snip { offset: 1, length: 3 }, bytes: Snip { offset: 1, length: 3 }, data: Parsed(Tag { name: P, closing: Open, attributes: None, begin: Local { chars: Snip { offset: 1, length: 1 }, bytes: Snip { offset: 1, length: 1 }, data: () }, end: Local { chars: Snip { offset: 3, length: 1 }, bytes: Snip { offset: 3, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 1, length: 1 }, bytes: Snip { offset: 1, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 2, length: 1 }, bytes: Snip { offset: 2, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 3, length: 1 }, bytes: Snip { offset: 3, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] Parser: Local { chars: Snip { offset: 4, length: 1 }, bytes: Snip { offset: 4, length: 1 }, data: Char('I') } [INFO] [stdout] Result: Local { chars: Snip { offset: 4, length: 1 }, bytes: Snip { offset: 4, length: 1 }, data: Char('I') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 5, length: 1 }, bytes: Snip { offset: 5, length: 1 }, data: Char('n') } [INFO] [stdout] Result: Local { chars: Snip { offset: 5, length: 1 }, bytes: Snip { offset: 5, length: 1 }, data: Char('n') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 6, length: 1 }, bytes: Snip { offset: 6, length: 1 }, data: Char(' ') } [INFO] [stdout] Result: Local { chars: Snip { offset: 6, length: 1 }, bytes: Snip { offset: 6, length: 1 }, data: Char(' ') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 7, length: 1 }, bytes: Snip { offset: 7, length: 1 }, data: Char('t') } [INFO] [stdout] Result: Local { chars: Snip { offset: 7, length: 1 }, bytes: Snip { offset: 7, length: 1 }, data: Char('t') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 8, length: 1 }, bytes: Snip { offset: 8, length: 1 }, data: Char('h') } [INFO] [stdout] Result: Local { chars: Snip { offset: 8, length: 1 }, bytes: Snip { offset: 8, length: 1 }, data: Char('h') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 9, length: 1 }, bytes: Snip { offset: 9, length: 1 }, data: Char('e') } [INFO] [stdout] Result: Local { chars: Snip { offset: 9, length: 1 }, bytes: Snip { offset: 9, length: 1 }, data: Char('e') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 10, length: 1 }, bytes: Snip { offset: 10, length: 1 }, data: Char(' ') } [INFO] [stdout] Result: Local { chars: Snip { offset: 10, length: 1 }, bytes: Snip { offset: 10, length: 1 }, data: Char(' ') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 11, length: 1 }, bytes: Snip { offset: 11, length: 1 }, data: Char('c') } [INFO] [stdout] Result: Local { chars: Snip { offset: 11, length: 1 }, bytes: Snip { offset: 11, length: 1 }, data: Char('c') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 12, length: 1 }, bytes: Snip { offset: 12, length: 1 }, data: Char('o') } [INFO] [stdout] Result: Local { chars: Snip { offset: 12, length: 1 }, bytes: Snip { offset: 12, length: 1 }, data: Char('o') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 13, length: 1 }, bytes: Snip { offset: 13, length: 1 }, data: Char('m') } [INFO] [stdout] Result: Local { chars: Snip { offset: 13, length: 1 }, bytes: Snip { offset: 13, length: 1 }, data: Char('m') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 14, length: 1 }, bytes: Snip { offset: 14, length: 1 }, data: Char('m') } [INFO] [stdout] Result: Local { chars: Snip { offset: 14, length: 1 }, bytes: Snip { offset: 14, length: 1 }, data: Char('m') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 15, length: 1 }, bytes: Snip { offset: 15, length: 1 }, data: Char('o') } [INFO] [stdout] Result: Local { chars: Snip { offset: 15, length: 1 }, bytes: Snip { offset: 15, length: 1 }, data: Char('o') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 16, length: 1 }, bytes: Snip { offset: 16, length: 1 }, data: Char('n') } [INFO] [stdout] Result: Local { chars: Snip { offset: 16, length: 1 }, bytes: Snip { offset: 16, length: 1 }, data: Char('n') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 17, length: 1 }, bytes: Snip { offset: 17, length: 1 }, data: Char(' ') } [INFO] [stdout] Result: Local { chars: Snip { offset: 17, length: 1 }, bytes: Snip { offset: 17, length: 1 }, data: Char(' ') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 18, length: 1 }, bytes: Snip { offset: 18, length: 1 }, data: Char('c') } [INFO] [stdout] Result: Local { chars: Snip { offset: 18, length: 1 }, bytes: Snip { offset: 18, length: 1 }, data: Char('c') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 19, length: 1 }, bytes: Snip { offset: 19, length: 1 }, data: Char('a') } [INFO] [stdout] Result: Local { chars: Snip { offset: 19, length: 1 }, bytes: Snip { offset: 19, length: 1 }, data: Char('a') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 20, length: 1 }, bytes: Snip { offset: 20, length: 1 }, data: Char('s') } [INFO] [stdout] Result: Local { chars: Snip { offset: 20, length: 1 }, bytes: Snip { offset: 20, length: 1 }, data: Char('s') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 21, length: 1 }, bytes: Snip { offset: 21, length: 1 }, data: Char('e') } [INFO] [stdout] Result: Local { chars: Snip { offset: 21, length: 1 }, bytes: Snip { offset: 21, length: 1 }, data: Char('e') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 22, length: 1 }, bytes: Snip { offset: 22, length: 1 }, data: Char(',') } [INFO] [stdout] Result: Local { chars: Snip { offset: 22, length: 1 }, bytes: Snip { offset: 22, length: 1 }, data: Char(',') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 23, length: 1 }, bytes: Snip { offset: 23, length: 1 }, data: Char(' ') } [INFO] [stdout] Result: Local { chars: Snip { offset: 23, length: 1 }, bytes: Snip { offset: 23, length: 1 }, data: Char(' ') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 24, length: 98 }, bytes: Snip { offset: 24, length: 98 }, data: Parsed(Tag { name: A, closing: Open, attributes: One(("href", Some(Snip { offset: 9, length: 52 }))), begin: Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: () }, end: Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 25, length: 1 }, bytes: Snip { offset: 25, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 26, length: 1 }, bytes: Snip { offset: 26, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 27, length: 1 }, bytes: Snip { offset: 27, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 28, length: 1 }, bytes: Snip { offset: 28, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 29, length: 1 }, bytes: Snip { offset: 29, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 30, length: 1 }, bytes: Snip { offset: 30, length: 1 }, data: Char('f') }, Local { chars: Snip { offset: 31, length: 1 }, bytes: Snip { offset: 31, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 32, length: 1 }, bytes: Snip { offset: 32, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 33, length: 1 }, bytes: Snip { offset: 33, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 34, length: 1 }, bytes: Snip { offset: 34, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 35, length: 1 }, bytes: Snip { offset: 35, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 36, length: 1 }, bytes: Snip { offset: 36, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 37, length: 1 }, bytes: Snip { offset: 37, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 38, length: 1 }, bytes: Snip { offset: 38, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 39, length: 1 }, bytes: Snip { offset: 39, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 40, length: 1 }, bytes: Snip { offset: 40, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 41, length: 1 }, bytes: Snip { offset: 41, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 42, length: 1 }, bytes: Snip { offset: 42, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 43, length: 1 }, bytes: Snip { offset: 43, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 44, length: 1 }, bytes: Snip { offset: 44, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 45, length: 1 }, bytes: Snip { offset: 45, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 46, length: 1 }, bytes: Snip { offset: 46, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 47, length: 1 }, bytes: Snip { offset: 47, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 48, length: 1 }, bytes: Snip { offset: 48, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 49, length: 1 }, bytes: Snip { offset: 49, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 50, length: 1 }, bytes: Snip { offset: 50, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 51, length: 1 }, bytes: Snip { offset: 51, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 52, length: 1 }, bytes: Snip { offset: 52, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 53, length: 1 }, bytes: Snip { offset: 53, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 54, length: 1 }, bytes: Snip { offset: 54, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 55, length: 1 }, bytes: Snip { offset: 55, length: 1 }, data: Char('.') }, Local { chars: Snip { offset: 56, length: 1 }, bytes: Snip { offset: 56, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 57, length: 1 }, bytes: Snip { offset: 57, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 58, length: 1 }, bytes: Snip { offset: 58, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 59, length: 1 }, bytes: Snip { offset: 59, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 60, length: 1 }, bytes: Snip { offset: 60, length: 1 }, data: Char('#') }, Local { chars: Snip { offset: 61, length: 1 }, bytes: Snip { offset: 61, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 62, length: 1 }, bytes: Snip { offset: 62, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 63, length: 1 }, bytes: Snip { offset: 63, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 64, length: 1 }, bytes: Snip { offset: 64, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 65, length: 1 }, bytes: Snip { offset: 65, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 66, length: 1 }, bytes: Snip { offset: 66, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 67, length: 1 }, bytes: Snip { offset: 67, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 68, length: 1 }, bytes: Snip { offset: 68, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 69, length: 1 }, bytes: Snip { offset: 69, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 70, length: 1 }, bytes: Snip { offset: 70, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 71, length: 1 }, bytes: Snip { offset: 71, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 72, length: 1 }, bytes: Snip { offset: 72, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 73, length: 1 }, bytes: Snip { offset: 73, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 74, length: 1 }, bytes: Snip { offset: 74, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 75, length: 1 }, bytes: Snip { offset: 75, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 76, length: 1 }, bytes: Snip { offset: 76, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 77, length: 1 }, bytes: Snip { offset: 77, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 78, length: 1 }, bytes: Snip { offset: 78, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 79, length: 1 }, bytes: Snip { offset: 79, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 80, length: 1 }, bytes: Snip { offset: 80, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 81, length: 1 }, bytes: Snip { offset: 81, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 82, length: 1 }, bytes: Snip { offset: 82, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 83, length: 1 }, bytes: Snip { offset: 83, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 84, length: 1 }, bytes: Snip { offset: 84, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 85, length: 1 }, bytes: Snip { offset: 85, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 86, length: 1 }, bytes: Snip { offset: 86, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 87, length: 1 }, bytes: Snip { offset: 87, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 88, length: 1 }, bytes: Snip { offset: 88, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 89, length: 1 }, bytes: Snip { offset: 89, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 90, length: 1 }, bytes: Snip { offset: 90, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 91, length: 1 }, bytes: Snip { offset: 91, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 92, length: 1 }, bytes: Snip { offset: 92, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 93, length: 1 }, bytes: Snip { offset: 93, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 94, length: 1 }, bytes: Snip { offset: 94, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 95, length: 1 }, bytes: Snip { offset: 95, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 96, length: 1 }, bytes: Snip { offset: 96, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 97, length: 1 }, bytes: Snip { offset: 97, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 98, length: 1 }, bytes: Snip { offset: 98, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 99, length: 1 }, bytes: Snip { offset: 99, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 100, length: 1 }, bytes: Snip { offset: 100, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 101, length: 1 }, bytes: Snip { offset: 101, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 102, length: 1 }, bytes: Snip { offset: 102, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 103, length: 1 }, bytes: Snip { offset: 103, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 104, length: 1 }, bytes: Snip { offset: 104, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 105, length: 1 }, bytes: Snip { offset: 105, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 106, length: 1 }, bytes: Snip { offset: 106, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 107, length: 1 }, bytes: Snip { offset: 107, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 108, length: 1 }, bytes: Snip { offset: 108, length: 1 }, data: Char('\n') }, Local { chars: Snip { offset: 109, length: 1 }, bytes: Snip { offset: 109, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 110, length: 1 }, bytes: Snip { offset: 110, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 111, length: 1 }, bytes: Snip { offset: 111, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 112, length: 1 }, bytes: Snip { offset: 112, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 113, length: 1 }, bytes: Snip { offset: 113, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 114, length: 1 }, bytes: Snip { offset: 114, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 115, length: 1 }, bytes: Snip { offset: 115, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 116, length: 1 }, bytes: Snip { offset: 116, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 117, length: 1 }, bytes: Snip { offset: 117, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 118, length: 1 }, bytes: Snip { offset: 118, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 119, length: 1 }, bytes: Snip { offset: 119, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 120, length: 1 }, bytes: Snip { offset: 120, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] Result: Local { chars: Snip { offset: 24, length: 98 }, bytes: Snip { offset: 24, length: 98 }, data: Parsed(Tag { name: A, closing: Open, attributes: One(("href", Some(Snip { offset: 9, length: 51 }))), begin: Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: () }, end: Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 25, length: 1 }, bytes: Snip { offset: 25, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 26, length: 1 }, bytes: Snip { offset: 26, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 27, length: 1 }, bytes: Snip { offset: 27, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 28, length: 1 }, bytes: Snip { offset: 28, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 29, length: 1 }, bytes: Snip { offset: 29, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 30, length: 1 }, bytes: Snip { offset: 30, length: 1 }, data: Char('f') }, Local { chars: Snip { offset: 31, length: 1 }, bytes: Snip { offset: 31, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 32, length: 1 }, bytes: Snip { offset: 32, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 33, length: 1 }, bytes: Snip { offset: 33, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 34, length: 1 }, bytes: Snip { offset: 34, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 35, length: 1 }, bytes: Snip { offset: 35, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 36, length: 1 }, bytes: Snip { offset: 36, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 37, length: 1 }, bytes: Snip { offset: 37, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 38, length: 1 }, bytes: Snip { offset: 38, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 39, length: 1 }, bytes: Snip { offset: 39, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 40, length: 1 }, bytes: Snip { offset: 40, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 41, length: 1 }, bytes: Snip { offset: 41, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 42, length: 1 }, bytes: Snip { offset: 42, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 43, length: 1 }, bytes: Snip { offset: 43, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 44, length: 1 }, bytes: Snip { offset: 44, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 45, length: 1 }, bytes: Snip { offset: 45, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 46, length: 1 }, bytes: Snip { offset: 46, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 47, length: 1 }, bytes: Snip { offset: 47, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 48, length: 1 }, bytes: Snip { offset: 48, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 49, length: 1 }, bytes: Snip { offset: 49, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 50, length: 1 }, bytes: Snip { offset: 50, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 51, length: 1 }, bytes: Snip { offset: 51, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 52, length: 1 }, bytes: Snip { offset: 52, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 53, length: 1 }, bytes: Snip { offset: 53, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 54, length: 1 }, bytes: Snip { offset: 54, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 55, length: 1 }, bytes: Snip { offset: 55, length: 1 }, data: Char('.') }, Local { chars: Snip { offset: 56, length: 1 }, bytes: Snip { offset: 56, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 57, length: 1 }, bytes: Snip { offset: 57, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 58, length: 1 }, bytes: Snip { offset: 58, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 59, length: 1 }, bytes: Snip { offset: 59, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 60, length: 1 }, bytes: Snip { offset: 60, length: 1 }, data: Char('#') }, Local { chars: Snip { offset: 61, length: 1 }, bytes: Snip { offset: 61, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 62, length: 1 }, bytes: Snip { offset: 62, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 63, length: 1 }, bytes: Snip { offset: 63, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 64, length: 1 }, bytes: Snip { offset: 64, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 65, length: 1 }, bytes: Snip { offset: 65, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 66, length: 1 }, bytes: Snip { offset: 66, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 67, length: 1 }, bytes: Snip { offset: 67, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 68, length: 1 }, bytes: Snip { offset: 68, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 69, length: 1 }, bytes: Snip { offset: 69, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 70, length: 1 }, bytes: Snip { offset: 70, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 71, length: 1 }, bytes: Snip { offset: 71, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 72, length: 1 }, bytes: Snip { offset: 72, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 73, length: 1 }, bytes: Snip { offset: 73, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 74, length: 1 }, bytes: Snip { offset: 74, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 75, length: 1 }, bytes: Snip { offset: 75, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 76, length: 1 }, bytes: Snip { offset: 76, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 77, length: 1 }, bytes: Snip { offset: 77, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 78, length: 1 }, bytes: Snip { offset: 78, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 79, length: 1 }, bytes: Snip { offset: 79, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 80, length: 1 }, bytes: Snip { offset: 80, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 81, length: 1 }, bytes: Snip { offset: 81, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 82, length: 1 }, bytes: Snip { offset: 82, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 83, length: 1 }, bytes: Snip { offset: 83, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 84, length: 1 }, bytes: Snip { offset: 84, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 85, length: 1 }, bytes: Snip { offset: 85, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 86, length: 1 }, bytes: Snip { offset: 86, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 87, length: 1 }, bytes: Snip { offset: 87, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 88, length: 1 }, bytes: Snip { offset: 88, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 89, length: 1 }, bytes: Snip { offset: 89, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 90, length: 1 }, bytes: Snip { offset: 90, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 91, length: 1 }, bytes: Snip { offset: 91, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 92, length: 1 }, bytes: Snip { offset: 92, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 93, length: 1 }, bytes: Snip { offset: 93, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 94, length: 1 }, bytes: Snip { offset: 94, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 95, length: 1 }, bytes: Snip { offset: 95, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 96, length: 1 }, bytes: Snip { offset: 96, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 97, length: 1 }, bytes: Snip { offset: 97, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 98, length: 1 }, bytes: Snip { offset: 98, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 99, length: 1 }, bytes: Snip { offset: 99, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 100, length: 1 }, bytes: Snip { offset: 100, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 101, length: 1 }, bytes: Snip { offset: 101, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 102, length: 1 }, bytes: Snip { offset: 102, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 103, length: 1 }, bytes: Snip { offset: 103, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 104, length: 1 }, bytes: Snip { offset: 104, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 105, length: 1 }, bytes: Snip { offset: 105, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 106, length: 1 }, bytes: Snip { offset: 106, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 107, length: 1 }, bytes: Snip { offset: 107, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 108, length: 1 }, bytes: Snip { offset: 108, length: 1 }, data: Char('\n') }, Local { chars: Snip { offset: 109, length: 1 }, bytes: Snip { offset: 109, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 110, length: 1 }, bytes: Snip { offset: 110, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 111, length: 1 }, bytes: Snip { offset: 111, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 112, length: 1 }, bytes: Snip { offset: 112, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 113, length: 1 }, bytes: Snip { offset: 113, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 114, length: 1 }, bytes: Snip { offset: 114, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 115, length: 1 }, bytes: Snip { offset: 115, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 116, length: 1 }, bytes: Snip { offset: 116, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 117, length: 1 }, bytes: Snip { offset: 117, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 118, length: 1 }, bytes: Snip { offset: 118, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 119, length: 1 }, bytes: Snip { offset: 119, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 120, length: 1 }, bytes: Snip { offset: 120, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] [INFO] [stdout] thread 'tagger::parser::tests::a_img' (31) panicked at src/tagger/parser.rs:1355:21: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: Local { chars: Snip { offset: 24, length: 98 }, bytes: Snip { offset: 24, length: 98 }, data: Parsed(Tag { name: A, closing: Open, attributes: One(("href", Some(Snip { offset: 9, length: 52 }))), begin: Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: () }, end: Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 25, length: 1 }, bytes: Snip { offset: 25, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 26, length: 1 }, bytes: Snip { offset: 26, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 27, length: 1 }, bytes: Snip { offset: 27, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 28, length: 1 }, bytes: Snip { offset: 28, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 29, length: 1 }, bytes: Snip { offset: 29, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 30, length: 1 }, bytes: Snip { offset: 30, length: 1 }, data: Char('f') }, Local { chars: Snip { offset: 31, length: 1 }, bytes: Snip { offset: 31, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 32, length: 1 }, bytes: Snip { offset: 32, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 33, length: 1 }, bytes: Snip { offset: 33, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 34, length: 1 }, bytes: Snip { offset: 34, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 35, length: 1 }, bytes: Snip { offset: 35, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 36, length: 1 }, bytes: Snip { offset: 36, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 37, length: 1 }, bytes: Snip { offset: 37, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 38, length: 1 }, bytes: Snip { offset: 38, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 39, length: 1 }, bytes: Snip { offset: 39, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 40, length: 1 }, bytes: Snip { offset: 40, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 41, length: 1 }, bytes: Snip { offset: 41, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 42, length: 1 }, bytes: Snip { offset: 42, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 43, length: 1 }, bytes: Snip { offset: 43, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 44, length: 1 }, bytes: Snip { offset: 44, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 45, length: 1 }, bytes: Snip { offset: 45, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 46, length: 1 }, bytes: Snip { offset: 46, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 47, length: 1 }, bytes: Snip { offset: 47, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 48, length: 1 }, bytes: Snip { offset: 48, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 49, length: 1 }, bytes: Snip { offset: 49, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 50, length: 1 }, bytes: Snip { offset: 50, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 51, length: 1 }, bytes: Snip { offset: 51, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 52, length: 1 }, bytes: Snip { offset: 52, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 53, length: 1 }, bytes: Snip { offset: 53, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 54, length: 1 }, bytes: Snip { offset: 54, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 55, length: 1 }, bytes: Snip { offset: 55, length: 1 }, data: Char('.') }, Local { chars: Snip { offset: 56, length: 1 }, bytes: Snip { offset: 56, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 57, length: 1 }, bytes: Snip { offset: 57, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 58, length: 1 }, bytes: Snip { offset: 58, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 59, length: 1 }, bytes: Snip { offset: 59, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 60, length: 1 }, bytes: Snip { offset: 60, length: 1 }, data: Char('#') }, Local { chars: Snip { offset: 61, length: 1 }, bytes: Snip { offset: 61, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 62, length: 1 }, bytes: Snip { offset: 62, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 63, length: 1 }, bytes: Snip { offset: 63, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 64, length: 1 }, bytes: Snip { offset: 64, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 65, length: 1 }, bytes: Snip { offset: 65, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 66, length: 1 }, bytes: Snip { offset: 66, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 67, length: 1 }, bytes: Snip { offset: 67, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 68, length: 1 }, bytes: Snip { offset: 68, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 69, length: 1 }, bytes: Snip { offset: 69, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 70, length: 1 }, bytes: Snip { offset: 70, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 71, length: 1 }, bytes: Snip { offset: 71, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 72, length: 1 }, bytes: Snip { offset: 72, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 73, length: 1 }, bytes: Snip { offset: 73, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 74, length: 1 }, bytes: Snip { offset: 74, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 75, length: 1 }, bytes: Snip { offset: 75, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 76, length: 1 }, bytes: Snip { offset: 76, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 77, length: 1 }, bytes: Snip { offset: 77, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 78, length: 1 }, bytes: Snip { offset: 78, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 79, length: 1 }, bytes: Snip { offset: 79, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 80, length: 1 }, bytes: Snip { offset: 80, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 81, length: 1 }, bytes: Snip { offset: 81, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 82, length: 1 }, bytes: Snip { offset: 82, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 83, length: 1 }, bytes: Snip { offset: 83, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 84, length: 1 }, bytes: Snip { offset: 84, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 85, length: 1 }, bytes: Snip { offset: 85, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 86, length: 1 }, bytes: Snip { offset: 86, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 87, length: 1 }, bytes: Snip { offset: 87, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 88, length: 1 }, bytes: Snip { offset: 88, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 89, length: 1 }, bytes: Snip { offset: 89, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 90, length: 1 }, bytes: Snip { offset: 90, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 91, length: 1 }, bytes: Snip { offset: 91, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 92, length: 1 }, bytes: Snip { offset: 92, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 93, length: 1 }, bytes: Snip { offset: 93, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 94, length: 1 }, bytes: Snip { offset: 94, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 95, length: 1 }, bytes: Snip { offset: 95, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 96, length: 1 }, bytes: Snip { offset: 96, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 97, length: 1 }, bytes: Snip { offset: 97, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 98, length: 1 }, bytes: Snip { offset: 98, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 99, length: 1 }, bytes: Snip { offset: 99, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 100, length: 1 }, bytes: Snip { offset: 100, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 101, length: 1 }, bytes: Snip { offset: 101, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 102, length: 1 }, bytes: Snip { offset: 102, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 103, length: 1 }, bytes: Snip { offset: 103, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 104, length: 1 }, bytes: Snip { offset: 104, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 105, length: 1 }, bytes: Snip { offset: 105, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 106, length: 1 }, bytes: Snip { offset: 106, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 107, length: 1 }, bytes: Snip { offset: 107, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 108, length: 1 }, bytes: Snip { offset: 108, length: 1 }, data: Char('\n') }, Local { chars: Snip { offset: 109, length: 1 }, bytes: Snip { offset: 109, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 110, length: 1 }, bytes: Snip { offset: 110, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 111, length: 1 }, bytes: Snip { offset: 111, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 112, length: 1 }, bytes: Snip { offset: 112, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 113, length: 1 }, bytes: Snip { offset: 113, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 114, length: 1 }, bytes: Snip { offset: 114, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 115, length: 1 }, bytes: Snip { offset: 115, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 116, length: 1 }, bytes: Snip { offset: 116, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 117, length: 1 }, bytes: Snip { offset: 117, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 118, length: 1 }, bytes: Snip { offset: 118, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 119, length: 1 }, bytes: Snip { offset: 119, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 120, length: 1 }, bytes: Snip { offset: 120, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] right: Local { chars: Snip { offset: 24, length: 98 }, bytes: Snip { offset: 24, length: 98 }, data: Parsed(Tag { name: A, closing: Open, attributes: One(("href", Some(Snip { offset: 9, length: 51 }))), begin: Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: () }, end: Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 25, length: 1 }, bytes: Snip { offset: 25, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 26, length: 1 }, bytes: Snip { offset: 26, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 27, length: 1 }, bytes: Snip { offset: 27, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 28, length: 1 }, bytes: Snip { offset: 28, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 29, length: 1 }, bytes: Snip { offset: 29, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 30, length: 1 }, bytes: Snip { offset: 30, length: 1 }, data: Char('f') }, Local { chars: Snip { offset: 31, length: 1 }, bytes: Snip { offset: 31, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 32, length: 1 }, bytes: Snip { offset: 32, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 33, length: 1 }, bytes: Snip { offset: 33, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 34, length: 1 }, bytes: Snip { offset: 34, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 35, length: 1 }, bytes: Snip { offset: 35, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 36, length: 1 }, bytes: Snip { offset: 36, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 37, length: 1 }, bytes: Snip { offset: 37, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 38, length: 1 }, bytes: Snip { offset: 38, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 39, length: 1 }, bytes: Snip { offset: 39, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 40, length: 1 }, bytes: Snip { offset: 40, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 41, length: 1 }, bytes: Snip { offset: 41, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 42, length: 1 }, bytes: Snip { offset: 42, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 43, length: 1 }, bytes: Snip { offset: 43, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 44, length: 1 }, bytes: Snip { offset: 44, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 45, length: 1 }, bytes: Snip { offset: 45, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 46, length: 1 }, bytes: Snip { offset: 46, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 47, length: 1 }, bytes: Snip { offset: 47, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 48, length: 1 }, bytes: Snip { offset: 48, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 49, length: 1 }, bytes: Snip { offset: 49, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 50, length: 1 }, bytes: Snip { offset: 50, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 51, length: 1 }, bytes: Snip { offset: 51, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 52, length: 1 }, bytes: Snip { offset: 52, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 53, length: 1 }, bytes: Snip { offset: 53, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 54, length: 1 }, bytes: Snip { offset: 54, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 55, length: 1 }, bytes: Snip { offset: 55, length: 1 }, data: Char('.') }, Local { chars: Snip { offset: 56, length: 1 }, bytes: Snip { offset: 56, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 57, length: 1 }, bytes: Snip { offset: 57, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 58, length: 1 }, bytes: Snip { offset: 58, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 59, length: 1 }, bytes: Snip { offset: 59, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 60, length: 1 }, bytes: Snip { offset: 60, length: 1 }, data: Char('#') }, Local { chars: Snip { offset: 61, length: 1 }, bytes: Snip { offset: 61, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 62, length: 1 }, bytes: Snip { offset: 62, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 63, length: 1 }, bytes: Snip { offset: 63, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 64, length: 1 }, bytes: Snip { offset: 64, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 65, length: 1 }, bytes: Snip { offset: 65, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 66, length: 1 }, bytes: Snip { offset: 66, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 67, length: 1 }, bytes: Snip { offset: 67, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 68, length: 1 }, bytes: Snip { offset: 68, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 69, length: 1 }, bytes: Snip { offset: 69, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 70, length: 1 }, bytes: Snip { offset: 70, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 71, length: 1 }, bytes: Snip { offset: 71, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 72, length: 1 }, bytes: Snip { offset: 72, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 73, length: 1 }, bytes: Snip { offset: 73, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 74, length: 1 }, bytes: Snip { offset: 74, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 75, length: 1 }, bytes: Snip { offset: 75, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 76, length: 1 }, bytes: Snip { offset: 76, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 77, length: 1 }, bytes: Snip { offset: 77, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 78, length: 1 }, bytes: Snip { offset: 78, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 79, length: 1 }, bytes: Snip { offset: 79, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 80, length: 1 }, bytes: Snip { offset: 80, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 81, length: 1 }, bytes: Snip { offset: 81, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 82, length: 1 }, bytes: Snip { offset: 82, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 83, length: 1 }, bytes: Snip { offset: 83, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 84, length: 1 }, bytes: Snip { offset: 84, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 85, length: 1 }, bytes: Snip { offset: 85, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 86, length: 1 }, bytes: Snip { offset: 86, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 87, length: 1 }, bytes: Snip { offset: 87, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 88, length: 1 }, bytes: Snip { offset: 88, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 89, length: 1 }, bytes: Snip { offset: 89, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 90, length: 1 }, bytes: Snip { offset: 90, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 91, length: 1 }, bytes: Snip { offset: 91, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 92, length: 1 }, bytes: Snip { offset: 92, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 93, length: 1 }, bytes: Snip { offset: 93, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 94, length: 1 }, bytes: Snip { offset: 94, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 95, length: 1 }, bytes: Snip { offset: 95, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 96, length: 1 }, bytes: Snip { offset: 96, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 97, length: 1 }, bytes: Snip { offset: 97, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 98, length: 1 }, bytes: Snip { offset: 98, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 99, length: 1 }, bytes: Snip { offset: 99, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 100, length: 1 }, bytes: Snip { offset: 100, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 101, length: 1 }, bytes: Snip { offset: 101, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 102, length: 1 }, bytes: Snip { offset: 102, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 103, length: 1 }, bytes: Snip { offset: 103, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 104, length: 1 }, bytes: Snip { offset: 104, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 105, length: 1 }, bytes: Snip { offset: 105, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 106, length: 1 }, bytes: Snip { offset: 106, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 107, length: 1 }, bytes: Snip { offset: 107, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 108, length: 1 }, bytes: Snip { offset: 108, length: 1 }, data: Char('\n') }, Local { chars: Snip { offset: 109, length: 1 }, bytes: Snip { offset: 109, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 110, length: 1 }, bytes: Snip { offset: 110, length: 1 }, data: Char(' ') }, Local { chars: Snip { offset: 111, length: 1 }, bytes: Snip { offset: 111, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 112, length: 1 }, bytes: Snip { offset: 112, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 113, length: 1 }, bytes: Snip { offset: 113, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 114, length: 1 }, bytes: Snip { offset: 114, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 115, length: 1 }, bytes: Snip { offset: 115, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 116, length: 1 }, bytes: Snip { offset: 116, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 117, length: 1 }, bytes: Snip { offset: 117, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 118, length: 1 }, bytes: Snip { offset: 118, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 119, length: 1 }, bytes: Snip { offset: 119, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 120, length: 1 }, bytes: Snip { offset: 120, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x582e9c68d3f2 - std::backtrace_rs::backtrace::libunwind::trace::h7cddb8376417e7cc [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x582e9c68d3f2 - std::backtrace_rs::backtrace::trace_unsynchronized::hb4e41acf4b349ff1 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x582e9c68d3f2 - std::sys::backtrace::_print_fmt::h1222b80910ba6eb5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x582e9c68d3f2 - ::fmt::h5bb8a979ba5db788 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x582e9c69d61f - core::fmt::rt::Argument::fmt::h2ee2c138a50a7796 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x582e9c69d61f - core::fmt::write::h1e0dbf07fe3990bd [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x582e9c65adb3 - std::io::default_write_fmt::h7d7ad5ed6a883d81 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x582e9c65adb3 - std::io::Write::write_fmt::hc477d9325b345ece [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x582e9c666b72 - std::sys::backtrace::BacktraceLock::print::h788d486777205086 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x582e9c66b56f - std::panicking::default_hook::{{closure}}::ha7bdfeb5949fc0fa [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x582e9c66b401 - std::panicking::default_hook::h6dad75ec721846f4 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x582e9c62ae4e - as core::ops::function::Fn>::call::h33799d04b0b96146 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x582e9c62ae4e - test::test_main_with_exit_callback::{{closure}}::h880e31c829a2eb5d [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x582e9c66bc0e - as core::ops::function::Fn>::call::h5e1b8c652ea49180 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x582e9c66bc0e - std::panicking::panic_with_hook::hba00e869ada17676 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x582e9c66b9da - std::panicking::panic_handler::{{closure}}::h3d21149c258e5ceb [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x582e9c666ca9 - std::sys::backtrace::__rust_end_short_backtrace::h4f5d9b9dfb3e6ec1 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x582e9c64f01d - __rustc[9a7a9f9af7564de1]::rust_begin_unwind [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x582e9c6a5320 - core::panicking::panic_fmt::h78e817a90331d98b [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x582e9c6a5123 - core::panicking::assert_failed_inner::he0a3934689115f42 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x582e9c5de88a - core::panicking::assert_failed::h537e01e003895e1e [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x582e9c5a9f02 - text_parsing::tagger::parser::tests::a_img::hdb36a5a8043a8a43 [INFO] [stdout] at /opt/rustwide/workdir/src/tagger/parser.rs:1355:21 [INFO] [stdout] 22: 0x582e9c5aa017 - text_parsing::tagger::parser::tests::a_img::{{closure}}::hf98710f8e3e51992 [INFO] [stdout] at /opt/rustwide/workdir/src/tagger/parser.rs:736:15 [INFO] [stdout] 23: 0x582e9c5ff546 - core::ops::function::FnOnce::call_once::h7ceb973620a431ae [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x582e9c62ac4b - core::ops::function::FnOnce::call_once::h7f4b4fba903e39d5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x582e9c62ac4b - test::__rust_begin_short_backtrace::h9277cb6a2ccfc000 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x582e9c6406f5 - test::run_test_in_process::{{closure}}::h9aea5ca90d1f4423 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x582e9c6406f5 - as core::ops::function::FnOnce<()>>::call_once::h364f5fe6cc8afa85 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 28: 0x582e9c6406f5 - std::panicking::catch_unwind::do_call::h2b2bec3317fe53ec [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x582e9c6406f5 - std::panicking::catch_unwind::hc3763734156da4af [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x582e9c6406f5 - std::panic::catch_unwind::h28038391e867eabc [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x582e9c6406f5 - test::run_test_in_process::had0273166695a036 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x582e9c6406f5 - test::run_test::{{closure}}::h743d09d4bb476605 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x582e9c617114 - test::run_test::{{closure}}::he950b8f9118d37e2 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x582e9c617114 - std::sys::backtrace::__rust_begin_short_backtrace::hbfaffa6539f6abb7 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x582e9c61a9fa - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hcce3c2c65b9c3b20 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x582e9c61a9fa - as core::ops::function::FnOnce<()>>::call_once::hb66b30b6d37985a5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 37: 0x582e9c61a9fa - std::panicking::catch_unwind::do_call::h992bbe2c32dc1d79 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x582e9c61a9fa - std::panicking::catch_unwind::h412991d5237de610 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x582e9c61a9fa - std::panic::catch_unwind::ha82b139b3eb5840a [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x582e9c61a9fa - std::thread::Builder::spawn_unchecked_::{{closure}}::ha823b36f5114938e [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x582e9c61a9fa - core::ops::function::FnOnce::call_once{{vtable.shim}}::hf120e7b1db22ac07 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x582e9c660f2f - as core::ops::function::FnOnce>::call_once::h3e049222c99298ac [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x582e9c660f2f - std::sys::pal::unix::thread::Thread::new::thread_start::h942e336943ad5963 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7ce298222aa4 - [INFO] [stdout] 45: 0x7ce2982afa34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- tagger::parser::tests::a_img_2 stdout ---- [INFO] [stdout] Parser: Local { chars: Snip { offset: 0, length: 1 }, bytes: Snip { offset: 0, length: 1 }, data: Breaker(Line) } [INFO] [stdout] Result: Local { chars: Snip { offset: 0, length: 1 }, bytes: Snip { offset: 0, length: 1 }, data: Breaker(Line) } [INFO] [stdout] Parser: Local { chars: Snip { offset: 1, length: 3 }, bytes: Snip { offset: 1, length: 3 }, data: Parsed(Tag { name: P, closing: Open, attributes: None, begin: Local { chars: Snip { offset: 1, length: 1 }, bytes: Snip { offset: 1, length: 1 }, data: () }, end: Local { chars: Snip { offset: 3, length: 1 }, bytes: Snip { offset: 3, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 1, length: 1 }, bytes: Snip { offset: 1, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 2, length: 1 }, bytes: Snip { offset: 2, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 3, length: 1 }, bytes: Snip { offset: 3, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] Result: Local { chars: Snip { offset: 1, length: 3 }, bytes: Snip { offset: 1, length: 3 }, data: Parsed(Tag { name: P, closing: Open, attributes: None, begin: Local { chars: Snip { offset: 1, length: 1 }, bytes: Snip { offset: 1, length: 1 }, data: () }, end: Local { chars: Snip { offset: 3, length: 1 }, bytes: Snip { offset: 3, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 1, length: 1 }, bytes: Snip { offset: 1, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 2, length: 1 }, bytes: Snip { offset: 2, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 3, length: 1 }, bytes: Snip { offset: 3, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] Parser: Local { chars: Snip { offset: 4, length: 1 }, bytes: Snip { offset: 4, length: 1 }, data: Char('I') } [INFO] [stdout] Result: Local { chars: Snip { offset: 4, length: 1 }, bytes: Snip { offset: 4, length: 1 }, data: Char('I') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 5, length: 1 }, bytes: Snip { offset: 5, length: 1 }, data: Char('n') } [INFO] [stdout] Result: Local { chars: Snip { offset: 5, length: 1 }, bytes: Snip { offset: 5, length: 1 }, data: Char('n') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 6, length: 1 }, bytes: Snip { offset: 6, length: 1 }, data: Breaker(Space) } [INFO] [stdout] Result: Local { chars: Snip { offset: 6, length: 1 }, bytes: Snip { offset: 6, length: 1 }, data: Breaker(Space) } [INFO] [stdout] Parser: Local { chars: Snip { offset: 7, length: 1 }, bytes: Snip { offset: 7, length: 1 }, data: Char('t') } [INFO] [stdout] Result: Local { chars: Snip { offset: 7, length: 1 }, bytes: Snip { offset: 7, length: 1 }, data: Char('t') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 8, length: 1 }, bytes: Snip { offset: 8, length: 1 }, data: Char('h') } [INFO] [stdout] Result: Local { chars: Snip { offset: 8, length: 1 }, bytes: Snip { offset: 8, length: 1 }, data: Char('h') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 9, length: 1 }, bytes: Snip { offset: 9, length: 1 }, data: Char('e') } [INFO] [stdout] Result: Local { chars: Snip { offset: 9, length: 1 }, bytes: Snip { offset: 9, length: 1 }, data: Char('e') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 10, length: 1 }, bytes: Snip { offset: 10, length: 1 }, data: Breaker(Space) } [INFO] [stdout] Result: Local { chars: Snip { offset: 10, length: 1 }, bytes: Snip { offset: 10, length: 1 }, data: Breaker(Space) } [INFO] [stdout] Parser: Local { chars: Snip { offset: 11, length: 1 }, bytes: Snip { offset: 11, length: 1 }, data: Char('c') } [INFO] [stdout] Result: Local { chars: Snip { offset: 11, length: 1 }, bytes: Snip { offset: 11, length: 1 }, data: Char('c') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 12, length: 1 }, bytes: Snip { offset: 12, length: 1 }, data: Char('o') } [INFO] [stdout] Result: Local { chars: Snip { offset: 12, length: 1 }, bytes: Snip { offset: 12, length: 1 }, data: Char('o') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 13, length: 1 }, bytes: Snip { offset: 13, length: 1 }, data: Char('m') } [INFO] [stdout] Result: Local { chars: Snip { offset: 13, length: 1 }, bytes: Snip { offset: 13, length: 1 }, data: Char('m') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 14, length: 1 }, bytes: Snip { offset: 14, length: 1 }, data: Char('m') } [INFO] [stdout] Result: Local { chars: Snip { offset: 14, length: 1 }, bytes: Snip { offset: 14, length: 1 }, data: Char('m') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 15, length: 1 }, bytes: Snip { offset: 15, length: 1 }, data: Char('o') } [INFO] [stdout] Result: Local { chars: Snip { offset: 15, length: 1 }, bytes: Snip { offset: 15, length: 1 }, data: Char('o') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 16, length: 1 }, bytes: Snip { offset: 16, length: 1 }, data: Char('n') } [INFO] [stdout] Result: Local { chars: Snip { offset: 16, length: 1 }, bytes: Snip { offset: 16, length: 1 }, data: Char('n') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 17, length: 1 }, bytes: Snip { offset: 17, length: 1 }, data: Breaker(Space) } [INFO] [stdout] Result: Local { chars: Snip { offset: 17, length: 1 }, bytes: Snip { offset: 17, length: 1 }, data: Breaker(Space) } [INFO] [stdout] Parser: Local { chars: Snip { offset: 18, length: 1 }, bytes: Snip { offset: 18, length: 1 }, data: Char('c') } [INFO] [stdout] Result: Local { chars: Snip { offset: 18, length: 1 }, bytes: Snip { offset: 18, length: 1 }, data: Char('c') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 19, length: 1 }, bytes: Snip { offset: 19, length: 1 }, data: Char('a') } [INFO] [stdout] Result: Local { chars: Snip { offset: 19, length: 1 }, bytes: Snip { offset: 19, length: 1 }, data: Char('a') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 20, length: 1 }, bytes: Snip { offset: 20, length: 1 }, data: Char('s') } [INFO] [stdout] Result: Local { chars: Snip { offset: 20, length: 1 }, bytes: Snip { offset: 20, length: 1 }, data: Char('s') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 21, length: 1 }, bytes: Snip { offset: 21, length: 1 }, data: Char('e') } [INFO] [stdout] Result: Local { chars: Snip { offset: 21, length: 1 }, bytes: Snip { offset: 21, length: 1 }, data: Char('e') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 22, length: 1 }, bytes: Snip { offset: 22, length: 1 }, data: Char(',') } [INFO] [stdout] Result: Local { chars: Snip { offset: 22, length: 1 }, bytes: Snip { offset: 22, length: 1 }, data: Char(',') } [INFO] [stdout] Parser: Local { chars: Snip { offset: 23, length: 1 }, bytes: Snip { offset: 23, length: 1 }, data: Breaker(Space) } [INFO] [stdout] Result: Local { chars: Snip { offset: 23, length: 1 }, bytes: Snip { offset: 23, length: 1 }, data: Breaker(Space) } [INFO] [stdout] Parser: Local { chars: Snip { offset: 24, length: 98 }, bytes: Snip { offset: 24, length: 98 }, data: Parsed(Tag { name: A, closing: Open, attributes: One(("href", Some(Snip { offset: 9, length: 52 }))), begin: Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: () }, end: Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 25, length: 1 }, bytes: Snip { offset: 25, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 26, length: 1 }, bytes: Snip { offset: 26, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 27, length: 1 }, bytes: Snip { offset: 27, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 28, length: 1 }, bytes: Snip { offset: 28, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 29, length: 1 }, bytes: Snip { offset: 29, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 30, length: 1 }, bytes: Snip { offset: 30, length: 1 }, data: Char('f') }, Local { chars: Snip { offset: 31, length: 1 }, bytes: Snip { offset: 31, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 32, length: 1 }, bytes: Snip { offset: 32, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 33, length: 1 }, bytes: Snip { offset: 33, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 34, length: 1 }, bytes: Snip { offset: 34, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 35, length: 1 }, bytes: Snip { offset: 35, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 36, length: 1 }, bytes: Snip { offset: 36, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 37, length: 1 }, bytes: Snip { offset: 37, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 38, length: 1 }, bytes: Snip { offset: 38, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 39, length: 1 }, bytes: Snip { offset: 39, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 40, length: 1 }, bytes: Snip { offset: 40, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 41, length: 1 }, bytes: Snip { offset: 41, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 42, length: 1 }, bytes: Snip { offset: 42, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 43, length: 1 }, bytes: Snip { offset: 43, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 44, length: 1 }, bytes: Snip { offset: 44, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 45, length: 1 }, bytes: Snip { offset: 45, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 46, length: 1 }, bytes: Snip { offset: 46, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 47, length: 1 }, bytes: Snip { offset: 47, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 48, length: 1 }, bytes: Snip { offset: 48, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 49, length: 1 }, bytes: Snip { offset: 49, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 50, length: 1 }, bytes: Snip { offset: 50, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 51, length: 1 }, bytes: Snip { offset: 51, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 52, length: 1 }, bytes: Snip { offset: 52, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 53, length: 1 }, bytes: Snip { offset: 53, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 54, length: 1 }, bytes: Snip { offset: 54, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 55, length: 1 }, bytes: Snip { offset: 55, length: 1 }, data: Char('.') }, Local { chars: Snip { offset: 56, length: 1 }, bytes: Snip { offset: 56, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 57, length: 1 }, bytes: Snip { offset: 57, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 58, length: 1 }, bytes: Snip { offset: 58, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 59, length: 1 }, bytes: Snip { offset: 59, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 60, length: 1 }, bytes: Snip { offset: 60, length: 1 }, data: Char('#') }, Local { chars: Snip { offset: 61, length: 1 }, bytes: Snip { offset: 61, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 62, length: 1 }, bytes: Snip { offset: 62, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 63, length: 1 }, bytes: Snip { offset: 63, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 64, length: 1 }, bytes: Snip { offset: 64, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 65, length: 1 }, bytes: Snip { offset: 65, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 66, length: 1 }, bytes: Snip { offset: 66, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 67, length: 1 }, bytes: Snip { offset: 67, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 68, length: 1 }, bytes: Snip { offset: 68, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 69, length: 1 }, bytes: Snip { offset: 69, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 70, length: 1 }, bytes: Snip { offset: 70, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 71, length: 1 }, bytes: Snip { offset: 71, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 72, length: 1 }, bytes: Snip { offset: 72, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 73, length: 1 }, bytes: Snip { offset: 73, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 74, length: 1 }, bytes: Snip { offset: 74, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 75, length: 1 }, bytes: Snip { offset: 75, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 76, length: 1 }, bytes: Snip { offset: 76, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 77, length: 1 }, bytes: Snip { offset: 77, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 78, length: 1 }, bytes: Snip { offset: 78, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 79, length: 1 }, bytes: Snip { offset: 79, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 80, length: 1 }, bytes: Snip { offset: 80, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 81, length: 1 }, bytes: Snip { offset: 81, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 82, length: 1 }, bytes: Snip { offset: 82, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 83, length: 1 }, bytes: Snip { offset: 83, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 84, length: 1 }, bytes: Snip { offset: 84, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 85, length: 1 }, bytes: Snip { offset: 85, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 86, length: 1 }, bytes: Snip { offset: 86, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 87, length: 1 }, bytes: Snip { offset: 87, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 88, length: 1 }, bytes: Snip { offset: 88, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 89, length: 1 }, bytes: Snip { offset: 89, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 90, length: 1 }, bytes: Snip { offset: 90, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 91, length: 1 }, bytes: Snip { offset: 91, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 92, length: 1 }, bytes: Snip { offset: 92, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 93, length: 1 }, bytes: Snip { offset: 93, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 94, length: 1 }, bytes: Snip { offset: 94, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 95, length: 1 }, bytes: Snip { offset: 95, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 96, length: 1 }, bytes: Snip { offset: 96, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 97, length: 1 }, bytes: Snip { offset: 97, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 98, length: 1 }, bytes: Snip { offset: 98, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 99, length: 1 }, bytes: Snip { offset: 99, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 100, length: 1 }, bytes: Snip { offset: 100, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 101, length: 1 }, bytes: Snip { offset: 101, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 102, length: 1 }, bytes: Snip { offset: 102, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 103, length: 1 }, bytes: Snip { offset: 103, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 104, length: 1 }, bytes: Snip { offset: 104, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 105, length: 1 }, bytes: Snip { offset: 105, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 106, length: 1 }, bytes: Snip { offset: 106, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 107, length: 1 }, bytes: Snip { offset: 107, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 108, length: 3 }, bytes: Snip { offset: 108, length: 3 }, data: Breaker(Line) }, Local { chars: Snip { offset: 111, length: 1 }, bytes: Snip { offset: 111, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 112, length: 1 }, bytes: Snip { offset: 112, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 113, length: 1 }, bytes: Snip { offset: 113, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 114, length: 1 }, bytes: Snip { offset: 114, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 115, length: 1 }, bytes: Snip { offset: 115, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 116, length: 1 }, bytes: Snip { offset: 116, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 117, length: 1 }, bytes: Snip { offset: 117, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 118, length: 1 }, bytes: Snip { offset: 118, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 119, length: 1 }, bytes: Snip { offset: 119, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 120, length: 1 }, bytes: Snip { offset: 120, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] Result: Local { chars: Snip { offset: 24, length: 98 }, bytes: Snip { offset: 24, length: 98 }, data: Parsed(Tag { name: A, closing: Open, attributes: One(("href", Some(Snip { offset: 9, length: 51 }))), begin: Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: () }, end: Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 25, length: 1 }, bytes: Snip { offset: 25, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 26, length: 1 }, bytes: Snip { offset: 26, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 27, length: 1 }, bytes: Snip { offset: 27, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 28, length: 1 }, bytes: Snip { offset: 28, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 29, length: 1 }, bytes: Snip { offset: 29, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 30, length: 1 }, bytes: Snip { offset: 30, length: 1 }, data: Char('f') }, Local { chars: Snip { offset: 31, length: 1 }, bytes: Snip { offset: 31, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 32, length: 1 }, bytes: Snip { offset: 32, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 33, length: 1 }, bytes: Snip { offset: 33, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 34, length: 1 }, bytes: Snip { offset: 34, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 35, length: 1 }, bytes: Snip { offset: 35, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 36, length: 1 }, bytes: Snip { offset: 36, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 37, length: 1 }, bytes: Snip { offset: 37, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 38, length: 1 }, bytes: Snip { offset: 38, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 39, length: 1 }, bytes: Snip { offset: 39, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 40, length: 1 }, bytes: Snip { offset: 40, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 41, length: 1 }, bytes: Snip { offset: 41, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 42, length: 1 }, bytes: Snip { offset: 42, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 43, length: 1 }, bytes: Snip { offset: 43, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 44, length: 1 }, bytes: Snip { offset: 44, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 45, length: 1 }, bytes: Snip { offset: 45, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 46, length: 1 }, bytes: Snip { offset: 46, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 47, length: 1 }, bytes: Snip { offset: 47, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 48, length: 1 }, bytes: Snip { offset: 48, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 49, length: 1 }, bytes: Snip { offset: 49, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 50, length: 1 }, bytes: Snip { offset: 50, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 51, length: 1 }, bytes: Snip { offset: 51, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 52, length: 1 }, bytes: Snip { offset: 52, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 53, length: 1 }, bytes: Snip { offset: 53, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 54, length: 1 }, bytes: Snip { offset: 54, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 55, length: 1 }, bytes: Snip { offset: 55, length: 1 }, data: Char('.') }, Local { chars: Snip { offset: 56, length: 1 }, bytes: Snip { offset: 56, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 57, length: 1 }, bytes: Snip { offset: 57, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 58, length: 1 }, bytes: Snip { offset: 58, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 59, length: 1 }, bytes: Snip { offset: 59, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 60, length: 1 }, bytes: Snip { offset: 60, length: 1 }, data: Char('#') }, Local { chars: Snip { offset: 61, length: 1 }, bytes: Snip { offset: 61, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 62, length: 1 }, bytes: Snip { offset: 62, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 63, length: 1 }, bytes: Snip { offset: 63, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 64, length: 1 }, bytes: Snip { offset: 64, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 65, length: 1 }, bytes: Snip { offset: 65, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 66, length: 1 }, bytes: Snip { offset: 66, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 67, length: 1 }, bytes: Snip { offset: 67, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 68, length: 1 }, bytes: Snip { offset: 68, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 69, length: 1 }, bytes: Snip { offset: 69, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 70, length: 1 }, bytes: Snip { offset: 70, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 71, length: 1 }, bytes: Snip { offset: 71, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 72, length: 1 }, bytes: Snip { offset: 72, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 73, length: 1 }, bytes: Snip { offset: 73, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 74, length: 1 }, bytes: Snip { offset: 74, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 75, length: 1 }, bytes: Snip { offset: 75, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 76, length: 1 }, bytes: Snip { offset: 76, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 77, length: 1 }, bytes: Snip { offset: 77, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 78, length: 1 }, bytes: Snip { offset: 78, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 79, length: 1 }, bytes: Snip { offset: 79, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 80, length: 1 }, bytes: Snip { offset: 80, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 81, length: 1 }, bytes: Snip { offset: 81, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 82, length: 1 }, bytes: Snip { offset: 82, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 83, length: 1 }, bytes: Snip { offset: 83, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 84, length: 1 }, bytes: Snip { offset: 84, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 85, length: 1 }, bytes: Snip { offset: 85, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 86, length: 1 }, bytes: Snip { offset: 86, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 87, length: 1 }, bytes: Snip { offset: 87, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 88, length: 1 }, bytes: Snip { offset: 88, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 89, length: 1 }, bytes: Snip { offset: 89, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 90, length: 1 }, bytes: Snip { offset: 90, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 91, length: 1 }, bytes: Snip { offset: 91, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 92, length: 1 }, bytes: Snip { offset: 92, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 93, length: 1 }, bytes: Snip { offset: 93, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 94, length: 1 }, bytes: Snip { offset: 94, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 95, length: 1 }, bytes: Snip { offset: 95, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 96, length: 1 }, bytes: Snip { offset: 96, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 97, length: 1 }, bytes: Snip { offset: 97, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 98, length: 1 }, bytes: Snip { offset: 98, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 99, length: 1 }, bytes: Snip { offset: 99, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 100, length: 1 }, bytes: Snip { offset: 100, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 101, length: 1 }, bytes: Snip { offset: 101, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 102, length: 1 }, bytes: Snip { offset: 102, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 103, length: 1 }, bytes: Snip { offset: 103, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 104, length: 1 }, bytes: Snip { offset: 104, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 105, length: 1 }, bytes: Snip { offset: 105, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 106, length: 1 }, bytes: Snip { offset: 106, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 107, length: 1 }, bytes: Snip { offset: 107, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 108, length: 3 }, bytes: Snip { offset: 108, length: 3 }, data: Breaker(Line) }, Local { chars: Snip { offset: 111, length: 1 }, bytes: Snip { offset: 111, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 112, length: 1 }, bytes: Snip { offset: 112, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 113, length: 1 }, bytes: Snip { offset: 113, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 114, length: 1 }, bytes: Snip { offset: 114, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 115, length: 1 }, bytes: Snip { offset: 115, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 116, length: 1 }, bytes: Snip { offset: 116, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 117, length: 1 }, bytes: Snip { offset: 117, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 118, length: 1 }, bytes: Snip { offset: 118, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 119, length: 1 }, bytes: Snip { offset: 119, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 120, length: 1 }, bytes: Snip { offset: 120, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] [INFO] [stdout] thread 'tagger::parser::tests::a_img_2' (32) panicked at src/tagger/parser.rs:1990:21: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: Local { chars: Snip { offset: 24, length: 98 }, bytes: Snip { offset: 24, length: 98 }, data: Parsed(Tag { name: A, closing: Open, attributes: One(("href", Some(Snip { offset: 9, length: 52 }))), begin: Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: () }, end: Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 25, length: 1 }, bytes: Snip { offset: 25, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 26, length: 1 }, bytes: Snip { offset: 26, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 27, length: 1 }, bytes: Snip { offset: 27, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 28, length: 1 }, bytes: Snip { offset: 28, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 29, length: 1 }, bytes: Snip { offset: 29, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 30, length: 1 }, bytes: Snip { offset: 30, length: 1 }, data: Char('f') }, Local { chars: Snip { offset: 31, length: 1 }, bytes: Snip { offset: 31, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 32, length: 1 }, bytes: Snip { offset: 32, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 33, length: 1 }, bytes: Snip { offset: 33, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 34, length: 1 }, bytes: Snip { offset: 34, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 35, length: 1 }, bytes: Snip { offset: 35, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 36, length: 1 }, bytes: Snip { offset: 36, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 37, length: 1 }, bytes: Snip { offset: 37, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 38, length: 1 }, bytes: Snip { offset: 38, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 39, length: 1 }, bytes: Snip { offset: 39, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 40, length: 1 }, bytes: Snip { offset: 40, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 41, length: 1 }, bytes: Snip { offset: 41, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 42, length: 1 }, bytes: Snip { offset: 42, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 43, length: 1 }, bytes: Snip { offset: 43, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 44, length: 1 }, bytes: Snip { offset: 44, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 45, length: 1 }, bytes: Snip { offset: 45, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 46, length: 1 }, bytes: Snip { offset: 46, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 47, length: 1 }, bytes: Snip { offset: 47, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 48, length: 1 }, bytes: Snip { offset: 48, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 49, length: 1 }, bytes: Snip { offset: 49, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 50, length: 1 }, bytes: Snip { offset: 50, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 51, length: 1 }, bytes: Snip { offset: 51, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 52, length: 1 }, bytes: Snip { offset: 52, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 53, length: 1 }, bytes: Snip { offset: 53, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 54, length: 1 }, bytes: Snip { offset: 54, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 55, length: 1 }, bytes: Snip { offset: 55, length: 1 }, data: Char('.') }, Local { chars: Snip { offset: 56, length: 1 }, bytes: Snip { offset: 56, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 57, length: 1 }, bytes: Snip { offset: 57, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 58, length: 1 }, bytes: Snip { offset: 58, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 59, length: 1 }, bytes: Snip { offset: 59, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 60, length: 1 }, bytes: Snip { offset: 60, length: 1 }, data: Char('#') }, Local { chars: Snip { offset: 61, length: 1 }, bytes: Snip { offset: 61, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 62, length: 1 }, bytes: Snip { offset: 62, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 63, length: 1 }, bytes: Snip { offset: 63, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 64, length: 1 }, bytes: Snip { offset: 64, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 65, length: 1 }, bytes: Snip { offset: 65, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 66, length: 1 }, bytes: Snip { offset: 66, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 67, length: 1 }, bytes: Snip { offset: 67, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 68, length: 1 }, bytes: Snip { offset: 68, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 69, length: 1 }, bytes: Snip { offset: 69, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 70, length: 1 }, bytes: Snip { offset: 70, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 71, length: 1 }, bytes: Snip { offset: 71, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 72, length: 1 }, bytes: Snip { offset: 72, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 73, length: 1 }, bytes: Snip { offset: 73, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 74, length: 1 }, bytes: Snip { offset: 74, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 75, length: 1 }, bytes: Snip { offset: 75, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 76, length: 1 }, bytes: Snip { offset: 76, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 77, length: 1 }, bytes: Snip { offset: 77, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 78, length: 1 }, bytes: Snip { offset: 78, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 79, length: 1 }, bytes: Snip { offset: 79, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 80, length: 1 }, bytes: Snip { offset: 80, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 81, length: 1 }, bytes: Snip { offset: 81, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 82, length: 1 }, bytes: Snip { offset: 82, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 83, length: 1 }, bytes: Snip { offset: 83, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 84, length: 1 }, bytes: Snip { offset: 84, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 85, length: 1 }, bytes: Snip { offset: 85, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 86, length: 1 }, bytes: Snip { offset: 86, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 87, length: 1 }, bytes: Snip { offset: 87, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 88, length: 1 }, bytes: Snip { offset: 88, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 89, length: 1 }, bytes: Snip { offset: 89, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 90, length: 1 }, bytes: Snip { offset: 90, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 91, length: 1 }, bytes: Snip { offset: 91, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 92, length: 1 }, bytes: Snip { offset: 92, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 93, length: 1 }, bytes: Snip { offset: 93, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 94, length: 1 }, bytes: Snip { offset: 94, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 95, length: 1 }, bytes: Snip { offset: 95, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 96, length: 1 }, bytes: Snip { offset: 96, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 97, length: 1 }, bytes: Snip { offset: 97, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 98, length: 1 }, bytes: Snip { offset: 98, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 99, length: 1 }, bytes: Snip { offset: 99, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 100, length: 1 }, bytes: Snip { offset: 100, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 101, length: 1 }, bytes: Snip { offset: 101, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 102, length: 1 }, bytes: Snip { offset: 102, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 103, length: 1 }, bytes: Snip { offset: 103, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 104, length: 1 }, bytes: Snip { offset: 104, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 105, length: 1 }, bytes: Snip { offset: 105, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 106, length: 1 }, bytes: Snip { offset: 106, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 107, length: 1 }, bytes: Snip { offset: 107, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 108, length: 3 }, bytes: Snip { offset: 108, length: 3 }, data: Breaker(Line) }, Local { chars: Snip { offset: 111, length: 1 }, bytes: Snip { offset: 111, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 112, length: 1 }, bytes: Snip { offset: 112, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 113, length: 1 }, bytes: Snip { offset: 113, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 114, length: 1 }, bytes: Snip { offset: 114, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 115, length: 1 }, bytes: Snip { offset: 115, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 116, length: 1 }, bytes: Snip { offset: 116, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 117, length: 1 }, bytes: Snip { offset: 117, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 118, length: 1 }, bytes: Snip { offset: 118, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 119, length: 1 }, bytes: Snip { offset: 119, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 120, length: 1 }, bytes: Snip { offset: 120, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: Char('>') }] }) } [INFO] [stdout] right: Local { chars: Snip { offset: 24, length: 98 }, bytes: Snip { offset: 24, length: 98 }, data: Parsed(Tag { name: A, closing: Open, attributes: One(("href", Some(Snip { offset: 9, length: 51 }))), begin: Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: () }, end: Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: () }, raw: [Local { chars: Snip { offset: 24, length: 1 }, bytes: Snip { offset: 24, length: 1 }, data: Char('<') }, Local { chars: Snip { offset: 25, length: 1 }, bytes: Snip { offset: 25, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 26, length: 1 }, bytes: Snip { offset: 26, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 27, length: 1 }, bytes: Snip { offset: 27, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 28, length: 1 }, bytes: Snip { offset: 28, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 29, length: 1 }, bytes: Snip { offset: 29, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 30, length: 1 }, bytes: Snip { offset: 30, length: 1 }, data: Char('f') }, Local { chars: Snip { offset: 31, length: 1 }, bytes: Snip { offset: 31, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 32, length: 1 }, bytes: Snip { offset: 32, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 33, length: 1 }, bytes: Snip { offset: 33, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 34, length: 1 }, bytes: Snip { offset: 34, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 35, length: 1 }, bytes: Snip { offset: 35, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 36, length: 1 }, bytes: Snip { offset: 36, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 37, length: 1 }, bytes: Snip { offset: 37, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 38, length: 1 }, bytes: Snip { offset: 38, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 39, length: 1 }, bytes: Snip { offset: 39, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 40, length: 1 }, bytes: Snip { offset: 40, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 41, length: 1 }, bytes: Snip { offset: 41, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 42, length: 1 }, bytes: Snip { offset: 42, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 43, length: 1 }, bytes: Snip { offset: 43, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 44, length: 1 }, bytes: Snip { offset: 44, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 45, length: 1 }, bytes: Snip { offset: 45, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 46, length: 1 }, bytes: Snip { offset: 46, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 47, length: 1 }, bytes: Snip { offset: 47, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 48, length: 1 }, bytes: Snip { offset: 48, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 49, length: 1 }, bytes: Snip { offset: 49, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 50, length: 1 }, bytes: Snip { offset: 50, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 51, length: 1 }, bytes: Snip { offset: 51, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 52, length: 1 }, bytes: Snip { offset: 52, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 53, length: 1 }, bytes: Snip { offset: 53, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 54, length: 1 }, bytes: Snip { offset: 54, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 55, length: 1 }, bytes: Snip { offset: 55, length: 1 }, data: Char('.') }, Local { chars: Snip { offset: 56, length: 1 }, bytes: Snip { offset: 56, length: 1 }, data: Char('h') }, Local { chars: Snip { offset: 57, length: 1 }, bytes: Snip { offset: 57, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 58, length: 1 }, bytes: Snip { offset: 58, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 59, length: 1 }, bytes: Snip { offset: 59, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 60, length: 1 }, bytes: Snip { offset: 60, length: 1 }, data: Char('#') }, Local { chars: Snip { offset: 61, length: 1 }, bytes: Snip { offset: 61, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 62, length: 1 }, bytes: Snip { offset: 62, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 63, length: 1 }, bytes: Snip { offset: 63, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 64, length: 1 }, bytes: Snip { offset: 64, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 65, length: 1 }, bytes: Snip { offset: 65, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 66, length: 1 }, bytes: Snip { offset: 66, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 67, length: 1 }, bytes: Snip { offset: 67, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 68, length: 1 }, bytes: Snip { offset: 68, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 69, length: 1 }, bytes: Snip { offset: 69, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 70, length: 1 }, bytes: Snip { offset: 70, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 71, length: 1 }, bytes: Snip { offset: 71, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 72, length: 1 }, bytes: Snip { offset: 72, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 73, length: 1 }, bytes: Snip { offset: 73, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 74, length: 1 }, bytes: Snip { offset: 74, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 75, length: 1 }, bytes: Snip { offset: 75, length: 1 }, data: Char('-') }, Local { chars: Snip { offset: 76, length: 1 }, bytes: Snip { offset: 76, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 77, length: 1 }, bytes: Snip { offset: 77, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 78, length: 1 }, bytes: Snip { offset: 78, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 79, length: 1 }, bytes: Snip { offset: 79, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 80, length: 1 }, bytes: Snip { offset: 80, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 81, length: 1 }, bytes: Snip { offset: 81, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 82, length: 1 }, bytes: Snip { offset: 82, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 83, length: 1 }, bytes: Snip { offset: 83, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 84, length: 1 }, bytes: Snip { offset: 84, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 85, length: 1 }, bytes: Snip { offset: 85, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 86, length: 1 }, bytes: Snip { offset: 86, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 87, length: 1 }, bytes: Snip { offset: 87, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 88, length: 1 }, bytes: Snip { offset: 88, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 89, length: 1 }, bytes: Snip { offset: 89, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 90, length: 1 }, bytes: Snip { offset: 90, length: 1 }, data: Char('l') }, Local { chars: Snip { offset: 91, length: 1 }, bytes: Snip { offset: 91, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 92, length: 1 }, bytes: Snip { offset: 92, length: 1 }, data: Char('=') }, Local { chars: Snip { offset: 93, length: 1 }, bytes: Snip { offset: 93, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 94, length: 1 }, bytes: Snip { offset: 94, length: 1 }, data: Char('d') }, Local { chars: Snip { offset: 95, length: 1 }, bytes: Snip { offset: 95, length: 1 }, data: Char('y') }, Local { chars: Snip { offset: 96, length: 1 }, bytes: Snip { offset: 96, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 97, length: 1 }, bytes: Snip { offset: 97, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 98, length: 1 }, bytes: Snip { offset: 98, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 99, length: 1 }, bytes: Snip { offset: 99, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 100, length: 1 }, bytes: Snip { offset: 100, length: 1 }, data: Char('c') }, Local { chars: Snip { offset: 101, length: 1 }, bytes: Snip { offset: 101, length: 1 }, data: Breaker(Space) }, Local { chars: Snip { offset: 102, length: 1 }, bytes: Snip { offset: 102, length: 1 }, data: Char('m') }, Local { chars: Snip { offset: 103, length: 1 }, bytes: Snip { offset: 103, length: 1 }, data: Char('a') }, Local { chars: Snip { offset: 104, length: 1 }, bytes: Snip { offset: 104, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 105, length: 1 }, bytes: Snip { offset: 105, length: 1 }, data: Char('k') }, Local { chars: Snip { offset: 106, length: 1 }, bytes: Snip { offset: 106, length: 1 }, data: Char('u') }, Local { chars: Snip { offset: 107, length: 1 }, bytes: Snip { offset: 107, length: 1 }, data: Char('p') }, Local { chars: Snip { offset: 108, length: 3 }, bytes: Snip { offset: 108, length: 3 }, data: Breaker(Line) }, Local { chars: Snip { offset: 111, length: 1 }, bytes: Snip { offset: 111, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 112, length: 1 }, bytes: Snip { offset: 112, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 113, length: 1 }, bytes: Snip { offset: 113, length: 1 }, data: Char('s') }, Local { chars: Snip { offset: 114, length: 1 }, bytes: Snip { offset: 114, length: 1 }, data: Char('e') }, Local { chars: Snip { offset: 115, length: 1 }, bytes: Snip { offset: 115, length: 1 }, data: Char('r') }, Local { chars: Snip { offset: 116, length: 1 }, bytes: Snip { offset: 116, length: 1 }, data: Char('t') }, Local { chars: Snip { offset: 117, length: 1 }, bytes: Snip { offset: 117, length: 1 }, data: Char('i') }, Local { chars: Snip { offset: 118, length: 1 }, bytes: Snip { offset: 118, length: 1 }, data: Char('o') }, Local { chars: Snip { offset: 119, length: 1 }, bytes: Snip { offset: 119, length: 1 }, data: Char('n') }, Local { chars: Snip { offset: 120, length: 1 }, bytes: Snip { offset: 120, length: 1 }, data: Char('"') }, Local { chars: Snip { offset: 121, length: 1 }, bytes: Snip { offset: 121, length: 1 }, data: Char('>') }] }) } [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x582e9c68d3f2 - std::backtrace_rs::backtrace::libunwind::trace::h7cddb8376417e7cc [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x582e9c68d3f2 - std::backtrace_rs::backtrace::trace_unsynchronized::hb4e41acf4b349ff1 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x582e9c68d3f2 - std::sys::backtrace::_print_fmt::h1222b80910ba6eb5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x582e9c68d3f2 - ::fmt::h5bb8a979ba5db788 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x582e9c69d61f - core::fmt::rt::Argument::fmt::h2ee2c138a50a7796 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x582e9c69d61f - core::fmt::write::h1e0dbf07fe3990bd [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x582e9c65adb3 - std::io::default_write_fmt::h7d7ad5ed6a883d81 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x582e9c65adb3 - std::io::Write::write_fmt::hc477d9325b345ece [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x582e9c666b72 - std::sys::backtrace::BacktraceLock::print::h788d486777205086 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x582e9c66b56f - std::panicking::default_hook::{{closure}}::ha7bdfeb5949fc0fa [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x582e9c66b401 - std::panicking::default_hook::h6dad75ec721846f4 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x582e9c62ae4e - as core::ops::function::Fn>::call::h33799d04b0b96146 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x582e9c62ae4e - test::test_main_with_exit_callback::{{closure}}::h880e31c829a2eb5d [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x582e9c66bc0e - as core::ops::function::Fn>::call::h5e1b8c652ea49180 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x582e9c66bc0e - std::panicking::panic_with_hook::hba00e869ada17676 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x582e9c66b9da - std::panicking::panic_handler::{{closure}}::h3d21149c258e5ceb [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x582e9c666ca9 - std::sys::backtrace::__rust_end_short_backtrace::h4f5d9b9dfb3e6ec1 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x582e9c64f01d - __rustc[9a7a9f9af7564de1]::rust_begin_unwind [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x582e9c6a5320 - core::panicking::panic_fmt::h78e817a90331d98b [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x582e9c6a5123 - core::panicking::assert_failed_inner::he0a3934689115f42 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x582e9c5de88a - core::panicking::assert_failed::h537e01e003895e1e [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x582e9c5c1232 - text_parsing::tagger::parser::tests::a_img_2::h5806e60adfcfb22f [INFO] [stdout] at /opt/rustwide/workdir/src/tagger/parser.rs:1990:21 [INFO] [stdout] 22: 0x582e9c5c1347 - text_parsing::tagger::parser::tests::a_img_2::{{closure}}::hc6a0d5b524a5aa10 [INFO] [stdout] at /opt/rustwide/workdir/src/tagger/parser.rs:1366:17 [INFO] [stdout] 23: 0x582e9c5ff2d6 - core::ops::function::FnOnce::call_once::h1309d9579ed7cf5c [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x582e9c62ac4b - core::ops::function::FnOnce::call_once::h7f4b4fba903e39d5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x582e9c62ac4b - test::__rust_begin_short_backtrace::h9277cb6a2ccfc000 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x582e9c6406f5 - test::run_test_in_process::{{closure}}::h9aea5ca90d1f4423 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x582e9c6406f5 - as core::ops::function::FnOnce<()>>::call_once::h364f5fe6cc8afa85 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 28: 0x582e9c6406f5 - std::panicking::catch_unwind::do_call::h2b2bec3317fe53ec [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x582e9c6406f5 - std::panicking::catch_unwind::hc3763734156da4af [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x582e9c6406f5 - std::panic::catch_unwind::h28038391e867eabc [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x582e9c6406f5 - test::run_test_in_process::had0273166695a036 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x582e9c6406f5 - test::run_test::{{closure}}::h743d09d4bb476605 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x582e9c617114 - test::run_test::{{closure}}::he950b8f9118d37e2 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x582e9c617114 - std::sys::backtrace::__rust_begin_short_backtrace::hbfaffa6539f6abb7 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x582e9c61a9fa - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hcce3c2c65b9c3b20 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x582e9c61a9fa - as core::ops::function::FnOnce<()>>::call_once::hb66b30b6d37985a5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 37: 0x582e9c61a9fa - std::panicking::catch_unwind::do_call::h992bbe2c32dc1d79 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x582e9c61a9fa - std::panicking::catch_unwind::h412991d5237de610 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x582e9c61a9fa - std::panic::catch_unwind::ha82b139b3eb5840a [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x582e9c61a9fa - std::thread::Builder::spawn_unchecked_::{{closure}}::ha823b36f5114938e [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x582e9c61a9fa - core::ops::function::FnOnce::call_once{{vtable.shim}}::hf120e7b1db22ac07 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x582e9c660f2f - as core::ops::function::FnOnce>::call_once::h3e049222c99298ac [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x582e9c660f2f - std::sys::pal::unix::thread::Thread::new::thread_start::h942e336943ad5963 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7ce298222aa4 - [INFO] [stdout] 45: 0x7ce2982afa34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] tagger::parser::tests::a_img [INFO] [stdout] tagger::parser::tests::a_img_2 [INFO] [stdout] [INFO] [stdout] test result: FAILED. 13 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7c6542542feb22c2435d10d11e19f74f866e420e1f2f8fb7558292556d577b23", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7c6542542feb22c2435d10d11e19f74f866e420e1f2f8fb7558292556d577b23", kill_on_drop: false }` [INFO] [stdout] 7c6542542feb22c2435d10d11e19f74f866e420e1f2f8fb7558292556d577b23