[INFO] fetching crate text-parsing 0.6.6... [INFO] testing text-parsing-0.6.6 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145330-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 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e68f20624d050ee31ff81d1d9b00cc5112aea66a318f10ab92644fbfb1b6c248 [INFO] running `Command { std: "docker" "start" "-a" "e68f20624d050ee31ff81d1d9b00cc5112aea66a318f10ab92644fbfb1b6c248", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e68f20624d050ee31ff81d1d9b00cc5112aea66a318f10ab92644fbfb1b6c248", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e68f20624d050ee31ff81d1d9b00cc5112aea66a318f10ab92644fbfb1b6c248", kill_on_drop: false }` [INFO] [stdout] e68f20624d050ee31ff81d1d9b00cc5112aea66a318f10ab92644fbfb1b6c248 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6b4798a0e0608b5fa55a065edc5cc273cc94a70884f126b601263559c1244217 [INFO] running `Command { std: "docker" "start" "-a" "6b4798a0e0608b5fa55a065edc5cc273cc94a70884f126b601263559c1244217", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-properties v0.1.3 [INFO] [stderr] Compiling opt_struct v0.1.4 [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.76s [INFO] running `Command { std: "docker" "inspect" "6b4798a0e0608b5fa55a065edc5cc273cc94a70884f126b601263559c1244217", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6b4798a0e0608b5fa55a065edc5cc273cc94a70884f126b601263559c1244217", kill_on_drop: false }` [INFO] [stdout] 6b4798a0e0608b5fa55a065edc5cc273cc94a70884f126b601263559c1244217 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 882144cf147312303e456cf7f4b933387edce7148eaed425603a0bad1fbe3c92 [INFO] running `Command { std: "docker" "start" "-a" "882144cf147312303e456cf7f4b933387edce7148eaed425603a0bad1fbe3c92", 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.50s [INFO] running `Command { std: "docker" "inspect" "882144cf147312303e456cf7f4b933387edce7148eaed425603a0bad1fbe3c92", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "882144cf147312303e456cf7f4b933387edce7148eaed425603a0bad1fbe3c92", kill_on_drop: false }` [INFO] [stdout] 882144cf147312303e456cf7f4b933387edce7148eaed425603a0bad1fbe3c92 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 414b7546c23535c6b418f1eb4cf45809c8a090b1626a0229864af4a2d6bc6247 [INFO] running `Command { std: "docker" "start" "-a" "414b7546c23535c6b418f1eb4cf45809c8a090b1626a0229864af4a2d6bc6247", 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.04s [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 paragraph::parser::tests::basic ... ok [INFO] [stdout] test source::tests::basic ... ok [INFO] [stdout] test source::tests::basic_breaker ... 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_2 ... ok [INFO] [stdout] test tagger::parser::tests::basic ... ok [INFO] [stdout] test tagger::parser::tests::basic_void ... ok [INFO] [stdout] test tagger::parser::tests::auto_detect_01 ... ok [INFO] [stdout] test tagger::parser::tests::basic_void_2 ... ok [INFO] [stdout] test tagger::parser::tests::corrupted_01 ... ok [INFO] [stdout] test tagger::parser::tests::no_tag ... ok [INFO] [stdout] test tagger::parser::tests::corrupted_02 ... ok [INFO] [stdout] test tagger::parser::tests::a_img_2 ... FAILED [INFO] [stdout] test tagger::parser::tests::a_img ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [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] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5f52db8d0c22 - std::backtrace_rs::backtrace::libunwind::trace::h0fb8082ca5562a61 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5f52db8d0c22 - std::backtrace_rs::backtrace::trace_unsynchronized::hfaa258994374a3cd [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5f52db8d0c22 - std::sys::backtrace::_print_fmt::h11496fe34963a885 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5f52db8d0c22 - ::fmt::hff1a9408d012ee89 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5f52db8f3fff - core::fmt::rt::Argument::fmt::hf11195b61445f5d1 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5f52db8f3fff - core::fmt::write::h2f1fc679f228cc52 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5f52db8bd8c3 - std::io::default_write_fmt::h12bd533187bc883d [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5f52db8bd8c3 - std::io::Write::write_fmt::h926a1fdfdcb90065 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5f52db8d0a72 - std::sys::backtrace::BacktraceLock::print::h28bfdbcac6d3828b [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5f52db8bc12c - std::panicking::default_hook::{{closure}}::h1f968e3a24b0e3b4 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5f52db8bbfa9 - std::panicking::default_hook::h43da101644971931 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5f52db864e1e - as core::ops::function::Fn>::call::h4b2012949041da5d [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 12: 0x5f52db864e1e - test::test_main_with_exit_callback::{{closure}}::h53c9154cdc260357 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5f52db8bc733 - as core::ops::function::Fn>::call::h911f2e3e7e84b764 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 14: 0x5f52db8bc733 - std::panicking::panic_with_hook::hb4e916c3e65eccec [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5f52db8d05fa - std::panicking::panic_handler::{{closure}}::hbff715d0475cf1bd [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5f52db8d0559 - std::sys::backtrace::__rust_end_short_backtrace::hd6f43484e45a4955 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5f52db8bcc9d - __rustc[b29d3319de9a3146]::rust_begin_unwind [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5f52db8fa620 - core::panicking::panic_fmt::h5f8d281875be5ff1 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5f52db8fa3d3 - core::panicking::assert_failed_inner::he2d6c07cd4513ee3 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panicking.rs:448:17 [INFO] [stdout] 20: 0x5f52db85c81d - core::panicking::assert_failed::head77da2890b7888 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panicking.rs:403:5 [INFO] [stdout] 21: 0x5f52db7fa482 - text_parsing::tagger::parser::tests::a_img_2::hd85e4a0102c97997 [INFO] [stdout] at /opt/rustwide/workdir/src/tagger/parser.rs:1990:21 [INFO] [stdout] 22: 0x5f52db814377 - text_parsing::tagger::parser::tests::a_img_2::{{closure}}::h2f61c6f4fd502d47 [INFO] [stdout] at /opt/rustwide/workdir/src/tagger/parser.rs:1366:17 [INFO] [stdout] 23: 0x5f52db822e06 - core::ops::function::FnOnce::call_once::h313da8f3ddf0649b [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5f52db86a35b - core::ops::function::FnOnce::call_once::haf4e03bb51ef1351 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5f52db86a35b - test::__rust_begin_short_backtrace::h50f5566ee84f2f21 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5f52db86d555 - test::run_test_in_process::{{closure}}::heb3733b71d876eca [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5f52db86d555 - as core::ops::function::FnOnce<()>>::call_once::he2fe41e1b161faa9 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 28: 0x5f52db86d555 - std::panicking::catch_unwind::do_call::h00aa383d8fd97a09 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5f52db86d555 - std::panicking::catch_unwind::he482e1914bc21641 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5f52db86d555 - std::panic::catch_unwind::h86ac9705098f4f22 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5f52db86d555 - test::run_test_in_process::h636a992821e3c6aa [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5f52db86d555 - test::run_test::{{closure}}::he454cc9a192df79f [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5f52db892f04 - test::run_test::{{closure}}::haec47455908dff86 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5f52db892f04 - std::sys::backtrace::__rust_begin_short_backtrace::h230785972524cdc1 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5f52db879b1a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::haa5a562db4cde838 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5f52db879b1a - as core::ops::function::FnOnce<()>>::call_once::h89254f37a55d0a87 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 37: 0x5f52db879b1a - std::panicking::catch_unwind::do_call::h499f5a462f019d9d [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5f52db879b1a - std::panicking::catch_unwind::h6736fbbb1a264383 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5f52db879b1a - std::panic::catch_unwind::h49ea7bdd1cbee572 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5f52db879b1a - std::thread::Builder::spawn_unchecked_::{{closure}}::h653dfa62acf32f5a [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5f52db879b1a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h82582a626a045a45 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5f52db8a736f - as core::ops::function::FnOnce>::call_once::h4ab26c07513156cc [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:1971:9 [INFO] [stdout] 43: 0x5f52db8a736f - std::sys::pal::unix::thread::Thread::new::thread_start::h66ff1bba185a50cf [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/pal/unix/thread.rs:107:17 [INFO] [stdout] 44: 0x7f5280243aa4 - [INFO] [stdout] 45: 0x7f52802d0a34 - clone [INFO] [stdout] 46: 0x0 - [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: 0x5f52db8d0c22 - std::backtrace_rs::backtrace::libunwind::trace::h0fb8082ca5562a61 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5f52db8d0c22 - std::backtrace_rs::backtrace::trace_unsynchronized::hfaa258994374a3cd [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5f52db8d0c22 - std::sys::backtrace::_print_fmt::h11496fe34963a885 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5f52db8d0c22 - ::fmt::hff1a9408d012ee89 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5f52db8f3fff - core::fmt::rt::Argument::fmt::hf11195b61445f5d1 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5f52db8f3fff - core::fmt::write::h2f1fc679f228cc52 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5f52db8bd8c3 - std::io::default_write_fmt::h12bd533187bc883d [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5f52db8bd8c3 - std::io::Write::write_fmt::h926a1fdfdcb90065 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5f52db8d0a72 - std::sys::backtrace::BacktraceLock::print::h28bfdbcac6d3828b [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5f52db8bc12c - std::panicking::default_hook::{{closure}}::h1f968e3a24b0e3b4 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5f52db8bbfa9 - std::panicking::default_hook::h43da101644971931 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5f52db864e1e - as core::ops::function::Fn>::call::h4b2012949041da5d [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 12: 0x5f52db864e1e - test::test_main_with_exit_callback::{{closure}}::h53c9154cdc260357 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5f52db8bc733 - as core::ops::function::Fn>::call::h911f2e3e7e84b764 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 14: 0x5f52db8bc733 - std::panicking::panic_with_hook::hb4e916c3e65eccec [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5f52db8d05fa - std::panicking::panic_handler::{{closure}}::hbff715d0475cf1bd [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5f52db8d0559 - std::sys::backtrace::__rust_end_short_backtrace::hd6f43484e45a4955 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5f52db8bcc9d - __rustc[b29d3319de9a3146]::rust_begin_unwind [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5f52db8fa620 - core::panicking::panic_fmt::h5f8d281875be5ff1 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5f52db8fa3d3 - core::panicking::assert_failed_inner::he2d6c07cd4513ee3 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panicking.rs:448:17 [INFO] [stdout] 20: 0x5f52db85c81d - core::panicking::assert_failed::head77da2890b7888 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panicking.rs:403:5 [INFO] [stdout] 21: 0x5f52db8104a2 - text_parsing::tagger::parser::tests::a_img::hb0fe5bc12f8b9a97 [INFO] [stdout] at /opt/rustwide/workdir/src/tagger/parser.rs:1355:21 [INFO] [stdout] 22: 0x5f52db7e0687 - text_parsing::tagger::parser::tests::a_img::{{closure}}::h67037e91af005974 [INFO] [stdout] at /opt/rustwide/workdir/src/tagger/parser.rs:736:15 [INFO] [stdout] 23: 0x5f52db821426 - core::ops::function::FnOnce::call_once::h23802ff8c8073afd [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5f52db86a35b - core::ops::function::FnOnce::call_once::haf4e03bb51ef1351 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5f52db86a35b - test::__rust_begin_short_backtrace::h50f5566ee84f2f21 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5f52db86d555 - test::run_test_in_process::{{closure}}::heb3733b71d876eca [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5f52db86d555 - as core::ops::function::FnOnce<()>>::call_once::he2fe41e1b161faa9 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 28: 0x5f52db86d555 - std::panicking::catch_unwind::do_call::h00aa383d8fd97a09 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5f52db86d555 - std::panicking::catch_unwind::he482e1914bc21641 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5f52db86d555 - std::panic::catch_unwind::h86ac9705098f4f22 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5f52db86d555 - test::run_test_in_process::h636a992821e3c6aa [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5f52db86d555 - test::run_test::{{closure}}::he454cc9a192df79f [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5f52db892f04 - test::run_test::{{closure}}::haec47455908dff86 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5f52db892f04 - std::sys::backtrace::__rust_begin_short_backtrace::h230785972524cdc1 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5f52db879b1a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::haa5a562db4cde838 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5f52db879b1a - as core::ops::function::FnOnce<()>>::call_once::h89254f37a55d0a87 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 37: 0x5f52db879b1a - std::panicking::catch_unwind::do_call::h499f5a462f019d9d [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5f52db879b1a - std::panicking::catch_unwind::h6736fbbb1a264383 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5f52db879b1a - std::panic::catch_unwind::h49ea7bdd1cbee572 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5f52db879b1a - std::thread::Builder::spawn_unchecked_::{{closure}}::h653dfa62acf32f5a [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5f52db879b1a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h82582a626a045a45 [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5f52db8a736f - as core::ops::function::FnOnce>::call_once::h4ab26c07513156cc [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:1971:9 [INFO] [stdout] 43: 0x5f52db8a736f - std::sys::pal::unix::thread::Thread::new::thread_start::h66ff1bba185a50cf [INFO] [stdout] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/pal/unix/thread.rs:107:17 [INFO] [stdout] 44: 0x7f5280243aa4 - [INFO] [stdout] 45: 0x7f52802d0a34 - 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] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "414b7546c23535c6b418f1eb4cf45809c8a090b1626a0229864af4a2d6bc6247", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "414b7546c23535c6b418f1eb4cf45809c8a090b1626a0229864af4a2d6bc6247", kill_on_drop: false }` [INFO] [stdout] 414b7546c23535c6b418f1eb4cf45809c8a090b1626a0229864af4a2d6bc6247