[INFO] fetching crate inkling 0.12.5... [INFO] testing inkling-0.12.5 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate inkling 0.12.5 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate inkling 0.12.5 [INFO] finished tweaking crates.io crate inkling 0.12.5 [INFO] tweaked toml for crates.io crate inkling 0.12.5 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate inkling 0.12.5 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate inkling 0.12.5 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_derive v1.0.97 [INFO] [stderr] Downloaded serde v1.0.97 [INFO] [stderr] Downloaded syn v0.15.40 [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3e11b3a9f818e5c72f5eea5b50e4ba7b72c48dfd7394847beb24e87975b53812 [INFO] running `Command { std: "docker" "start" "-a" "3e11b3a9f818e5c72f5eea5b50e4ba7b72c48dfd7394847beb24e87975b53812", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3e11b3a9f818e5c72f5eea5b50e4ba7b72c48dfd7394847beb24e87975b53812", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e11b3a9f818e5c72f5eea5b50e4ba7b72c48dfd7394847beb24e87975b53812", kill_on_drop: false }` [INFO] [stdout] 3e11b3a9f818e5c72f5eea5b50e4ba7b72c48dfd7394847beb24e87975b53812 [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] db5f75477b14c72efabc25bb118ff234b62680c7aad11bc0abc136264b5b0a4b [INFO] running `Command { std: "docker" "start" "-a" "db5f75477b14c72efabc25bb118ff234b62680c7aad11bc0abc136264b5b0a4b", kill_on_drop: false }` [INFO] [stderr] Compiling inkling v0.12.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `get_stitch` [INFO] [stdout] --> src/knot/mod.rs:12:61 [INFO] [stdout] | [INFO] [stdout] 12 | get_empty_knot_counts, get_mut_stitch, get_num_visited, get_stitch, increment_num_visited, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `builders::RootNodeBuilder` [INFO] [stdout] --> src/node/mod.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | pub use node::{builders::RootNodeBuilder, Branch, NodeItem, RootNode}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse::read_story_content_from_string` [INFO] [stdout] --> src/story/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use parse::read_story_content_from_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_item` is never used [INFO] [stdout] --> src/node/follow.rs:256:8 [INFO] [stdout] | [INFO] [stdout] 168 | pub trait FollowInternal: fmt::Debug { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 256 | fn get_item(&self, index: usize) -> Option<&NodeItem>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node/follow.rs:260:23 [INFO] [stdout] | [INFO] [stdout] 260 | fn iter_mut_items(&mut self) -> IterMut; [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 260 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node/follow.rs:280:23 [INFO] [stdout] | [INFO] [stdout] 280 | fn iter_mut_items(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 280 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node/follow.rs:304:23 [INFO] [stdout] | [INFO] [stdout] 304 | fn iter_mut_items(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 304 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.21s [INFO] running `Command { std: "docker" "inspect" "db5f75477b14c72efabc25bb118ff234b62680c7aad11bc0abc136264b5b0a4b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db5f75477b14c72efabc25bb118ff234b62680c7aad11bc0abc136264b5b0a4b", kill_on_drop: false }` [INFO] [stdout] db5f75477b14c72efabc25bb118ff234b62680c7aad11bc0abc136264b5b0a4b [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 1becb458f9cc39a11222fb1da75ecfc5100e01ce8799f024a4b30b736cefe43a [INFO] running `Command { std: "docker" "start" "-a" "1becb458f9cc39a11222fb1da75ecfc5100e01ce8799f024a4b30b736cefe43a", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.97 [INFO] [stderr] Compiling ryu v1.0.0 [INFO] [stderr] Compiling itoa v0.4.4 [INFO] [stdout] warning: unused import: `get_stitch` [INFO] [stdout] --> src/knot/mod.rs:12:61 [INFO] [stdout] | [INFO] [stdout] 12 | get_empty_knot_counts, get_mut_stitch, get_num_visited, get_stitch, increment_num_visited, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `builders::RootNodeBuilder` [INFO] [stdout] --> src/node/mod.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | pub use node::{builders::RootNodeBuilder, Branch, NodeItem, RootNode}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse::read_story_content_from_string` [INFO] [stdout] --> src/story/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use parse::read_story_content_from_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_item` is never used [INFO] [stdout] --> src/node/follow.rs:256:8 [INFO] [stdout] | [INFO] [stdout] 168 | pub trait FollowInternal: fmt::Debug { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 256 | fn get_item(&self, index: usize) -> Option<&NodeItem>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node/follow.rs:260:23 [INFO] [stdout] | [INFO] [stdout] 260 | fn iter_mut_items(&mut self) -> IterMut; [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 260 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node/follow.rs:280:23 [INFO] [stdout] | [INFO] [stdout] 280 | fn iter_mut_items(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 280 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node/follow.rs:304:23 [INFO] [stdout] | [INFO] [stdout] 304 | fn iter_mut_items(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 304 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling serde_json v1.0.40 [INFO] [stderr] Compiling inkling v0.12.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: multiple lines skipped by escaped newline [INFO] [stdout] --> tests/read_error_handling.rs:32:20 [INFO] [stdout] | [INFO] [stdout] 32 | let content = "\ [INFO] [stdout] | ____________________^ [INFO] [stdout] 33 | | [INFO] [stdout] 34 | | VAR variable = 10 [INFO] [stdout] | |_^ skipping everything up to and including this point [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple lines skipped by escaped newline [INFO] [stdout] --> tests/read_error_handling.rs:66:20 [INFO] [stdout] | [INFO] [stdout] 66 | let content = "\ [INFO] [stdout] | ____________________^ [INFO] [stdout] 67 | | [INFO] [stdout] 68 | | VAR variable = 10 [INFO] [stdout] | |_^ skipping everything up to and including this point [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple lines skipped by escaped newline [INFO] [stdout] --> tests/read_error_handling.rs:87:20 [INFO] [stdout] | [INFO] [stdout] 87 | let content = "\ [INFO] [stdout] | ____________________^ [INFO] [stdout] 88 | | [INFO] [stdout] 89 | | VAR int = 2 [INFO] [stdout] | |_^ skipping everything up to and including this point [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_stitch` [INFO] [stdout] --> src/knot/mod.rs:12:61 [INFO] [stdout] | [INFO] [stdout] 12 | get_empty_knot_counts, get_mut_stitch, get_num_visited, get_stitch, increment_num_visited, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse::read_story_content_from_string` [INFO] [stdout] --> src/story/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use parse::read_story_content_from_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_item` is never used [INFO] [stdout] --> src/node/follow.rs:256:8 [INFO] [stdout] | [INFO] [stdout] 168 | pub trait FollowInternal: fmt::Debug { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 256 | fn get_item(&self, index: usize) -> Option<&NodeItem>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node/follow.rs:260:23 [INFO] [stdout] | [INFO] [stdout] 260 | fn iter_mut_items(&mut self) -> IterMut; [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 260 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node/follow.rs:280:23 [INFO] [stdout] | [INFO] [stdout] 280 | fn iter_mut_items(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 280 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/node/follow.rs:304:23 [INFO] [stdout] | [INFO] [stdout] 304 | fn iter_mut_items(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 304 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/story/parse.rs:825:25 [INFO] [stdout] | [INFO] [stdout] 825 | &[content[0].clone(), content[5].clone()] [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/story/parse.rs:825:45 [INFO] [stdout] | [INFO] [stdout] 825 | &[content[0].clone(), content[5].clone()] [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 11.18s [INFO] running `Command { std: "docker" "inspect" "1becb458f9cc39a11222fb1da75ecfc5100e01ce8799f024a4b30b736cefe43a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1becb458f9cc39a11222fb1da75ecfc5100e01ce8799f024a4b30b736cefe43a", kill_on_drop: false }` [INFO] [stdout] 1becb458f9cc39a11222fb1da75ecfc5100e01ce8799f024a4b30b736cefe43a [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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5168c643fa7fb6e7ad31bc15dc1457e1b0c943e79512dd328459094cd929687d [INFO] running `Command { std: "docker" "start" "-a" "5168c643fa7fb6e7ad31bc15dc1457e1b0c943e79512dd328459094cd929687d", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `get_stitch` [INFO] [stderr] --> src/knot/mod.rs:12:61 [INFO] [stderr] | [INFO] [stderr] 12 | get_empty_knot_counts, get_mut_stitch, get_num_visited, get_stitch, increment_num_visited, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `builders::RootNodeBuilder` [INFO] [stderr] --> src/node/mod.rs:14:16 [INFO] [stderr] | [INFO] [stderr] 14 | pub use node::{builders::RootNodeBuilder, Branch, NodeItem, RootNode}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `parse::read_story_content_from_string` [INFO] [stderr] --> src/story/mod.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | pub use parse::read_story_content_from_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_item` is never used [INFO] [stderr] --> src/node/follow.rs:256:8 [INFO] [stderr] | [INFO] [stderr] 168 | pub trait FollowInternal: fmt::Debug { [INFO] [stderr] | -------------- method in this trait [INFO] [stderr] ... [INFO] [stderr] 256 | fn get_item(&self, index: usize) -> Option<&NodeItem>; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/node/follow.rs:260:23 [INFO] [stderr] | [INFO] [stderr] 260 | fn iter_mut_items(&mut self) -> IterMut; [INFO] [stderr] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 260 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/node/follow.rs:280:23 [INFO] [stderr] | [INFO] [stderr] 280 | fn iter_mut_items(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 280 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/node/follow.rs:304:23 [INFO] [stderr] | [INFO] [stderr] 304 | fn iter_mut_items(&mut self) -> IterMut { [INFO] [stderr] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 304 | fn iter_mut_items(&mut self) -> IterMut<'_, NodeItem> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `inkling` (lib) generated 7 warnings (run `cargo fix --lib -p inkling` to apply 6 suggestions) [INFO] [stderr] warning: multiple lines skipped by escaped newline [INFO] [stderr] --> tests/read_error_handling.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | let content = "\ [INFO] [stderr] | ____________________^ [INFO] [stderr] 33 | | [INFO] [stderr] 34 | | VAR variable = 10 [INFO] [stderr] | |_^ skipping everything up to and including this point [INFO] [stderr] [INFO] [stderr] warning: multiple lines skipped by escaped newline [INFO] [stderr] --> tests/read_error_handling.rs:66:20 [INFO] [stderr] | [INFO] [stderr] 66 | let content = "\ [INFO] [stderr] | ____________________^ [INFO] [stderr] 67 | | [INFO] [stderr] 68 | | VAR variable = 10 [INFO] [stderr] | |_^ skipping everything up to and including this point [INFO] [stderr] [INFO] [stderr] warning: multiple lines skipped by escaped newline [INFO] [stderr] --> tests/read_error_handling.rs:87:20 [INFO] [stderr] | [INFO] [stderr] 87 | let content = "\ [INFO] [stderr] | ____________________^ [INFO] [stderr] 88 | | [INFO] [stderr] 89 | | VAR int = 2 [INFO] [stderr] | |_^ skipping everything up to and including this point [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/story/parse.rs:825:25 [INFO] [stderr] | [INFO] [stderr] 825 | &[content[0].clone(), content[5].clone()] [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/story/parse.rs:825:45 [INFO] [stderr] | [INFO] [stderr] 825 | &[content[0].clone(), content[5].clone()] [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: `inkling` (test "read_error_handling") generated 3 warnings [INFO] [stderr] warning: `inkling` (lib test) generated 8 warnings (6 duplicates) (run `cargo fix --lib -p inkling --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/inkling-89b03fa333635475) [INFO] [stdout] [INFO] [stdout] running 464 tests [INFO] [stdout] test knot::address::tests::address_can_be_validated_from_parts ... ok [INFO] [stdout] test knot::address::tests::if_knot_address_is_not_found_an_error_is_yielded ... ok [INFO] [stdout] test knot::address::tests::raw_addresses_are_validated_if_they_can_parse_into_valid_knots ... ok [INFO] [stdout] test knot::address::tests::string_representation_of_raw_address_is_its_content ... ok [INFO] [stdout] test knot::address::tests::string_representation_of_end_address_is_end ... ok [INFO] [stdout] test knot::address::tests::string_representation_of_validated_location_is_knot_dot_stitch ... ok [INFO] [stdout] test knot::address::tests::string_representation_of_validated_location_with_just_knot_gets_knot_name ... ok [INFO] [stdout] test knot::address::tests::string_representation_of_variable_addresses_is_the_address ... ok [INFO] [stdout] test knot::address::tests::if_address_exists_as_stitch_but_in_another_knot_an_error_is_yielded ... ok [INFO] [stdout] test knot::address::tests::if_a_default_stitch_is_set_for_the_knot_it_is_used ... ok [INFO] [stdout] test knot::address::tests::if_address_is_poorly_formatted_an_error_is_yielded_from_validation ... ok [INFO] [stdout] test knot::address::tests::stitch_labels_may_be_relative_to_current_knot ... ok [INFO] [stdout] test knot::address::tests::if_default_stitch_is_set_in_knot_addresses_validate_to_it ... ok [INFO] [stdout] test knot::address::tests::raw_addresses_are_validated_if_they_can_parse_into_valid_stitches ... ok [INFO] [stdout] test knot::stitch::tests::following_stitch_increases_the_number_of_visits ... ok [INFO] [stdout] test knot::stitch::tests::after_resuming_follow_from_a_gather_point_the_number_of_visits_is_not_increased ... ok [INFO] [stdout] test knot::address::tests::done_and_end_knot_names_validate_to_special_address ... ok [INFO] [stdout] test knot::stitch::tests::follow_returns_error_if_out_of_bounds_index_is_followed_with ... ok [INFO] [stdout] test knot::stitch::tests::following_choice_adds_choice_text_to_buffer ... ok [INFO] [stdout] test knot::address::tests::if_simple_address_exists_in_variables_it_is_validated_as_global ... ok [INFO] [stdout] test knot::stitch::tests::following_stitch_with_choice_does_not_increase_the_number_of_visits ... ok [INFO] [stdout] test knot::stitch::tests::knot_and_stitch_names_may_not_be_from_the_reserved_list ... ok [INFO] [stdout] test knot::stitch::tests::knot_name_can_only_contain_alphanumeric_characters_and_underlines ... ok [INFO] [stdout] test knot::stitch::tests::knot_name_must_be_single_word ... ok [INFO] [stdout] test knot::stitch::tests::knot_name_cannot_be_empty ... ok [INFO] [stdout] test knot::stitch::tests::parsing_empty_stitch_yields_error ... ok [INFO] [stdout] test knot::stitch::tests::read_knot_name_from_string_returns_error_if_just_one_or_no_equal_signs ... ok [INFO] [stdout] test knot::stitch::tests::parsing_stitch_sets_root_node_address ... ok [INFO] [stdout] test knot::stitch::tests::parsing_stitch_sets_meta_data_from_given ... ok [INFO] [stdout] test knot::stitch::tests::read_stitch_name_from_string_works_with_exactly_one_equal_sign ... ok [INFO] [stdout] test knot::stitch::tests::read_knot_name_from_string_works_with_at_least_two_equal_signs ... ok [INFO] [stdout] test knot::stitch::tests::stitch_restarts_from_their_first_line_when_run_again ... ok [INFO] [stdout] test knot::stitch::tests::stitch_gathers_all_choices_at_requested_level ... ok [INFO] [stdout] test knot::stitch::tests::stitch_with_choice_follows_into_choice ... ok [INFO] [stdout] test knot::stitch::tests::stitch_with_choice_returns_it ... ok [INFO] [stdout] test knot::stitch::tests::stitch_with_divert_shortcuts_at_it ... ok [INFO] [stdout] test knot::stitch::tests::stitch_can_follow_multiple_level_choices_and_gathers ... ok [INFO] [stdout] test line::condition::tests::condition_links_from_left_to_right ... ok [INFO] [stdout] test line::expression::tests::adding_two_variables_creates_summed_variable ... ok [INFO] [stdout] test knot::stitch::tests::when_a_stitch_is_finished_the_stack_is_reset ... ok [INFO] [stdout] test line::condition::tests::conditions_can_be_negated ... ok [INFO] [stdout] test line::expression::tests::all_operations_work_in_order ... ok [INFO] [stdout] test line::expression::tests::expression_can_add_and_subtract_values_with_methods ... ok [INFO] [stdout] test line::expression::tests::get_value_evaluates_variables_by_following_addresses_if_necessary ... ok [INFO] [stdout] test line::expression::tests::if_all_items_are_multiply_they_gather_into_one_item_in_head ... ok [INFO] [stdout] test line::expression::tests::expression_with_just_head_evaluates_to_head ... ok [INFO] [stdout] test line::expression::tests::multiple_nested_groups_are_separated_by_addition_or_subtraction ... ok [INFO] [stdout] test line::expression::tests::nested_expression_evaluates_into_variable ... ok [INFO] [stdout] test line::expression::tests::order_of_operations_gathers_multiplied_items_into_nested_groups ... ok [INFO] [stdout] test line::expression::tests::order_of_operations_on_expression_with_just_head_is_head ... ok [INFO] [stdout] test line::expression::tests::order_of_operations_with_just_add_and_subtract_changes_nothing ... ok [INFO] [stdout] test line::parse::alternative::tests::list_of_strings_beginning_with_ampersand_gives_cycle ... ok [INFO] [stdout] test line::parse::alternative::tests::list_of_strings_beginning_with_exclamation_mark_gives_once_only ... ok [INFO] [stdout] test line::parse::alternative::tests::empty_strings_do_not_fail ... ok [INFO] [stdout] test line::parse::alternative::tests::plain_list_of_strings_give_regular_sequence ... ok [INFO] [stdout] test line::parse::alternative::tests::list_of_strings_separated_by_vertical_lines_are_added_to_set ... ok [INFO] [stdout] test line::parse::alternative::tests::whitespace_is_trimmed_from_the_beginning ... ok [INFO] [stdout] test line::parse::choice::tests::alternatives_can_be_within_brackets ... ok [INFO] [stdout] test line::parse::choice::tests::braces_with_backslash_are_not_conditions ... ok [INFO] [stdout] test line::parse::choice::tests::choice_which_is_fallback_can_have_empty_divert ... ok [INFO] [stdout] test line::parse::choice::tests::choice_with_no_selection_text_but_divert_is_fallback ... ok [INFO] [stdout] test line::parse::choice::tests::choice_with_variants_set_selection_and_display_text_separately ... ok [INFO] [stdout] test line::parse::choice::tests::lines_cannot_have_both_sticky_and_non_sticky_markers_in_the_head ... ok [INFO] [stdout] test line::parse::choice::tests::choices_can_be_parsed_with_alternatives_in_selection_text ... ok [INFO] [stdout] test line::parse::choice::tests::choices_without_displayed_text_can_have_regular_text ... ok [INFO] [stdout] test line::parse::choice::tests::parsing_choice_line_variants_break_the_displayed_line_when_encountering_square_brackets ... ok [INFO] [stdout] test line::parse::choice::tests::number_of_markers_parsing_ignores_whitespace ... ok [INFO] [stdout] test line::parse::choice::tests::parsing_choice_line_variants_return_error_if_brackets_are_reversed ... ok [INFO] [stdout] test line::parse::choice::tests::parsing_choice_line_variants_return_error_if_brackets_are_unmatched ... ok [INFO] [stdout] test line::parse::choice::tests::parsing_choice_line_variants_include_content_inside_square_brackets_in_displayed ... ok [INFO] [stdout] test line::parse::choice::tests::parsing_choice_line_variants_return_error_more_brackets_are_found ... ok [INFO] [stdout] test line::parse::choice::tests::parsing_choice_line_variants_return_same_line_if_no_brackets_are_present ... ok [INFO] [stdout] test line::parse::choice::tests::choices_can_be_parsed_with_conditions ... ok [INFO] [stdout] test line::parse::choice::tests::parsing_line_with_choice_markers_gets_number_of_markers ... ok [INFO] [stdout] test line::parse::choice::tests::parsing_line_with_no_choice_markers_returns_none ... ok [INFO] [stdout] test line::parse::choice::tests::simple_lines_parse_into_choices_with_same_display_and_selection_texts ... ok [INFO] [stdout] test line::parse::choice::tests::sticky_choice_markers_gives_sticky_choices_and_vice_versa ... ok [INFO] [stdout] test line::parse::choice::tests::text_after_choice_markers_is_returned_when_parsing ... ok [INFO] [stdout] test line::parse::condition::tests::and_may_be_ampersands_and_or_may_be_vertical_lines ... ok [INFO] [stdout] test line::parse::condition::tests::choice_conditions_are_only_parsed_for_braces_before_text_content ... ok [INFO] [stdout] test line::parse::condition::tests::braces_starting_with_backslash_are_not_conditions_when_parsing_choices ... ok [INFO] [stdout] test line::parse::condition::tests::and_gives_and_and_vice_versa ... ok [INFO] [stdout] test line::parse::condition::tests::closest_split_index_works_for_all_variants ... ok [INFO] [stdout] test line::parse::condition::tests::condition_string_with_vertical_line_after_colon_separates_that_into_tail ... ok [INFO] [stdout] test line::parse::condition::tests::multiple_vertical_lines_in_condition_content_yields_error ... ok [INFO] [stdout] test line::parse::condition::tests::condition_strings_with_just_condition_and_content_splits_at_colon ... ok [INFO] [stdout] test line::parse::condition::tests::nested_conditions_are_the_condition_from_the_parenthesis ... ok [INFO] [stdout] test line::parse::condition::tests::nested_conditions_can_have_not_in_front_whereever ... ok [INFO] [stdout] test line::parse::condition::tests::no_colon_separator_in_condition_content_yields_error ... ok [INFO] [stdout] test line::parse::condition::tests::nested_conditions_work_as_part_of_condition ... ok [INFO] [stdout] test line::parse::condition::tests::parse_line_condition_returns_condition_if_true_and_else_content ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_choice_condition_with_just_name_gives_is_true_like_condition ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_condition_with_not_sets_reverse_condition ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_simple_condition_returns_a_story_condition ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_condition_with_not_equality_is_identical_to_not_equal_to_marker ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_single_not_larger_than_condition ... ok [INFO] [stdout] test line::parse::condition::tests::nested_conditions_can_nest_in_multiple_levels ... ok [INFO] [stdout] test line::parse::condition::tests::parse_line_condition_does_not_return_false_content_if_not_set ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_choice_condition_without_brackets_return_none_and_leaves_string_unchanged ... ok [INFO] [stdout] test line::parse::condition::tests::next_condition_starts_when_and_or_or_is_encountered_after_address ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_bad_conditions_give_error ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_condition_kind_returns_true_or_false_for_those_strings ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_story_condition_can_have_different_variable_types_on_each_side ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_condition_with_surrounding_parenthesis_returns_nested_condition ... ok [INFO] [stdout] test line::parse::condition::tests::not_equal_to_story_conditions_return_true_for_negation ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_story_condition_with_address_variables_sets_raw_addresses ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_story_condition_with_comparison_returns_comparison_type ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_story_condition_with_comparison_sets_correct_ordering_operator ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_story_condition_with_numbers_sets_numeric_variables ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_story_condition_with_single_word_returns_is_true_like_type ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_story_condition_with_strings_sets_string_variables ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_story_condition_with_true_or_false_sets_boolean ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_story_conditions_with_less_than_or_equal_condition_adjusts_rhs_value ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_story_conditions_with_larger_than_or_equal_condition_adjusts_rhs_value ... ok [INFO] [stdout] test line::parse::condition::tests::parsing_two_conditions_from_a_line ... ok [INFO] [stdout] test line::parse::condition::tests::second_choice_condition_can_have_more_than_one_items_inside ... ok [INFO] [stdout] test line::parse::condition::tests::separators_inside_words_are_ignored ... ok [INFO] [stdout] test line::parse::condition::tests::separators_inside_parenthesis_are_ignored ... ok [INFO] [stdout] test line::parse::condition::tests::splitting_choice_conditions_removes_initial_braces_from_line ... ok [INFO] [stdout] test line::parse::condition::tests::splitting_choice_conditions_returns_braced_conditions_as_strings ... ok [INFO] [stdout] test line::parse::condition::tests::several_choice_conditions_can_be_parsed_and_will_be_and_nested_variants ... ok [INFO] [stdout] test line::parse::condition::tests::splitting_choice_conditions_with_multibyte_characters_splits_string_correctly ... ok [INFO] [stdout] test line::parse::condition::tests::splitting_off_condition_link_does_not_remove_word_beginning_with_but_not_and ... ok [INFO] [stdout] test line::parse::condition::tests::single_choice_conditions_can_have_more_than_one_items_inside ... ok [INFO] [stdout] test line::parse::condition::tests::splitting_off_condition_link_splits_off_exactly_those_chars ... ok [INFO] [stdout] test line::parse::condition::tests::splitting_off_negation_removes_beginning_not ... ok [INFO] [stdout] test line::parse::condition::tests::validation_fails_if_any_link_in_the_tail_is_blank ... ok [INFO] [stdout] test line::parse::condition::tests::validation_fails_if_first_condition_item_does_not_have_blank_link ... ok [INFO] [stdout] test line::parse::condition::tests::vertical_line_before_colon_in_condition_line_still_splits_colon_first ... ok [INFO] [stdout] test line::parse::expression::tests::empty_string_splits_into_no_strings ... ok [INFO] [stdout] test line::parse::expression::tests::nested_parenthesis_are_evaluated_correctly ... ok [INFO] [stdout] test line::parse::expression::tests::number_then_operand_then_number_parses_into_addition_expression ... ok [INFO] [stdout] test line::parse::expression::tests::operators_inside_string_terms_do_not_split ... ok [INFO] [stdout] test line::parse::expression::tests::parenthesis_can_nest_several_levels_at_once ... ok [INFO] [stdout] test line::parse::expression::tests::many_operations_created_nested_structure_based_on_operator_precedence ... ok [INFO] [stdout] test line::parse::expression::tests::parsing_expression_from_no_terms_yields_empty_error ... ok [INFO] [stdout] test line::parse::expression::tests::parsing_expression_from_single_negated_term_creates_multiplication_by_negative_one ... ok [INFO] [stdout] test line::parse::expression::tests::parsing_expression_from_single_term_with_leading_mul_div_or_rem_marker_yields_error ... ok [INFO] [stdout] test line::parse::expression::tests::parsing_expression_from_single_term_with_leading_plus_gives_regular_expression ... ok [INFO] [stdout] test line::parse::expression::tests::parsing_expression_from_single_term_yields_single_term_expression ... ok [INFO] [stdout] test line::parse::expression::tests::single_number_parses_into_expression_with_only_head ... ok [INFO] [stdout] test line::parse::expression::tests::string_terms_can_come_first_and_last ... ok [INFO] [stdout] test line::parse::expression::tests::string_terms_may_contain_multibyte_characters_without_affecting_behavior ... ok [INFO] [stdout] test line::parse::expression::tests::string_that_starts_with_mathematical_operator_returns_the_whole_term_as_first ... ok [INFO] [stdout] test line::parse::expression::tests::string_with_single_term_splits_into_single_term_list ... ok [INFO] [stdout] test line::parse::expression::tests::strings_can_be_inside_expressions ... ok [INFO] [stdout] test line::parse::expression::tests::variables_may_be_multibyte_characters ... ok [INFO] [stdout] test line::parse::expression::tests::string_with_parenthesis_as_terms_keep_them_whole ... ok [INFO] [stdout] test line::parse::expression::tests::ummatched_string_quotes_keeps_all_content_from_opening_quote_as_one ... ok [INFO] [stdout] test line::parse::gather::tests::diverts_can_come_directly_after_gathers ... ok [INFO] [stdout] test line::parse::expression::tests::string_with_pure_number_operations_splits_cleanly_into_parts ... ok [INFO] [stdout] test line::parse::gather::tests::gather_markers_do_not_require_text ... ok [INFO] [stdout] test line::parse::gather::tests::line_with_beginning_divert_parses_into_line_instead_of_gather ... ok [INFO] [stdout] test line::parse::gather::tests::line_with_gather_markers_counts_them ... ok [INFO] [stdout] test line::parse::kind::tests::choices_are_parsed_before_gathers ... ok [INFO] [stdout] test line::parse::gather::tests::line_with_gather_markers_sets_line_text ... ok [INFO] [stdout] test line::parse::expression::tests::whitespace_does_not_matter ... ok [INFO] [stdout] test line::parse::expression::tests::whitespace_between_operators_is_not_needed ... ok [INFO] [stdout] test line::parse::expression::tests::whitespace_is_trimmed_from_ends_when_splitting_into_terms ... ok [INFO] [stdout] test line::parse::gather::tests::line_with_gather_markers_ignores_whitespace ... ok [INFO] [stdout] test line::parse::kind::tests::line_with_choice_markers_parses_to_choice ... ok [INFO] [stdout] test line::parse::kind::tests::line_with_gather_markers_parses_to_gather ... ok [INFO] [stdout] test line::parse::kind::tests::simple_line_parses_to_line ... ok [INFO] [stdout] test line::parse::line::tests::address_in_embraced_variable_must_be_valid ... ok [INFO] [stdout] test line::parse::line::tests::braces_denote_alternative_sequences_in_chunks ... ok [INFO] [stdout] test line::parse::line::tests::chunk_parsing_does_not_trim_whitespace ... ok [INFO] [stdout] test line::parse::line::tests::divert_address_must_be_a_single_word ... ok [INFO] [stdout] test line::parse::line::tests::divert_address_must_be_valid ... ok [INFO] [stdout] test line::parse::line::tests::divert_addresses_may_contain_dots ... ok [INFO] [stdout] test line::parse::line::tests::divert_marker_adds_whitespace_to_the_left_of_it ... ok [INFO] [stdout] test line::parse::line::tests::diverts_act_as_glue_for_full_line ... ok [INFO] [stdout] test line::parse::line::tests::diverts_are_parsed_if_there_is_glue ... ok [INFO] [stdout] test line::parse::line::tests::empty_string_parses_into_empty_chunk ... ok [INFO] [stdout] test line::parse::line::tests::empty_divert_address_yields_error ... ok [INFO] [stdout] test line::parse::line::tests::expression_with_colon_separator_is_condition ... ok [INFO] [stdout] test line::parse::line::tests::empty_expression_will_yield_error ... ok [INFO] [stdout] test line::parse::line::tests::expression_with_mathematical_operators_is_expression ... ok [INFO] [stdout] test line::parse::line::tests::glue_markers_add_glue_on_either_side_of_a_full_line ... ok [INFO] [stdout] test line::parse::line::tests::expression_with_only_vertical_separators_is_alternative ... ok [INFO] [stdout] test line::parse::line::tests::internal_line_with_divert_before_more_content_yields_error ... ok [INFO] [stdout] test line::parse::line::tests::glue_markers_are_trimmed_from_line ... ok [INFO] [stdout] test line::parse::line::tests::multiple_diverts_in_a_chunk_yields_error ... ok [INFO] [stdout] test line::parse::line::tests::parse_embraced_line_as_new_conditional_chunk ... ok [INFO] [stdout] test line::parse::line::tests::parse_embraced_line_expression ... ok [INFO] [stdout] test line::parse::line::tests::parse_embraced_line_with_variable_parses_as_expression ... ok [INFO] [stdout] test line::parse::line::tests::parse_internal_line_sets_meta_data ... ok [INFO] [stdout] test line::parse::line::tests::simple_text_string_parses_into_chunk_with_single_item ... ok [INFO] [stdout] test line::parse::line::tests::string_in_chunk_with_divert_marker_inside_braces_and_at_end_is_valid ... ok [INFO] [stdout] test line::parse::line::tests::parse_embraced_line_as_alternative ... ok [INFO] [stdout] test line::parse::line::tests::string_with_divert_marker_adds_divert_item_at_end ... ok [INFO] [stdout] test line::parse::line::tests::string_in_internal_line_with_divert_marker_inside_braces_and_at_end_is_valid ... ok [INFO] [stdout] test line::parse::line::tests::string_with_just_a_divert_gets_empty_object_and_then_divert ... ok [INFO] [stdout] test line::parse::line::tests::tags_are_split_off_from_string_and_added_to_full_line_when_parsed ... ok [INFO] [stdout] test line::parse::utils::tests::any_separator_can_be_used ... ok [INFO] [stdout] test line::parse::utils::tests::beginning_with_braced_content_adds_it_as_embraced ... ok [INFO] [stdout] test line::parse::utils::tests::brace_level_counting_works_for_empty_line ... ok [INFO] [stdout] test line::parse::utils::tests::brace_level_counting_works_for_wider_chars ... ok [INFO] [stdout] test line::parse::utils::tests::brace_level_of_line_with_no_braces_is_zero ... ok [INFO] [stdout] test line::parse::utils::tests::braces_can_be_at_beginning_or_end_and_will_not_be_included_in_ranges ... ok [INFO] [stdout] test line::parse::utils::tests::braces_can_be_next_to_each_other_yielding_empty_ranges ... ok [INFO] [stdout] test line::parse::utils::tests::empty_strings_are_split_into_zero_parts ... ok [INFO] [stdout] test line::parse::utils::tests::ending_with_braced_content_adds_it_as_embraced ... ok [INFO] [stdout] test line::parse::utils::tests::braces_with_leading_backslashes_do_not_increase_or_decrease_the_level ... ok [INFO] [stdout] test line::parse::utils::tests::maximum_number_of_splits_can_be_supplied ... ok [INFO] [stdout] test line::parse::utils::tests::multiple_brace_variants_can_exist_in_the_same_level ... ok [INFO] [stdout] test line::parse::utils::tests::multiple_nested_braces_split_correctly ... ok [INFO] [stdout] test line::parse::utils::tests::nested_brace_pairs_sets_higher_brace_levels ... ok [INFO] [stdout] test line::parse::utils::tests::nested_braces_give_string_with_the_braces_intact ... ok [INFO] [stdout] test line::parse::utils::tests::other_open_and_close_characters_can_be_used ... ok [INFO] [stdout] test line::parse::utils::tests::separators_are_ignored_with_preceeding_backslash ... ok [INFO] [stdout] test line::parse::utils::tests::single_brace_pair_in_middle_sets_brace_level_one_exclusive_end ... ok [INFO] [stdout] test line::parse::utils::tests::single_character_before_brace_gives_single_item_range ... ok [INFO] [stdout] test line::parse::utils::tests::same_open_and_close_character_simply_toggles_levels_on_and_off ... ok [INFO] [stdout] test line::parse::utils::tests::split_empty_string_at_separator_returns_empty_string ... ok [INFO] [stdout] test line::parse::utils::tests::split_empty_string_with_separators_return_multiple_empty_strings ... ok [INFO] [stdout] test line::parse::utils::tests::split_string_into_parts_where_curly_braces_are_found ... ok [INFO] [stdout] test line::parse::utils::tests::split_string_on_simple_text_line_gives_single_text_item ... ok [INFO] [stdout] test line::parse::utils::tests::splitting_string_at_separators_returns_content ... ok [INFO] [stdout] test line::parse::utils::tests::splitting_string_with_multibyte_separator_works ... ok [INFO] [stdout] test line::parse::utils::tests::splitting_string_with_multichar_separator_works ... ok [INFO] [stdout] test line::parse::utils::tests::splitting_string_with_mixed_braces_and_separators_return_correct_items ... ok [INFO] [stdout] test line::parse::utils::tests::splitting_string_with_separator_inside_curly_braces_returns_one_item ... ok [INFO] [stdout] test line::parse::utils::tests::splitting_string_with_unmatched_braces_returns_error ... ok [INFO] [stdout] test line::parse::utils::tests::string_with_braces_in_the_middle_get_surrounding_ranges ... ok [INFO] [stdout] test line::parse::utils::tests::string_with_no_braces_give_single_full_range ... ok [INFO] [stdout] test line::parse::utils::tests::unmatched_braces_yield_error_from_brace_level_counting ... ok [INFO] [stdout] test line::parse::utils::tests::unmatched_left_and_right_braces_give_error ... ok [INFO] [stdout] test line::parse::utils::tests::verify_get_brace_level_of_line_doctest_example ... ok [INFO] [stdout] test line::parse::variable::tests::diverts_must_have_valid_addresses ... ok [INFO] [stdout] test line::parse::variable::tests::multiple_words_are_invalid ... ok [INFO] [stdout] test line::parse::variable::tests::parse_booleans_as_exact_string_matches ... ok [INFO] [stdout] test line::parse::variable::tests::parse_diverts_from_starting_divert_marker ... ok [INFO] [stdout] test line::parse::variable::tests::parse_floating_point_numbers_as_numbers_with_decimals ... ok [INFO] [stdout] test line::parse::variable::tests::parse_integer_numbers_as_regular_numbers ... ok [INFO] [stdout] test line::parse::variable::tests::parse_single_words_as_raw_addresses ... ok [INFO] [stdout] test line::parse::variable::tests::parse_string_variable_within_quotation_marks ... ok [INFO] [stdout] test line::parse::variable::tests::parsing_single_quotation_mark_string_is_error ... ok [INFO] [stdout] test line::parse::variable::tests::whitespace_is_trimmed_before_parsing ... ok [INFO] [stdout] test line::variable::tests::address_and_divert_variables_can_do_equality_against_their_own_variant ... ok [INFO] [stdout] test line::variable::tests::addresses_are_printed_as_the_contained_variables_if_they_are_variables ... ok [INFO] [stdout] test line::variable::tests::assign_variable_value_can_infer_type ... ok [INFO] [stdout] test line::variable::tests::assign_variable_value_cannot_change_variable_type ... ok [INFO] [stdout] test line::variable::tests::assign_variable_value_updates_inner_value ... ok [INFO] [stdout] test line::variable::tests::boolean_variables_can_do_equality_comparison_only ... ok [INFO] [stdout] test line::variable::tests::booleans_are_printed_as_numbers ... ok [INFO] [stdout] test line::variable::tests::addresses_are_printed_as_their_number_of_visits_if_they_are_locations ... ok [INFO] [stdout] test line::variable::tests::diverts_cannot_be_printed_but_yield_error ... ok [INFO] [stdout] test line::variable::tests::getting_string_representation_of_unvalidated_addresses_yields_error ... ok [INFO] [stdout] test line::variable::tests::except_int_and_float_variants_cannot_compare_to_other ... ok [INFO] [stdout] test line::variable::tests::getting_value_from_address_variable_of_global_variable_gets_value_of_that ... ok [INFO] [stdout] test line::variable::tests::dividing_by_infinity_yields_error ... ok [INFO] [stdout] test line::variable::tests::getting_value_from_address_variable_of_location_gets_number_of_visits ... ok [INFO] [stdout] test line::variable::tests::getting_value_from_all_non_address_variables_returns_the_variable ... ok [INFO] [stdout] test line::variable::tests::getting_value_from_invalid_global_variable_address_yields_error ... ok [INFO] [stdout] test line::variable::tests::getting_value_from_nested_address_variables_gets_to_the_bottom ... ok [INFO] [stdout] test line::variable::tests::integer_and_floating_point_values_can_compare_to_each_other ... ok [INFO] [stdout] test line::variable::tests::numbers_can_be_printed ... ok [INFO] [stdout] test line::variable::tests::numeric_variables_can_compare_to_each_other ... ok [INFO] [stdout] test line::variable::tests::string_variables_can_do_equality_comparison_only ... ok [INFO] [stdout] test line::variable::tests::strings_are_just_cloned ... ok [INFO] [stdout] test node::follow::tests::after_a_followed_choice_returns_the_caller_nodes_always_follow_into_their_next_lines ... ok [INFO] [stdout] test node::follow::tests::after_finishing_with_a_branch_lower_nodes_return_to_their_content ... ok [INFO] [stdout] test node::follow::tests::branch_choices_are_collected_when_supplying_an_incorrect_index_for_a_choice ... ok [INFO] [stdout] test node::follow::tests::encountered_choices_return_with_their_number_of_visits_counter ... ok [INFO] [stdout] test node::follow::tests::diverts_found_after_selections_are_returned ... ok [INFO] [stdout] test node::follow::tests::encountering_a_branching_choice_keeps_stack_at_that_index ... ok [INFO] [stdout] test node::follow::tests::encountering_a_branching_choice_returns_the_choice_data ... ok [INFO] [stdout] test node::follow::tests::follow_always_uses_last_position_in_stack ... ok [INFO] [stdout] test node::follow::tests::following_into_a_node_does_not_increment_number_of_visits_if_stack_is_non_zero ... ok [INFO] [stdout] test node::follow::tests::following_into_line_with_divert_immediately_returns_it ... ok [INFO] [stdout] test node::follow::tests::following_into_nested_branches_works ... ok [INFO] [stdout] test node::follow::tests::following_into_a_node_increments_number_of_visits ... ok [INFO] [stdout] test node::follow::tests::following_items_in_a_node_adds_lines_to_buffer ... ok [INFO] [stdout] test node::follow::tests::following_items_starts_from_stack ... ok [INFO] [stdout] test node::follow::tests::following_items_updates_stack ... ok [INFO] [stdout] test node::follow::tests::following_with_choice_follows_from_last_position_in_stack ... ok [INFO] [stdout] test node::follow::tests::following_with_empty_stack_raises_error ... ok [INFO] [stdout] test node::follow::tests::following_with_stack_that_has_too_large_index_raises_error ... ok [INFO] [stdout] test node::follow::tests::out_of_bounds_stack_indices_return_stack_error ... ok [INFO] [stdout] test node::follow::tests::out_of_bounds_stack_indices_return_stack_error_when_checking_branches ... ok [INFO] [stdout] test node::follow::tests::selected_branches_adds_line_text_to_line_buffer ... ok [INFO] [stdout] test node::follow::tests::stack_that_points_to_line_instead_of_branching_choice_returns_error ... ok [INFO] [stdout] test node::parse::tests::address_of_root_node_is_set_from_knot_and_stitch_names ... ok [INFO] [stdout] test node::follow::tests::selected_branches_have_their_number_of_visits_number_incremented ... ok [INFO] [stdout] test node::parse::tests::branching_choice_set_wrapper_increments_the_index_for_found_gathers ... ok [INFO] [stdout] test node::parse::tests::full_node_parsing_starts_by_parsing_lines_before_parsing_branches ... ok [INFO] [stdout] test node::parse::tests::branching_choice_set_wrapper_returns_gather_line_separately_if_present ... ok [INFO] [stdout] test node::parse::tests::full_node_parsing_with_gather_adds_the_gather_line_below_the_branch ... ok [INFO] [stdout] test node::parse::tests::multilevel_gather_check ... ok [INFO] [stdout] test node::parse::tests::higher_level_branches_are_added_as_children_to_branch ... ok [INFO] [stdout] test node::parse::tests::parse_list_with_high_leveled_branches_still_just_nests_them ... ok [INFO] [stdout] test node::parse::tests::parse_list_with_non_matched_gathers_turns_them_into_lines ... ok [INFO] [stdout] test node::parse::tests::parse_list_with_only_branches_works ... ok [INFO] [stdout] test node::parse::tests::parse_empty_list_return_empty_node ... ok [INFO] [stdout] test node::parse::tests::parsing_a_branch_sets_the_choice_data_in_the_branch_item ... ok [INFO] [stdout] test node::parse::tests::parsing_a_branch_stops_when_lower_level_branch_is_encountered ... ok [INFO] [stdout] test node::parse::tests::gathers_end_branching_choice_sets_at_same_level ... ok [INFO] [stdout] test node::parse::tests::parsing_a_single_branch_adds_lines_as_items_until_next_branch_is_encountered ... ok [INFO] [stdout] test node::parse::tests::parsing_branches_with_same_level_returns_when_another_branch_is_encountered ... ok [INFO] [stdout] test node::parse::tests::parsing_branching_set_handles_multiple_simultaneous_drops_in_level ... ok [INFO] [stdout] test node::parse::tests::parsing_complex_nested_structure_works ... ok [INFO] [stdout] test node::parse::tests::parsing_a_branch_adds_the_choice_final_line_as_line_in_items ... ok [INFO] [stdout] test process::buffer::tests::only_single_whitespaces_are_left_between_words_after_processing ... ok [INFO] [stdout] test node::parse::tests::parsing_a_branching_choice_returns_all_branches_with_their_nested_content ... ok [INFO] [stdout] test process::buffer::tests::processing_line_buffer_adds_newlines_if_no_glue ... ok [INFO] [stdout] test process::buffer::tests::processing_line_buffer_keeps_single_whitespace_between_lines_with_glue ... ok [INFO] [stdout] test process::buffer::tests::processing_line_buffer_preserves_tags ... ok [INFO] [stdout] test process::buffer::tests::processing_line_buffer_removes_empty_lines ... ok [INFO] [stdout] test process::buffer::tests::processing_line_buffer_removes_newlines_between_lines_with_glue_end_on_first ... ok [INFO] [stdout] test process::buffer::tests::processing_line_buffer_removes_newlines_between_lines_with_glue_start_on_second ... ok [INFO] [stdout] test process::buffer::tests::processing_line_buffer_sets_newline_on_last_line_regardless_of_glue ... ok [INFO] [stdout] test process::buffer::tests::processing_line_buffer_trims_extra_whitespace ... ok [INFO] [stdout] test process::buffer::tests::processing_line_buffer_with_glue_works_across_empty_lines ... ok [INFO] [stdout] test process::choice::tests::fallback_choices_are_filtered_as_usual_choices ... ok [INFO] [stdout] test process::choice::tests::preparing_choices_filters_choices_which_have_been_visited_for_non_sticky_lines ... ok [INFO] [stdout] test process::choice::tests::getting_available_choices_processes_the_text ... ok [INFO] [stdout] test process::choice::tests::preparing_choices_does_not_filter_visited_sticky_lines ... ok [INFO] [stdout] test process::choice::tests::preparing_choices_preserves_tags ... ok [INFO] [stdout] test process::condition::tests::conditions_can_compare_variable_values ... ok [INFO] [stdout] test process::choice::tests::processing_choices_checks_conditions ... ok [INFO] [stdout] test process::choice::tests::preparing_choices_returns_selection_text_lines ... ok [INFO] [stdout] test process::condition::tests::is_true_like_condition_yields_error_if_variable_is_divert ... ok [INFO] [stdout] test process::condition::tests::is_true_like_conditions_return_true_if_variable_is_numeric_and_non_zero ... ok [INFO] [stdout] test process::condition::tests::is_true_like_conditions_return_true_if_variable_is_boolean_and_true ... ok [INFO] [stdout] test process::line::tests::chunk_with_condition_processes_its_content_if_it_is_fulfilled ... ok [INFO] [stdout] test process::line::tests::chunks_with_several_text_items_stitch_them_with_no_whitespace ... ok [INFO] [stdout] test process::condition::tests::is_true_like_conditions_return_true_if_variable_is_string_with_non_zero_length ... ok [INFO] [stdout] test process::line::tests::chunks_without_condition_always_processes_the_true_content ... ok [INFO] [stdout] test process::line::tests::cycle_alternative_repeats_from_first_index_after_reaching_end ... ok [INFO] [stdout] test process::choice::tests::preparing_choices_filters_fallback_choices ... ok [INFO] [stdout] test process::line::tests::diverts_are_raised_through_the_nested_stack_when_encountered ... ok [INFO] [stdout] test process::line::tests::diverts_in_alternates_shortcut_when_finally_processed ... ok [INFO] [stdout] test process::line::tests::empty_content_processes_into_single_white_space ... ok [INFO] [stdout] test process::line::tests::divert_variable_yields_error ... ok [INFO] [stdout] test process::line::tests::expression_evaluates_into_variable_and_prints_it ... ok [INFO] [stdout] test process::line::tests::full_line_processing_retains_glue ... ok [INFO] [stdout] test process::line::tests::full_line_processing_retains_tags ... ok [INFO] [stdout] test process::line::tests::line_with_text_processes_into_that_text ... ok [INFO] [stdout] test process::line::tests::once_only_alternative_walks_through_content_and_stops_after_final_item_when_processed ... ok [INFO] [stdout] test process::line::tests::pure_text_line_processes_into_the_contained_string ... ok [INFO] [stdout] test process::line::tests::sequence_alternative_walks_through_content_when_processed_repeatably ... ok [INFO] [stdout] test process::line::tests::if_a_condition_is_false_content_in_the_else_items_list_is_processed ... ok [INFO] [stdout] test story::parse::tests::empty_lines_and_comment_lines_are_removed_by_initial_processing ... ok [INFO] [stdout] test story::parse::tests::divide_into_knots_splits_given_lines_at_knot_markers ... ok [INFO] [stdout] test process::line::tests::lines_shortcut_if_proper_diverts_are_encountered ... ok [INFO] [stdout] test story::parse::tests::global_variables_are_parsed_with_metadata ... ok [INFO] [stdout] test story::parse::tests::divide_into_knots_adds_content_from_nameless_knots_first ... ok [INFO] [stdout] test story::parse::tests::divide_into_stitches_splits_lines_at_markers ... ok [INFO] [stdout] test story::parse::tests::all_prelude_and_knot_errors_are_caught_and_returned ... ok [INFO] [stdout] test story::parse::tests::if_no_tags_are_set_the_tags_are_empty ... ok [INFO] [stdout] test story::parse::tests::initial_processing_splits_off_line_comments ... ok [INFO] [stdout] test story::parse::tests::knot_parses_tags_from_name_until_first_line_without_octothorpe ... ok [INFO] [stdout] test story::parse::tests::knot_tags_ignore_empty_lines ... ok [INFO] [stdout] test story::parse::tests::knot_with_no_root_content_gets_default_knot_as_first_stitch ... ok [INFO] [stdout] test story::parse::tests::metadata_stops_when_it_does_not_start_with_variable_include_or_tag ... ok [INFO] [stdout] test story::parse::tests::knot_with_root_content_gets_default_knot_as_first_stitch ... ok [INFO] [stdout] test story::parse::tests::no_variables_give_empty_set ... ok [INFO] [stdout] test story::parse::tests::parse_global_tags_from_metadata ... ok [INFO] [stdout] test story::parse::tests::parse_global_variables_returns_all_errors ... ok [INFO] [stdout] test story::parse::tests::parsing_a_knot_from_lines_sets_stitches_in_hash_map ... ok [INFO] [stdout] test story::parse::tests::parsing_a_stitch_gets_all_content_regardless_of_whether_name_is_present ... ok [INFO] [stdout] test story::parse::tests::parse_variables_from_metadata ... ok [INFO] [stdout] test story::parse::tests::parsing_a_stitch_gets_name_if_present_else_default_root_name_if_index_is_zero ... ok [INFO] [stdout] test story::parse::tests::parsing_knot_from_lines_without_stitches_sets_content_in_default_named_stitch ... ok [INFO] [stdout] test story::parse::tests::parsing_knot_from_lines_gets_name ... ok [INFO] [stdout] test story::parse::tests::parsing_stitch_from_lines_sets_address_in_root_node ... ok [INFO] [stdout] test story::parse::tests::prelude_can_be_further_split_into_metadata_and_prelude_text ... ok [INFO] [stdout] test story::parse::tests::read_knots_from_string_reads_several_present_knots ... ok [INFO] [stdout] test story::parse::tests::reading_story_content_does_not_work_if_knot_has_no_content ... ok [INFO] [stdout] test story::parse::tests::read_knots_from_string_requires_named_knots ... ok [INFO] [stdout] test story::parse::tests::reading_story_content_does_not_work_if_stitch_has_no_content ... ok [INFO] [stdout] test story::parse::tests::reading_story_content_works_if_content_starts_with_knot ... ok [INFO] [stdout] test story::parse::tests::reading_story_content_yields_error_if_duplicate_knot_names_are_found ... ok [INFO] [stdout] test story::parse::tests::reading_story_data_gets_unordered_variables_in_prelude ... ok [INFO] [stdout] test story::parse::tests::reading_story_content_works_if_content_only_has_text ... ok [INFO] [stdout] test story::parse::tests::reading_story_content_yields_error_if_duplicate_stitch_names_are_found_in_one_knot ... ok [INFO] [stdout] test story::parse::tests::regular_lines_can_start_with_variable_divert_or_text ... ok [INFO] [stdout] test story::parse::tests::reading_story_data_gets_all_global_tags_in_prelude ... ok [INFO] [stdout] test story::parse::tests::reading_story_data_sets_knot_line_starting_line_indices_including_prelude_content ... ok [INFO] [stdout] test story::parse::tests::root_knot_may_have_stitches ... ok [INFO] [stdout] test story::parse::tests::split_lines_into_knots_and_prelude_drains_all_items_if_knot_is_never_encountered ... ok [INFO] [stdout] test story::parse::tests::split_lines_into_knots_and_prelude_drains_lines_up_until_first_knot ... ok [INFO] [stdout] test story::parse::tests::two_variables_with_same_name_yields_error ... ok [INFO] [stdout] test story::parse::tests::root_knot_parses_stitch_without_a_name ... ok [INFO] [stdout] test story::parse::tests::tags_do_not_disturb_remaining_content ... ok [INFO] [stdout] test story::parse::tests::split_lines_into_knots_and_preludes_drains_nothing_if_knots_begin_at_index_zero ... ok [INFO] [stdout] test story::story::tests::calling_resume_continues_the_text_flow_with_the_choice_that_was_made ... ok [INFO] [stdout] test story::parse::tests::variables_after_first_line_of_text_are_ignored ... ok [INFO] [stdout] test story::story::tests::divert_to_done_or_end_constant_knots_ends_story ... ok [INFO] [stdout] test story::story::tests::cannot_resume_on_a_story_that_has_not_started ... ok [INFO] [stdout] test story::story::tests::current_location_in_story_is_the_latest_address_pushed_on_the_stack ... ok [INFO] [stdout] test story::story::tests::calling_resume_on_a_story_at_a_choice_returns_the_choice_again ... ok [INFO] [stdout] test story::story::tests::follow_knot_diverts_to_new_knots_when_encountered ... ok [INFO] [stdout] test story::story::tests::divert_to_knot_increments_its_visit_count ... ok [INFO] [stdout] test story::story::tests::fallback_choices_resume_from_the_knot_they_are_encountered_in ... ok [INFO] [stdout] test story::story::tests::follow_knot_does_not_return_divert_event_if_divert_is_encountered ... ok [INFO] [stdout] test story::story::tests::follow_knot_returns_choices_when_encountered ... ok [INFO] [stdout] test story::story::tests::follow_knot_returns_the_last_active_knot ... ok [INFO] [stdout] test story::story::tests::follow_story_returns_last_visited_address_when_reaching_end ... ok [INFO] [stdout] test story::story::tests::following_story_wrapper_updates_stack_to_last_address ... ok [INFO] [stdout] test story::story::tests::follow_story_returns_last_visited_address_when_encountering_choices ... ok [INFO] [stdout] test story::story::tests::getting_knot_tags_with_invalid_name_yields_error ... ok [INFO] [stdout] test story::story::tests::get_knot_tags_from_knot_name ... ok [INFO] [stdout] test story::story::tests::getting_variable_returns_cloned ... ok [INFO] [stdout] test story::story::tests::getting_number_of_visits_yields_error_if_knot_or_stitch_name_is_invalid ... ok [INFO] [stdout] test story::story::tests::getting_number_of_visits_uses_data ... ok [INFO] [stdout] test story::story::tests::getting_variable_with_string_representation ... ok [INFO] [stdout] test story::story::tests::global_tags_can_be_retrieved ... ok [INFO] [stdout] test story::story::tests::make_choice_resets_last_choices_vector ... ok [INFO] [stdout] test story::story::tests::glue_is_followed_over_fallback_choices ... ok [INFO] [stdout] test story::story::tests::knots_do_not_get_their_number_of_visits_incremented_when_resuming_a_choice ... ok [INFO] [stdout] test story::story::tests::last_set_of_presented_choices_are_stored ... ok [INFO] [stdout] test story::story::tests::make_choice_yields_an_error_if_a_choice_has_not_been_prompted ... ok [INFO] [stdout] test story::story::tests::make_choice_yields_an_error_if_choice_index_is_not_in_last_choices_set ... ok [INFO] [stdout] test story::story::tests::if_choice_list_returned_to_user_is_empty_follow_fallback_choice ... ok [INFO] [stdout] test story::story::tests::make_choice_sets_the_choice_index_from_the_last_choices_set ... ok [INFO] [stdout] test story::story::tests::if_no_fallback_choices_are_available_raise_error ... ok [INFO] [stdout] test story::story::tests::move_to_yields_error_if_knot_or_stitch_name_is_invalid ... ok [INFO] [stdout] test story::story::tests::knots_with_non_default_root_stitch_gets_validated_addresses_that_point_to_them ... ok [INFO] [stdout] test story::story::tests::move_to_addresses_can_include_stitches ... ok [INFO] [stdout] test story::story::tests::move_to_can_be_called_on_a_story_before_the_start ... ok [INFO] [stdout] test story::story::tests::reading_story_from_string_sets_global_tags ... ok [INFO] [stdout] test story::story::tests::reading_story_from_string_sets_global_variables ... ok [INFO] [stdout] test story::story::tests::setting_variable_can_infer_number_boolean_and_string_types ... ok [INFO] [stdout] test story::validate::namespace::tests::empty_stitch_and_variable_sets_give_no_name_space_errors ... ok [INFO] [stdout] test story::story::tests::reading_story_from_string_initializes_all_knot_visit_counts_to_zero ... ok [INFO] [stdout] test story::validate::namespace::tests::knots_stitches_and_variables_with_unique_names_raise_no_name_space_errors ... ok [INFO] [stdout] test story::story::tests::setting_variable_is_only_allowed_without_changing_type ... ok [INFO] [stdout] test story::story::tests::starting_a_story_sets_in_progress_boolean ... ok [INFO] [stdout] test story::validate::namespace::tests::stitch_names_cannot_collide_with_variable_names ... ok [INFO] [stdout] test story::validate::namespace::tests::stitch_names_cannot_collide_with_knot_names ... ok [INFO] [stdout] test story::validate::namespace::tests::default_stitch_name_is_excepted_for_collisions_with_knot_names ... ok [INFO] [stdout] test story::utils::tests::string_from_line_buffer_joins_without_extra_newlines ... ok [INFO] [stdout] test story::story::tests::when_the_story_begins_the_first_knot_gets_its_number_of_visits_set_to_one ... ok [INFO] [stdout] test story::story::tests::starting_a_story_can_only_be_done_once ... ok [INFO] [stdout] test story::story::tests::number_of_visits_in_a_story_is_consistent ... ok [INFO] [stdout] test story::validate::namespace::tests::stitches_may_share_name_with_stitches_in_other_knots_without_name_space_error ... ok [INFO] [stdout] test story::story::tests::story_can_be_moved_to_another_address ... ok [INFO] [stdout] test story::validate::namespace::tests::variable_names_cannot_collide_with_knot_names ... ok [INFO] [stdout] test story::validate::validate::tests::creating_validation_data_sets_variable_names ... ok [INFO] [stdout] test story::validate::validate::tests::creating_validation_data_sets_default_knot_names ... ok [INFO] [stdout] test story::validate::validate::tests::all_expressions_in_conditions_are_validated ... ok [INFO] [stdout] test story::story::tests::when_a_knot_is_returned_to_the_text_starts_from_the_beginning ... ok [INFO] [stdout] test story::validate::validate::tests::encountered_invalid_address_errors_stop_expressions_from_trying_to_evaluate ... ok [INFO] [stdout] test story::validate::validate::tests::invalid_addresses_in_choices_can_be_in_display_text_only ... ok [INFO] [stdout] test story::validate::validate::tests::addresses_are_validated_if_correct_in_all_displayed_text_of_branching_choices ... ok [INFO] [stdout] test story::validate::validate::tests::creating_validation_data_sets_stitches ... ok [INFO] [stdout] test story::validate::validate::tests::address_validation_is_done_in_first_displayed_text_of_branching_choice ... ok [INFO] [stdout] test story::validate::validate::tests::expression_validation_is_done_in_first_displayed_text_of_branching_choice ... ok [INFO] [stdout] test story::validate::validate::tests::items_inside_parts_of_alternative_sequences_are_validated ... ok [INFO] [stdout] test story::validate::validate::tests::expressions_add_one_error_for_errors_in_nested_parts ... ok [INFO] [stdout] test story::validate::validate::tests::invalid_addresses_in_choices_can_be_in_selection_text_only ... ok [INFO] [stdout] test story::validate::validate::tests::validating_story_raises_error_for_every_address_that_does_not_exist ... ok [INFO] [stdout] test story::validate::validate::tests::invalid_address_errors_in_choices_with_display_and_selection_text_validates_expr_once ... ok [INFO] [stdout] test story::validate::validate::tests::validating_story_raises_error_if_expression_has_non_matching_types ... ok [INFO] [stdout] test story::validate::validate::tests::items_inside_true_parts_of_conditions_are_validated ... ok [INFO] [stdout] test story::validate::validate::tests::encountered_invalid_address_errors_stop_conditions_from_trying_to_evaluate ... ok [INFO] [stdout] test story::validate::validate::tests::validating_story_raises_an_error_if_addresses_refer_to_internal_addresses_in_other_knots ... ok [INFO] [stdout] test story::validate::validate::tests::validating_story_does_not_raise_an_error_for_internal_addressing_in_stitches_and_knots ... ok [INFO] [stdout] test story::validate::validate::tests::items_inside_false_parts_of_conditions_are_validated ... ok [INFO] [stdout] test story::validate::validate::tests::validating_story_raises_error_if_condition_has_invalid_types_in_comparison ... ok [INFO] [stdout] test story::validate::validate::tests::validating_story_sets_all_addresses_to_validated_addresses ... ok [INFO] [stdout] test story::validate::validate::tests::validating_story_raises_error_for_bad_addresses_in_choices ... ok [INFO] [stdout] test story::validate::validate::tests::validating_story_raises_error_if_comparison_is_between_different_types ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 464 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s [INFO] [stdout] [INFO] [stderr] Running tests/address_validation.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/address_validation-dc580679a0c6828b) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test stitch_names_to_relative_addresses_are_validated ... ok [INFO] [stdout] test knot_names_in_diverts_are_validated ... ok [INFO] [stdout] test diverts_in_nested_branches_are_validated ... ok [INFO] [stdout] test stitch_names_in_diverts_are_validated ... ok [INFO] [stdout] test condition_addresses_are_validated ... ok [INFO] [stdout] test diverts_in_choice_text_are_validated ... ok [INFO] [stdout] test diverts_in_alternative_sequences_are_validated ... ok [INFO] [stdout] test addresses_in_choices_are_validated ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/choice_filtering.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/choice_filtering-9b08df776daa836f) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test choices_are_filtered_after_being_picked_once_unless_sticky ... ok [INFO] [stdout] test choices_can_be_filtered_by_referencing_stitches_outside_the_current_knot ... ok [INFO] [stdout] test fallback_choices_are_followed_if_no_choices_remain_after_filtering ... ok [INFO] [stdout] test glue_binds_across_fallback_choices ... ok [INFO] [stdout] test choices_can_be_filtered_by_referencing_stitches_with_internal_shorthand ... ok [INFO] [stdout] test choices_can_be_filtered_by_visited_knots ... ok [INFO] [stdout] test fallback_choices_may_include_text_or_direct_diverts ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/line_variants.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/line_variants-6b5e243bff79212f) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test lines_can_have_conditional_content ... ok [INFO] [stdout] test variable_expressions_always_use_updated_variables ... ok [INFO] [stdout] test choices_can_have_variants_in_selection_text ... ok [INFO] [stdout] test variant_sequences_can_be_nested ... ok [INFO] [stdout] test variables_can_be_used_in_mathematical_operations ... ok [INFO] [stdout] test conditions_may_use_expressions_on_left_or_right_hand_side ... ok [INFO] [stdout] test mathematical_expressions_can_be_used_in_lines ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/read_error_handling.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/read_error_handling-d1b6b3f73c7c3692) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test name_space_collision_errors_are_yielded ... ok [INFO] [stdout] test all_address_validation_errors_are_returned ... ok [INFO] [stdout] test all_line_parsing_errors_are_reported_when_printed ... ok [INFO] [stdout] test invalid_expression_and_condition_errors_are_yielded ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/read_story.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/read_story-1846de235c83a48a) [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test glue_binds_lines_together_without_newline_markers ... ok [INFO] [stdout] test diverts_are_glue_and_add_single_whitespace_when_following_a_story ... ok [INFO] [stdout] test story_can_start_with_named_knot ... ok [INFO] [stdout] test story_can_be_read_with_unnamed_knots ... ok [INFO] [stdout] test glue_binds_across_diverts ... ok [INFO] [stdout] test following_a_choice_adds_a_copy_of_the_choice_line_to_the_buffer ... ok [INFO] [stdout] test follow_with_invalid_choice_returns_error_information ... ok [INFO] [stdout] test choices_can_nest_into_multiple_levels ... ok [INFO] [stdout] test choices_with_bracket_text_gives_different_selection_and_displayed_lines ... ok [INFO] [stdout] test choices_can_divert_in_their_lines ... ok [INFO] [stdout] test line_comments_are_removed ... ok [INFO] [stdout] test story_can_divert_at_will_between_unordered_knots ... ok [INFO] [stdout] test story_starts_from_top_even_if_knot_is_unnamed ... ok [INFO] [stdout] test tags_are_included_with_lines_and_choices ... ok [INFO] [stdout] test story_can_be_structured_using_stitches ... ok [INFO] [stdout] test stitches_can_be_diverted_to_inside_a_knot_without_the_full_address ... ok [INFO] [stdout] test story_follows_choices_by_the_user ... ok [INFO] [stdout] test gathers_collect_nested_choices_in_story ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/serde_support.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/serde_support-bc690a9a950db96d) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test serde_support_tests ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- serde_support_tests stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'serde_support_tests' panicked at tests/serde_support.rs:4:5: [INFO] [stdout] Feature `serde_support` must be activated to run these integration tests [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x7f547a940292 - std::backtrace_rs::backtrace::libunwind::trace::h559918daaaf51ab7 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x7f547a940292 - std::backtrace_rs::backtrace::trace_unsynchronized::hb04fbcf80d07af8b [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x7f547a940292 - std::sys::backtrace::_print_fmt::h7c0bbbbfac0065d4 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x7f547a940292 - ::fmt::hb62c8ed31943daa5 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x7f547a97a473 - core::fmt::rt::Argument::fmt::he5eaa7dd607ed4c9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x7f547a97a473 - core::fmt::write::h375399f8cb90b45a [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/fmt/mod.rs:1460:25 [INFO] [stdout] 6: 0x7f547a93d5c3 - std::io::default_write_fmt::hdc1b4dd565dd0099 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x7f547a93d5c3 - std::io::Write::write_fmt::h29f6044e9bc43c23 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x7f547a9400e2 - std::sys::backtrace::BacktraceLock::print::ha189c586374f916a [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x7f547a94186c - std::panicking::default_hook::{{closure}}::ha3a26c98ff210e12 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:300:27 [INFO] [stdout] 10: 0x7f547a9416c2 - std::panicking::default_hook::h8c8a86b4390ab794 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:324:9 [INFO] [stdout] 11: 0x7f547a90e734 - as core::ops::function::Fn>::call::ha39ae63ed1e9a130 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1980:9 [INFO] [stdout] 12: 0x7f547a90e734 - test::test_main_with_exit_callback::{{closure}}::h9df7c328ebe18c28 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x7f547a9422d3 - as core::ops::function::Fn>::call::h96b7201b552e9069 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1980:9 [INFO] [stdout] 14: 0x7f547a9422d3 - std::panicking::rust_panic_with_hook::hb3b66c2e80efa371 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:841:13 [INFO] [stdout] 15: 0x7f547a9420dc - std::panicking::begin_panic::{{closure}}::h3ce7fe5f3d6361b4 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:770:9 [INFO] [stdout] 16: 0x7f547a940789 - std::sys::backtrace::__rust_end_short_backtrace::h0bc33d2a8e0bcf29 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:168:18 [INFO] [stdout] 17: 0x7f547a8d4250 - std::panicking::begin_panic::h7531254884c52765 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:769:5 [INFO] [stdout] 18: 0x7f547a8d64da - serde_support::serde_support_tests::h444a4539efe33f71 [INFO] [stdout] at /opt/rustwide/workdir/tests/serde_support.rs:4:5 [INFO] [stdout] 19: 0x7f547a8d64a7 - serde_support::serde_support_tests::{{closure}}::hb6140ca2f43bdede [INFO] [stdout] at /opt/rustwide/workdir/tests/serde_support.rs:3:25 [INFO] [stdout] 20: 0x7f547a8d58e6 - core::ops::function::FnOnce::call_once::hd8b5bf193ed91bcf [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 21: 0x7f547a913e2b - core::ops::function::FnOnce::call_once::h9633dcf760ae81b2 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x7f547a913e2b - test::__rust_begin_short_backtrace::h12ad5e04c8d7b4a5 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:648:18 [INFO] [stdout] 23: 0x7f547a91309e - test::run_test_in_process::{{closure}}::he596b4fd3fa4893c [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:671:74 [INFO] [stdout] 24: 0x7f547a91309e - as core::ops::function::FnOnce<()>>::call_once::hc746bc3fa75190e0 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 25: 0x7f547a91309e - std::panicking::catch_unwind::do_call::hf4843906108d6299 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:589:40 [INFO] [stdout] 26: 0x7f547a91309e - std::panicking::catch_unwind::h849d4e8b03577bb9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:552:19 [INFO] [stdout] 27: 0x7f547a91309e - std::panic::catch_unwind::ha1f814c1dec025d2 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panic.rs:359:14 [INFO] [stdout] 28: 0x7f547a91309e - test::run_test_in_process::h542aad3fe61255e7 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:671:27 [INFO] [stdout] 29: 0x7f547a91309e - test::run_test::{{closure}}::h612788d75908cb63 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:592:43 [INFO] [stdout] 30: 0x7f547a8d7f24 - test::run_test::{{closure}}::hbfeea3bcb7245123 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/test/src/lib.rs:622:41 [INFO] [stdout] 31: 0x7f547a8d7f24 - std::sys::backtrace::__rust_begin_short_backtrace::h72542b83b4f87d5b [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/backtrace.rs:152:18 [INFO] [stdout] 32: 0x7f547a8db71a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hff26a7547ea762c9 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 33: 0x7f547a8db71a - as core::ops::function::FnOnce<()>>::call_once::hbee49bc759312884 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stdout] 34: 0x7f547a8db71a - std::panicking::catch_unwind::do_call::h61de12ce5e04e28f [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:589:40 [INFO] [stdout] 35: 0x7f547a8db71a - std::panicking::catch_unwind::h454dd49873d22e18 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panicking.rs:552:19 [INFO] [stdout] 36: 0x7f547a8db71a - std::panic::catch_unwind::h5c15187324f8cebb [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/panic.rs:359:14 [INFO] [stdout] 37: 0x7f547a8db71a - std::thread::Builder::spawn_unchecked_::{{closure}}::hbc9d9c7427673d42 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 38: 0x7f547a8db71a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hefd458a129ddca13 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 39: 0x7f547a944d27 - as core::ops::function::FnOnce>::call_once::h2d6e2e526b02c3da [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1966:9 [INFO] [stdout] 40: 0x7f547a944d27 - as core::ops::function::FnOnce>::call_once::h1aefced482b33c72 [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/boxed.rs:1966:9 [INFO] [stdout] 41: 0x7f547a944d27 - std::sys::pal::unix::thread::Thread::new::thread_start::h7c9c6951b48f721d [INFO] [stdout] at /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/std/src/sys/pal/unix/thread.rs:97:17 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] serde_support_tests [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--test serde_support` [INFO] running `Command { std: "docker" "inspect" "5168c643fa7fb6e7ad31bc15dc1457e1b0c943e79512dd328459094cd929687d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5168c643fa7fb6e7ad31bc15dc1457e1b0c943e79512dd328459094cd929687d", kill_on_drop: false }` [INFO] [stdout] 5168c643fa7fb6e7ad31bc15dc1457e1b0c943e79512dd328459094cd929687d