[INFO] fetching crate dummy_xml 0.1.6...
[INFO] testing dummy_xml-0.1.6 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate dummy_xml 0.1.6 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate dummy_xml 0.1.6
[INFO] finished tweaking crates.io crate dummy_xml 0.1.6
[INFO] tweaked toml for crates.io crate dummy_xml 0.1.6 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate dummy_xml 0.1.6 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 79ebbb9e109baa5499654732371fd1df12c39aebd899a7b1159d69b7325a5096
[INFO] running `Command { std: "docker" "start" "-a" "79ebbb9e109baa5499654732371fd1df12c39aebd899a7b1159d69b7325a5096", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "79ebbb9e109baa5499654732371fd1df12c39aebd899a7b1159d69b7325a5096", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79ebbb9e109baa5499654732371fd1df12c39aebd899a7b1159d69b7325a5096", kill_on_drop: false }`
[INFO] [stdout] 79ebbb9e109baa5499654732371fd1df12c39aebd899a7b1159d69b7325a5096
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 096266a13a1d64da0e739f8d7fe9d90f396f4526a9b36292b34ab588068c797a
[INFO] running `Command { std: "docker" "start" "-a" "096266a13a1d64da0e739f8d7fe9d90f396f4526a9b36292b34ab588068c797a", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling dummy_xml v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/node.rs:82:52
[INFO] [stdout]    |
[INFO] [stdout] 82 |         unsafe { self.prev.as_ref().map(|attr| attr.borrow()) }
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Attribute` does not implement `Borrow`, so calling `borrow` on `&Attribute` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 82 -         unsafe { self.prev.as_ref().map(|attr| attr.borrow()) }
[INFO] [stdout] 82 +         unsafe { self.prev.as_ref().map(|attr| attr) }
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `Attribute`, implement `Clone` for it
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Clone)]
[INFO] [stdout]  6 | pub struct Attribute {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:178:52
[INFO] [stdout]     |
[INFO] [stdout] 178 |         unsafe { self.prev.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Node<'_>` does not implement `Borrow`, so calling `borrow` on `&Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 178 -         unsafe { self.prev.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 178 +         unsafe { self.prev.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Node<'_>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  24 + #[derive(Clone)]
[INFO] [stdout]  25 | pub struct Node<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:188:54
[INFO] [stdout]     |
[INFO] [stdout] 188 |         unsafe { self.parent.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Node<'_>` does not implement `Borrow`, so calling `borrow` on `&Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 188 -         unsafe { self.parent.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 188 +         unsafe { self.parent.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Node<'_>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  24 + #[derive(Clone)]
[INFO] [stdout]  25 | pub struct Node<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:208:58
[INFO] [stdout]     |
[INFO] [stdout] 208 |         unsafe { self.last_child.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Node<'_>` does not implement `Borrow`, so calling `borrow` on `&Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 208 -         unsafe { self.last_child.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 208 +         unsafe { self.last_child.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Node<'_>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  24 + #[derive(Clone)]
[INFO] [stdout]  25 | pub struct Node<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:228:57
[INFO] [stdout]     |
[INFO] [stdout] 228 |         unsafe { self.last_attr.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Attribute` does not implement `Borrow`, so calling `borrow` on `&Attribute` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 228 -         unsafe { self.last_attr.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 228 +         unsafe { self.last_attr.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Attribute`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]   5 + #[derive(Clone)]
[INFO] [stdout]   6 | pub struct Attribute {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:108:28
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn parse_str(contents: &str) -> Result<Document, ParseXmlError> {
[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] 108 | pub fn parse_str(contents: &str) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn parse_string(contents: &String) -> Result<Document, ParseXmlError> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn parse_string(contents: &String) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:116:24
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn parse(contents: &[u8]) -> Result<Document, ParseXmlError> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn parse(contents: &[u8]) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] running `Command { std: "docker" "inspect" "096266a13a1d64da0e739f8d7fe9d90f396f4526a9b36292b34ab588068c797a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "096266a13a1d64da0e739f8d7fe9d90f396f4526a9b36292b34ab588068c797a", kill_on_drop: false }`
[INFO] [stdout] 096266a13a1d64da0e739f8d7fe9d90f396f4526a9b36292b34ab588068c797a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c93c05e5fb2413c1a69da207c13601d5aa23471bd67a4a878a14bef598770750
[INFO] running `Command { std: "docker" "start" "-a" "c93c05e5fb2413c1a69da207c13601d5aa23471bd67a4a878a14bef598770750", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/node.rs:82:52
[INFO] [stdout]    |
[INFO] [stdout] 82 |         unsafe { self.prev.as_ref().map(|attr| attr.borrow()) }
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Attribute` does not implement `Borrow`, so calling `borrow` on `&Attribute` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 82 -         unsafe { self.prev.as_ref().map(|attr| attr.borrow()) }
[INFO] [stdout] 82 +         unsafe { self.prev.as_ref().map(|attr| attr) }
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `Attribute`, implement `Clone` for it
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Clone)]
[INFO] [stdout]  6 | pub struct Attribute {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:178:52
[INFO] [stdout]     |
[INFO] [stdout] 178 |         unsafe { self.prev.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Node<'_>` does not implement `Borrow`, so calling `borrow` on `&Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 178 -         unsafe { self.prev.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 178 +         unsafe { self.prev.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Node<'_>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  24 + #[derive(Clone)]
[INFO] [stdout]  25 | pub struct Node<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:188:54
[INFO] [stdout]     |
[INFO] [stdout] 188 |         unsafe { self.parent.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Node<'_>` does not implement `Borrow`, so calling `borrow` on `&Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 188 -         unsafe { self.parent.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 188 +         unsafe { self.parent.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Node<'_>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  24 + #[derive(Clone)]
[INFO] [stdout]  25 | pub struct Node<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:208:58
[INFO] [stdout]     |
[INFO] [stdout] 208 |         unsafe { self.last_child.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Node<'_>` does not implement `Borrow`, so calling `borrow` on `&Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 208 -         unsafe { self.last_child.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 208 +         unsafe { self.last_child.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Node<'_>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  24 + #[derive(Clone)]
[INFO] [stdout]  25 | pub struct Node<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:228:57
[INFO] [stdout]     |
[INFO] [stdout] 228 |         unsafe { self.last_attr.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `Attribute` does not implement `Borrow`, so calling `borrow` on `&Attribute` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 228 -         unsafe { self.last_attr.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 228 +         unsafe { self.last_attr.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `Attribute`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]   5 + #[derive(Clone)]
[INFO] [stdout]   6 | pub struct Attribute {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:108:28
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn parse_str(contents: &str) -> Result<Document, ParseXmlError> {
[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] 108 | pub fn parse_str(contents: &str) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn parse_string(contents: &String) -> Result<Document, ParseXmlError> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn parse_string(contents: &String) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:116:24
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn parse(contents: &[u8]) -> Result<Document, ParseXmlError> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn parse(contents: &[u8]) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling dummy_xml v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/node.rs:82:52
[INFO] [stdout]    |
[INFO] [stdout] 82 |         unsafe { self.prev.as_ref().map(|attr| attr.borrow()) }
[INFO] [stdout]    |                                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `node::Attribute` does not implement `Borrow`, so calling `borrow` on `&node::Attribute` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 82 -         unsafe { self.prev.as_ref().map(|attr| attr.borrow()) }
[INFO] [stdout] 82 +         unsafe { self.prev.as_ref().map(|attr| attr) }
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `node::Attribute`, implement `Clone` for it
[INFO] [stdout]    |
[INFO] [stdout]  5 + #[derive(Clone)]
[INFO] [stdout]  6 | pub struct Attribute {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:178:52
[INFO] [stdout]     |
[INFO] [stdout] 178 |         unsafe { self.prev.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `node::Node<'_>` does not implement `Borrow`, so calling `borrow` on `&node::Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 178 -         unsafe { self.prev.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 178 +         unsafe { self.prev.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `node::Node<'_>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  24 + #[derive(Clone)]
[INFO] [stdout]  25 | pub struct Node<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:188:54
[INFO] [stdout]     |
[INFO] [stdout] 188 |         unsafe { self.parent.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `node::Node<'_>` does not implement `Borrow`, so calling `borrow` on `&node::Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 188 -         unsafe { self.parent.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 188 +         unsafe { self.parent.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `node::Node<'_>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  24 + #[derive(Clone)]
[INFO] [stdout]  25 | pub struct Node<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:208:58
[INFO] [stdout]     |
[INFO] [stdout] 208 |         unsafe { self.last_child.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                          ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `node::Node<'_>` does not implement `Borrow`, so calling `borrow` on `&node::Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 208 -         unsafe { self.last_child.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 208 +         unsafe { self.last_child.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `node::Node<'_>`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]  24 + #[derive(Clone)]
[INFO] [stdout]  25 | pub struct Node<'a> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/node.rs:228:57
[INFO] [stdout]     |
[INFO] [stdout] 228 |         unsafe { self.last_attr.as_ref().map(|node| node.borrow()) }
[INFO] [stdout]     |                                                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `node::Attribute` does not implement `Borrow`, so calling `borrow` on `&node::Attribute` copies the reference, which does not do anything and can be removed
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout] 228 -         unsafe { self.last_attr.as_ref().map(|node| node.borrow()) }
[INFO] [stdout] 228 +         unsafe { self.last_attr.as_ref().map(|node| node) }
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `node::Attribute`, implement `Clone` for it
[INFO] [stdout]     |
[INFO] [stdout]   5 + #[derive(Clone)]
[INFO] [stdout]   6 | pub struct Attribute {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:108:28
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn parse_str(contents: &str) -> Result<Document, ParseXmlError> {
[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] 108 | pub fn parse_str(contents: &str) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:112:31
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn parse_string(contents: &String) -> Result<Document, ParseXmlError> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn parse_string(contents: &String) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/parser.rs:116:24
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn parse(contents: &[u8]) -> Result<Document, ParseXmlError> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn parse(contents: &[u8]) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stdout]     |                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.81s
[INFO] running `Command { std: "docker" "inspect" "c93c05e5fb2413c1a69da207c13601d5aa23471bd67a4a878a14bef598770750", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c93c05e5fb2413c1a69da207c13601d5aa23471bd67a4a878a14bef598770750", kill_on_drop: false }`
[INFO] [stdout] c93c05e5fb2413c1a69da207c13601d5aa23471bd67a4a878a14bef598770750
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 68576eb4dccaa483754531e58887defac86992882fd6898d434d417212516760
[INFO] running `Command { std: "docker" "start" "-a" "68576eb4dccaa483754531e58887defac86992882fd6898d434d417212516760", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/node.rs:82:52
[INFO] [stderr]    |
[INFO] [stderr] 82 |         unsafe { self.prev.as_ref().map(|attr| attr.borrow()) }
[INFO] [stderr]    |                                                    ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the type `Attribute` does not implement `Borrow`, so calling `borrow` on `&Attribute` copies the reference, which does not do anything and can be removed
[INFO] [stderr]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr] 82 -         unsafe { self.prev.as_ref().map(|attr| attr.borrow()) }
[INFO] [stderr] 82 +         unsafe { self.prev.as_ref().map(|attr| attr) }
[INFO] [stderr]    |
[INFO] [stderr] help: if you meant to clone `Attribute`, implement `Clone` for it
[INFO] [stderr]    |
[INFO] [stderr]  5 + #[derive(Clone)]
[INFO] [stderr]  6 | pub struct Attribute {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/node.rs:178:52
[INFO] [stderr]     |
[INFO] [stderr] 178 |         unsafe { self.prev.as_ref().map(|node| node.borrow()) }
[INFO] [stderr]     |                                                    ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `Node<'_>` does not implement `Borrow`, so calling `borrow` on `&Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 178 -         unsafe { self.prev.as_ref().map(|node| node.borrow()) }
[INFO] [stderr] 178 +         unsafe { self.prev.as_ref().map(|node| node) }
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `Node<'_>`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr]  24 + #[derive(Clone)]
[INFO] [stderr]  25 | pub struct Node<'a> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/node.rs:188:54
[INFO] [stderr]     |
[INFO] [stderr] 188 |         unsafe { self.parent.as_ref().map(|node| node.borrow()) }
[INFO] [stderr]     |                                                      ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `Node<'_>` does not implement `Borrow`, so calling `borrow` on `&Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 188 -         unsafe { self.parent.as_ref().map(|node| node.borrow()) }
[INFO] [stderr] 188 +         unsafe { self.parent.as_ref().map(|node| node) }
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `Node<'_>`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr]  24 + #[derive(Clone)]
[INFO] [stderr]  25 | pub struct Node<'a> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/node.rs:208:58
[INFO] [stderr]     |
[INFO] [stderr] 208 |         unsafe { self.last_child.as_ref().map(|node| node.borrow()) }
[INFO] [stderr]     |                                                          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `Node<'_>` does not implement `Borrow`, so calling `borrow` on `&Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 208 -         unsafe { self.last_child.as_ref().map(|node| node.borrow()) }
[INFO] [stderr] 208 +         unsafe { self.last_child.as_ref().map(|node| node) }
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `Node<'_>`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr]  24 + #[derive(Clone)]
[INFO] [stderr]  25 | pub struct Node<'a> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/node.rs:228:57
[INFO] [stderr]     |
[INFO] [stderr] 228 |         unsafe { self.last_attr.as_ref().map(|node| node.borrow()) }
[INFO] [stderr]     |                                                         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `Attribute` does not implement `Borrow`, so calling `borrow` on `&Attribute` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 228 -         unsafe { self.last_attr.as_ref().map(|node| node.borrow()) }
[INFO] [stderr] 228 +         unsafe { self.last_attr.as_ref().map(|node| node) }
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `Attribute`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr]   5 + #[derive(Clone)]
[INFO] [stderr]   6 | pub struct Attribute {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser.rs:108:28
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub fn parse_str(contents: &str) -> Result<Document, ParseXmlError> {
[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] 108 | pub fn parse_str(contents: &str) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser.rs:112:31
[INFO] [stderr]     |
[INFO] [stderr] 112 | pub fn parse_string(contents: &String) -> Result<Document, ParseXmlError> {
[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] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 112 | pub fn parse_string(contents: &String) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stderr]     |                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/parser.rs:116:24
[INFO] [stderr]     |
[INFO] [stderr] 116 | pub fn parse(contents: &[u8]) -> Result<Document, ParseXmlError> {
[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] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 116 | pub fn parse(contents: &[u8]) -> Result<Document<'_>, ParseXmlError> {
[INFO] [stdout] 
[INFO] [stderr]     |                                                 ++++
[INFO] [stdout] running 8 tests
[INFO] [stderr] 
[INFO] [stderr] warning: `dummy_xml` (lib) generated 8 warnings (run `cargo fix --lib -p dummy_xml` to apply 8 suggestions)
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/node.rs:82:52
[INFO] [stderr]    |
[INFO] [stderr] 82 |         unsafe { self.prev.as_ref().map(|attr| attr.borrow()) }
[INFO] [stderr]    |                                                    ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the type `node::Attribute` does not implement `Borrow`, so calling `borrow` on `&node::Attribute` copies the reference, which does not do anything and can be removed
[INFO] [stderr]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr] 82 -         unsafe { self.prev.as_ref().map(|attr| attr.borrow()) }
[INFO] [stderr] 82 +         unsafe { self.prev.as_ref().map(|attr| attr) }
[INFO] [stderr]    |
[INFO] [stderr] help: if you meant to clone `node::Attribute`, implement `Clone` for it
[INFO] [stderr]    |
[INFO] [stderr]  5 + #[derive(Clone)]
[INFO] [stderr]  6 | pub struct Attribute {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/node.rs:178:52
[INFO] [stderr]     |
[INFO] [stderr] 178 |         unsafe { self.prev.as_ref().map(|node| node.borrow()) }
[INFO] [stderr]     |                                                    ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `node::Node<'_>` does not implement `Borrow`, so calling `borrow` on `&node::Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 178 -         unsafe { self.prev.as_ref().map(|node| node.borrow()) }
[INFO] [stderr] 178 +         unsafe { self.prev.as_ref().map(|node| node) }
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `node::Node<'_>`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr]  24 + #[derive(Clone)]
[INFO] [stderr]  25 | pub struct Node<'a> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/node.rs:188:54
[INFO] [stderr]     |
[INFO] [stderr] 188 |         unsafe { self.parent.as_ref().map(|node| node.borrow()) }
[INFO] [stderr]     |                                                      ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `node::Node<'_>` does not implement `Borrow`, so calling `borrow` on `&node::Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 188 -         unsafe { self.parent.as_ref().map(|node| node.borrow()) }
[INFO] [stderr] 188 +         unsafe { self.parent.as_ref().map(|node| node) }
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `node::Node<'_>`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr]  24 + #[derive(Clone)]
[INFO] [stderr]  25 | pub struct Node<'a> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/node.rs:208:58
[INFO] [stderr]     |
[INFO] [stderr] 208 |         unsafe { self.last_child.as_ref().map(|node| node.borrow()) }
[INFO] [stderr]     |                                                          ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `node::Node<'_>` does not implement `Borrow`, so calling `borrow` on `&node::Node<'_>` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 208 -         unsafe { self.last_child.as_ref().map(|node| node.borrow()) }
[INFO] [stderr] 208 +         unsafe { self.last_child.as_ref().map(|node| node) }
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `node::Node<'_>`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr]  24 + #[derive(Clone)]
[INFO] [stderr]  25 | pub struct Node<'a> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/node.rs:228:57
[INFO] [stderr]     |
[INFO] [stderr] 228 |         unsafe { self.last_attr.as_ref().map(|node| node.borrow()) }
[INFO] [stderr]     |                                                         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `node::Attribute` does not implement `Borrow`, so calling `borrow` on `&node::Attribute` copies the reference, which does not do anything and can be removed
[INFO] [stderr] help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr] 228 -         unsafe { self.last_attr.as_ref().map(|node| node.borrow()) }
[INFO] [stderr] 228 +         unsafe { self.last_attr.as_ref().map(|node| node) }
[INFO] [stderr]     |
[INFO] [stderr] help: if you meant to clone `node::Attribute`, implement `Clone` for it
[INFO] [stderr]     |
[INFO] [stderr]   5 + #[derive(Clone)]
[INFO] [stderr]   6 | pub struct Attribute {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `dummy_xml` (lib test) generated 8 warnings (3 duplicates) (run `cargo fix --lib -p dummy_xml --tests` to apply 5 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dummy_xml-7ef28816e2117c3d)
[INFO] [stdout] test node::tests::new_attribute_test ... ok
[INFO] [stdout] test node::tests::new_node_test ... ok
[INFO] [stdout] test parser::tests::test_parse_note_xml ... ok
[INFO] [stdout] test node::tests::function_chain_test ... ok
[INFO] [stdout] test writer::tests::write_test ... ok
[INFO] [stdout] test parser::tests::test_parse ... ok
[INFO] [stdout] test tests::it_works ... ok
[INFO] [stderr]      Running tests/parser_test.rs (/opt/rustwide/target/debug/deps/parser_test-d723edd6c2c74897)
[INFO] [stdout] test parser::tests::bench_parse ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test sample ... ok
[INFO] [stdout] test parse_test ... ok
[INFO] [stderr]      Running tests/writer_test.rs (/opt/rustwide/target/debug/deps/writer_test-b1a4e28f37db4cdf)
[INFO] [stdout] test parse_negative_1 ... ok
[INFO] [stdout] test parse_blank ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test sample ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests dummy_xml
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "68576eb4dccaa483754531e58887defac86992882fd6898d434d417212516760", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68576eb4dccaa483754531e58887defac86992882fd6898d434d417212516760", kill_on_drop: false }`
[INFO] [stdout] 68576eb4dccaa483754531e58887defac86992882fd6898d434d417212516760
