[INFO] fetching crate timeline_rs 0.1.1...
[INFO] testing timeline_rs-0.1.1 against beta-2024-12-08 for beta-1.84.0-4-retry
[INFO] extracting crate timeline_rs 0.1.1 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate timeline_rs 0.1.1 on toolchain beta-2024-12-08
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate timeline_rs 0.1.1
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate timeline_rs 0.1.1
[INFO] tweaked toml for crates.io crate timeline_rs 0.1.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate crates.io crate timeline_rs 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-12-08" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a1e75098e5d56fe55d3d0bd8e6b87c6f7e29ffcc35e973d0341d4e2ba75f7a5d
[INFO] running `Command { std: "docker" "start" "-a" "a1e75098e5d56fe55d3d0bd8e6b87c6f7e29ffcc35e973d0341d4e2ba75f7a5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a1e75098e5d56fe55d3d0bd8e6b87c6f7e29ffcc35e973d0341d4e2ba75f7a5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1e75098e5d56fe55d3d0bd8e6b87c6f7e29ffcc35e973d0341d4e2ba75f7a5d", kill_on_drop: false }`
[INFO] [stdout] a1e75098e5d56fe55d3d0bd8e6b87c6f7e29ffcc35e973d0341d4e2ba75f7a5d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5bbb2736434352da1ef0d559d3277d9c00b9fe3c0a5552539260ae78c6ed3057
[INFO] running `Command { std: "docker" "start" "-a" "5bbb2736434352da1ef0d559d3277d9c00b9fe3c0a5552539260ae78c6ed3057", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.80
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]    Compiling anyhow v1.0.82
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling quick-xml v0.17.2
[INFO] [stderr]    Compiling minidom v0.12.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.58
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling regex v1.10.4
[INFO] [stderr]    Compiling quickxml_to_serde v0.6.0
[INFO] [stderr]    Compiling timeline_rs v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TimelineTrackImpl`
[INFO] [stdout]  --> src/loader.rs:8:51
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{xml_to_json, Timeline, TimelineTrack, TimelineTrackImpl, Track, TrackVariant};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/lib.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |         time: f32, start_value: bool, next_value: bool,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_value`
[INFO] [stdout]    --> src/lib.rs:330:39
[INFO] [stdout]     |
[INFO] [stdout] 330 |         time: f32, start_value: bool, next_value: bool,
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/lib.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `easing_function`
[INFO] [stdout]    --> src/lib.rs:331:24
[INFO] [stdout]     |
[INFO] [stdout] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_easing_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `easing_type`
[INFO] [stdout]    --> src/lib.rs:331:57
[INFO] [stdout]     |
[INFO] [stdout] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stdout]     |                                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_easing_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineXMLLoader::load_xml`
[INFO] [stdout]    --> src/loader.rs:12:5
[INFO] [stdout]     |
[INFO] [stdout] 12  | /     fn load_xml<T>(&mut self, track_name: &str, xml_path: &str) -> Result<()>
[INFO] [stdout] 13  | |     where
[INFO] [stdout] 14  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 15  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `TimelineXMLLoader::load_xml` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineXMLLoader::load_xml_str`
[INFO] [stdout]    --> src/loader.rs:16:5
[INFO] [stdout]     |
[INFO] [stdout] 16  | /     fn load_xml_str<T>(&mut self, track_name: &str, xml: &str) -> Result<()>
[INFO] [stdout] 17  | |     where
[INFO] [stdout] 18  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 19  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `TimelineXMLLoader::load_xml_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineJsonLoader::load_json`
[INFO] [stdout]    --> src/loader.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout] 22  | /     fn load_json<T>(&mut self, track_name: &str, json_path: &str) -> Result<()>
[INFO] [stdout] 23  | |     where
[INFO] [stdout] 24  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 25  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `TimelineJsonLoader::load_json` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineJsonLoader::load_json_str`
[INFO] [stdout]    --> src/loader.rs:26:5
[INFO] [stdout]     |
[INFO] [stdout] 26  | /     fn load_json_str<T>(&mut self, track_name: &str, json: &str) -> Result<()>
[INFO] [stdout] 27  | |     where
[INFO] [stdout] 28  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 29  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `TimelineJsonLoader::load_json_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `XMLTrackLoader`
[INFO] [stdout]    --> src/loader.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | pub trait XMLTrackLoader<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `XMLTrackLoader` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `JsonTrackLoader`
[INFO] [stdout]    --> src/loader.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | pub trait JsonTrackLoader<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `JsonTrackLoader` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineXMLLoader>::load_xml`
[INFO] [stdout]    --> src/loader.rs:52:5
[INFO] [stdout]     |
[INFO] [stdout] 52  | /     fn load_xml<T>(&mut self, track_name: &str, xml_path: &str) -> Result<()>
[INFO] [stdout] 53  | |     where
[INFO] [stdout] 54  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 55  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as TimelineXMLLoader>::load_xml` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineXMLLoader>::load_xml_str`
[INFO] [stdout]    --> src/loader.rs:61:5
[INFO] [stdout]     |
[INFO] [stdout] 61  | /     fn load_xml_str<T>(&mut self, track_name: &str, xml: &str) -> Result<()>
[INFO] [stdout] 62  | |     where
[INFO] [stdout] 63  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 64  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as TimelineXMLLoader>::load_xml_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineJsonLoader>::load_json`
[INFO] [stdout]    --> src/loader.rs:72:5
[INFO] [stdout]     |
[INFO] [stdout] 72  | /     fn load_json<T>(&mut self, track_name: &str, json_path: &str) -> Result<()>
[INFO] [stdout] 73  | |     where
[INFO] [stdout] 74  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 75  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as TimelineJsonLoader>::load_json` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineJsonLoader>::load_json_str`
[INFO] [stdout]    --> src/loader.rs:82:5
[INFO] [stdout]     |
[INFO] [stdout] 82  | /     fn load_json_str<T>(&mut self, track_name: &str, json: &str) -> Result<()>
[INFO] [stdout] 83  | |     where
[INFO] [stdout] 84  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 85  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as TimelineJsonLoader>::load_json_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InteroperableValue<T>` is more private than the item `get_easing_value`
[INFO] [stdout]    --> src/lib.rs:393:1
[INFO] [stdout]     |
[INFO] [stdout] 393 | / pub fn get_easing_value<T>(
[INFO] [stdout] 394 | |     time: f32, start_value: T, next_value: T,
[INFO] [stdout] 395 | |     duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> T
[INFO] [stdout] 396 | | where T: InteroperableValue<T>
[INFO] [stdout]     | |______________________________^ function `get_easing_value` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `InteroperableValue<T>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | trait InteroperableValue<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `xml_string_to_json` is never used
[INFO] [stdout]   --> src/xml_to_json.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn xml_string_to_json(xml: String) -> Result<serde_json::Value, minidom::error::Error> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.05s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.17.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "5bbb2736434352da1ef0d559d3277d9c00b9fe3c0a5552539260ae78c6ed3057", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5bbb2736434352da1ef0d559d3277d9c00b9fe3c0a5552539260ae78c6ed3057", kill_on_drop: false }`
[INFO] [stdout] 5bbb2736434352da1ef0d559d3277d9c00b9fe3c0a5552539260ae78c6ed3057
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a65f0d728c6a974f82325d228ea81a905fa6b4adcc2bbfca39393092b749556f
[INFO] running `Command { std: "docker" "start" "-a" "a65f0d728c6a974f82325d228ea81a905fa6b4adcc2bbfca39393092b749556f", kill_on_drop: false }`
[INFO] [stderr]    Compiling utf8parse v0.2.1
[INFO] [stderr]    Compiling anstyle-query v1.0.2
[INFO] [stderr]    Compiling anstyle v1.0.6
[INFO] [stderr]    Compiling colorchoice v1.0.0
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling assert_float_eq v1.1.3
[INFO] [stdout] warning: unused import: `TimelineTrackImpl`
[INFO] [stdout]  --> src/loader.rs:8:51
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{xml_to_json, Timeline, TimelineTrack, TimelineTrackImpl, Track, TrackVariant};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/lib.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |         time: f32, start_value: bool, next_value: bool,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_value`
[INFO] [stdout]    --> src/lib.rs:330:39
[INFO] [stdout]     |
[INFO] [stdout] 330 |         time: f32, start_value: bool, next_value: bool,
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/lib.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `easing_function`
[INFO] [stdout]    --> src/lib.rs:331:24
[INFO] [stdout]     |
[INFO] [stdout] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_easing_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `easing_type`
[INFO] [stdout]    --> src/lib.rs:331:57
[INFO] [stdout]     |
[INFO] [stdout] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stdout]     |                                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_easing_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineXMLLoader::load_xml`
[INFO] [stdout]    --> src/loader.rs:12:5
[INFO] [stdout]     |
[INFO] [stdout] 12  | /     fn load_xml<T>(&mut self, track_name: &str, xml_path: &str) -> Result<()>
[INFO] [stdout] 13  | |     where
[INFO] [stdout] 14  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 15  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `TimelineXMLLoader::load_xml` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineXMLLoader::load_xml_str`
[INFO] [stdout]    --> src/loader.rs:16:5
[INFO] [stdout]     |
[INFO] [stdout] 16  | /     fn load_xml_str<T>(&mut self, track_name: &str, xml: &str) -> Result<()>
[INFO] [stdout] 17  | |     where
[INFO] [stdout] 18  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 19  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `TimelineXMLLoader::load_xml_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineJsonLoader::load_json`
[INFO] [stdout]    --> src/loader.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout] 22  | /     fn load_json<T>(&mut self, track_name: &str, json_path: &str) -> Result<()>
[INFO] [stdout] 23  | |     where
[INFO] [stdout] 24  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 25  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `TimelineJsonLoader::load_json` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineJsonLoader::load_json_str`
[INFO] [stdout]    --> src/loader.rs:26:5
[INFO] [stdout]     |
[INFO] [stdout] 26  | /     fn load_json_str<T>(&mut self, track_name: &str, json: &str) -> Result<()>
[INFO] [stdout] 27  | |     where
[INFO] [stdout] 28  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 29  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `TimelineJsonLoader::load_json_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `XMLTrackLoader`
[INFO] [stdout]    --> src/loader.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | pub trait XMLTrackLoader<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `XMLTrackLoader` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `JsonTrackLoader`
[INFO] [stdout]    --> src/loader.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | pub trait JsonTrackLoader<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `JsonTrackLoader` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineXMLLoader>::load_xml`
[INFO] [stdout]    --> src/loader.rs:52:5
[INFO] [stdout]     |
[INFO] [stdout] 52  | /     fn load_xml<T>(&mut self, track_name: &str, xml_path: &str) -> Result<()>
[INFO] [stdout] 53  | |     where
[INFO] [stdout] 54  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 55  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as TimelineXMLLoader>::load_xml` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineXMLLoader>::load_xml_str`
[INFO] [stdout]    --> src/loader.rs:61:5
[INFO] [stdout]     |
[INFO] [stdout] 61  | /     fn load_xml_str<T>(&mut self, track_name: &str, xml: &str) -> Result<()>
[INFO] [stdout] 62  | |     where
[INFO] [stdout] 63  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 64  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as TimelineXMLLoader>::load_xml_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineJsonLoader>::load_json`
[INFO] [stdout]    --> src/loader.rs:72:5
[INFO] [stdout]     |
[INFO] [stdout] 72  | /     fn load_json<T>(&mut self, track_name: &str, json_path: &str) -> Result<()>
[INFO] [stdout] 73  | |     where
[INFO] [stdout] 74  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 75  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as TimelineJsonLoader>::load_json` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineJsonLoader>::load_json_str`
[INFO] [stdout]    --> src/loader.rs:82:5
[INFO] [stdout]     |
[INFO] [stdout] 82  | /     fn load_json_str<T>(&mut self, track_name: &str, json: &str) -> Result<()>
[INFO] [stdout] 83  | |     where
[INFO] [stdout] 84  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 85  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as TimelineJsonLoader>::load_json_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InteroperableValue<T>` is more private than the item `get_easing_value`
[INFO] [stdout]    --> src/lib.rs:393:1
[INFO] [stdout]     |
[INFO] [stdout] 393 | / pub fn get_easing_value<T>(
[INFO] [stdout] 394 | |     time: f32, start_value: T, next_value: T,
[INFO] [stdout] 395 | |     duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> T
[INFO] [stdout] 396 | | where T: InteroperableValue<T>
[INFO] [stdout]     | |______________________________^ function `get_easing_value` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `InteroperableValue<T>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | trait InteroperableValue<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `xml_string_to_json` is never used
[INFO] [stdout]   --> src/xml_to_json.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn xml_string_to_json(xml: String) -> Result<serde_json::Value, minidom::error::Error> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling anstyle-parse v0.2.3
[INFO] [stderr]    Compiling anstream v0.6.13
[INFO] [stderr]    Compiling env_filter v0.1.0
[INFO] [stderr]    Compiling env_logger v0.11.3
[INFO] [stderr]    Compiling timeline_rs v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TimelineTrackImpl`
[INFO] [stdout]  --> src/loader.rs:8:51
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{xml_to_json, Timeline, TimelineTrack, TimelineTrackImpl, Track, TrackVariant};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/lib.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |         time: f32, start_value: bool, next_value: bool,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_value`
[INFO] [stdout]    --> src/lib.rs:330:39
[INFO] [stdout]     |
[INFO] [stdout] 330 |         time: f32, start_value: bool, next_value: bool,
[INFO] [stdout]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]    --> src/lib.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `easing_function`
[INFO] [stdout]    --> src/lib.rs:331:24
[INFO] [stdout]     |
[INFO] [stdout] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_easing_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `easing_type`
[INFO] [stdout]    --> src/lib.rs:331:57
[INFO] [stdout]     |
[INFO] [stdout] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stdout]     |                                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_easing_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `loader::TimelineXMLLoader::load_xml`
[INFO] [stdout]    --> src/loader.rs:12:5
[INFO] [stdout]     |
[INFO] [stdout] 12  | /     fn load_xml<T>(&mut self, track_name: &str, xml_path: &str) -> Result<()>
[INFO] [stdout] 13  | |     where
[INFO] [stdout] 14  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 15  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `loader::TimelineXMLLoader::load_xml` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `loader::TimelineXMLLoader::load_xml_str`
[INFO] [stdout]    --> src/loader.rs:16:5
[INFO] [stdout]     |
[INFO] [stdout] 16  | /     fn load_xml_str<T>(&mut self, track_name: &str, xml: &str) -> Result<()>
[INFO] [stdout] 17  | |     where
[INFO] [stdout] 18  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 19  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `loader::TimelineXMLLoader::load_xml_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineJsonLoader::load_json`
[INFO] [stdout]    --> src/loader.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout] 22  | /     fn load_json<T>(&mut self, track_name: &str, json_path: &str) -> Result<()>
[INFO] [stdout] 23  | |     where
[INFO] [stdout] 24  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 25  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `TimelineJsonLoader::load_json` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineJsonLoader::load_json_str`
[INFO] [stdout]    --> src/loader.rs:26:5
[INFO] [stdout]     |
[INFO] [stdout] 26  | /     fn load_json_str<T>(&mut self, track_name: &str, json: &str) -> Result<()>
[INFO] [stdout] 27  | |     where
[INFO] [stdout] 28  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 29  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stdout]     | |__________________________________________________________^ method `TimelineJsonLoader::load_json_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `loader::XMLTrackLoader`
[INFO] [stdout]    --> src/loader.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | pub trait XMLTrackLoader<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `loader::XMLTrackLoader` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `JsonTrackLoader`
[INFO] [stdout]    --> src/loader.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | pub trait JsonTrackLoader<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `JsonTrackLoader` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as loader::TimelineXMLLoader>::load_xml`
[INFO] [stdout]    --> src/loader.rs:52:5
[INFO] [stdout]     |
[INFO] [stdout] 52  | /     fn load_xml<T>(&mut self, track_name: &str, xml_path: &str) -> Result<()>
[INFO] [stdout] 53  | |     where
[INFO] [stdout] 54  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 55  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as loader::TimelineXMLLoader>::load_xml` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as loader::TimelineXMLLoader>::load_xml_str`
[INFO] [stdout]    --> src/loader.rs:61:5
[INFO] [stdout]     |
[INFO] [stdout] 61  | /     fn load_xml_str<T>(&mut self, track_name: &str, xml: &str) -> Result<()>
[INFO] [stdout] 62  | |     where
[INFO] [stdout] 63  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 64  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as loader::TimelineXMLLoader>::load_xml_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineJsonLoader>::load_json`
[INFO] [stdout]    --> src/loader.rs:72:5
[INFO] [stdout]     |
[INFO] [stdout] 72  | /     fn load_json<T>(&mut self, track_name: &str, json_path: &str) -> Result<()>
[INFO] [stdout] 73  | |     where
[INFO] [stdout] 74  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 75  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as TimelineJsonLoader>::load_json` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineJsonLoader>::load_json_str`
[INFO] [stdout]    --> src/loader.rs:82:5
[INFO] [stdout]     |
[INFO] [stdout] 82  | /     fn load_json_str<T>(&mut self, track_name: &str, json: &str) -> Result<()>
[INFO] [stdout] 83  | |     where
[INFO] [stdout] 84  | |         TrackVariant: From<Track<T>>,
[INFO] [stdout] 85  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stdout]     | |_________________________________________________________^ method `<Timeline as TimelineJsonLoader>::load_json_str` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/loader.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | trait JsonLoaderWrapper<T>
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `InteroperableValue<T>` is more private than the item `get_easing_value`
[INFO] [stdout]    --> src/lib.rs:393:1
[INFO] [stdout]     |
[INFO] [stdout] 393 | / pub fn get_easing_value<T>(
[INFO] [stdout] 394 | |     time: f32, start_value: T, next_value: T,
[INFO] [stdout] 395 | |     duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> T
[INFO] [stdout] 396 | | where T: InteroperableValue<T>
[INFO] [stdout]     | |______________________________^ function `get_easing_value` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but trait `InteroperableValue<T>` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/lib.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | trait InteroperableValue<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `xml_string_to_json` is never used
[INFO] [stdout]   --> src/xml_to_json.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn xml_string_to_json(xml: String) -> Result<serde_json::Value, minidom::error::Error> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `precision` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:605:15
[INFO] [stdout]     |
[INFO] [stdout] 605 |         const precision: f32 = 0.001;
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `precision` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:633:15
[INFO] [stdout]     |
[INFO] [stdout] 633 |         const precision: f32 = 0.001;
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `start` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:634:15
[INFO] [stdout]     |
[INFO] [stdout] 634 |         const start: f32 = 10.0;
[INFO] [stdout]     |               ^^^^^ help: convert the identifier to upper case: `START`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `width` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:635:15
[INFO] [stdout]     |
[INFO] [stdout] 635 |         const width: f32 = 70.0;
[INFO] [stdout]     |               ^^^^^ help: convert the identifier to upper case: `WIDTH`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `offset` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:636:15
[INFO] [stdout]     |
[INFO] [stdout] 636 |         const offset: f32 = 100.0;
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to upper case: `OFFSET`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `precision` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:668:15
[INFO] [stdout]     |
[INFO] [stdout] 668 |         const precision: f32 = 0.001;
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `start` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:669:15
[INFO] [stdout]     |
[INFO] [stdout] 669 |         const start: f32 = 10.0;
[INFO] [stdout]     |               ^^^^^ help: convert the identifier to upper case: `START`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `width` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:670:15
[INFO] [stdout]     |
[INFO] [stdout] 670 |         const width: f32 = 70.0;
[INFO] [stdout]     |               ^^^^^ help: convert the identifier to upper case: `WIDTH`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `offset` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:671:15
[INFO] [stdout]     |
[INFO] [stdout] 671 |         const offset: f32 = 100.0;
[INFO] [stdout]     |               ^^^^^^ help: convert the identifier to upper case: `OFFSET`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `precision` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:703:15
[INFO] [stdout]     |
[INFO] [stdout] 703 |         const precision: f32 = 0.001;
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `start` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:704:15
[INFO] [stdout]     |
[INFO] [stdout] 704 |         const start: f32 = 0.0;
[INFO] [stdout]     |               ^^^^^ help: convert the identifier to upper case: `START`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `width` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:705:15
[INFO] [stdout]     |
[INFO] [stdout] 705 |         const width: f32 = 70.0;
[INFO] [stdout]     |               ^^^^^ help: convert the identifier to upper case: `WIDTH`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `scale` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:706:15
[INFO] [stdout]     |
[INFO] [stdout] 706 |         const scale: f32 = 2.0;
[INFO] [stdout]     |               ^^^^^ help: convert the identifier to upper case: `SCALE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `precision` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:738:15
[INFO] [stdout]     |
[INFO] [stdout] 738 |         const precision: f32 = 0.001;
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `start` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:739:15
[INFO] [stdout]     |
[INFO] [stdout] 739 |         const start: f32 = 0.0;
[INFO] [stdout]     |               ^^^^^ help: convert the identifier to upper case: `START`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `width` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:740:15
[INFO] [stdout]     |
[INFO] [stdout] 740 |         const width: f32 = 70.0;
[INFO] [stdout]     |               ^^^^^ help: convert the identifier to upper case: `WIDTH`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `scale` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:741:15
[INFO] [stdout]     |
[INFO] [stdout] 741 |         const scale: f32 = 2.0;
[INFO] [stdout]     |               ^^^^^ help: convert the identifier to upper case: `SCALE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `precision` should have an upper case name
[INFO] [stdout]    --> src/easing.rs:774:15
[INFO] [stdout]     |
[INFO] [stdout] 774 |         const precision: f32 = 0.001;
[INFO] [stdout]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.99s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.17.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "a65f0d728c6a974f82325d228ea81a905fa6b4adcc2bbfca39393092b749556f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a65f0d728c6a974f82325d228ea81a905fa6b4adcc2bbfca39393092b749556f", kill_on_drop: false }`
[INFO] [stdout] a65f0d728c6a974f82325d228ea81a905fa6b4adcc2bbfca39393092b749556f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e1e789f2a75101dad53e166956e69a499b75ec50293be02f836c25d773a60408
[INFO] running `Command { std: "docker" "start" "-a" "e1e789f2a75101dad53e166956e69a499b75ec50293be02f836c25d773a60408", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `TimelineTrackImpl`
[INFO] [stderr]  --> src/loader.rs:8:51
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::{xml_to_json, Timeline, TimelineTrack, TimelineTrackImpl, Track, TrackVariant};
[INFO] [stderr]   |                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::any::Any`
[INFO] [stderr]   --> src/lib.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use std::any::Any;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time`
[INFO] [stderr]    --> src/lib.rs:330:9
[INFO] [stderr]     |
[INFO] [stderr] 330 |         time: f32, start_value: bool, next_value: bool,
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `next_value`
[INFO] [stderr]    --> src/lib.rs:330:39
[INFO] [stderr]     |
[INFO] [stderr] 330 |         time: f32, start_value: bool, next_value: bool,
[INFO] [stderr]     |                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `duration`
[INFO] [stderr]    --> src/lib.rs:331:9
[INFO] [stderr]     |
[INFO] [stderr] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `easing_function`
[INFO] [stderr]    --> src/lib.rs:331:24
[INFO] [stderr]     |
[INFO] [stderr] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_easing_function`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `easing_type`
[INFO] [stderr]    --> src/lib.rs:331:57
[INFO] [stderr]     |
[INFO] [stderr] 331 |         duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> bool
[INFO] [stderr]     |                                                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_easing_type`
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineXMLLoader::load_xml`
[INFO] [stderr]    --> src/loader.rs:12:5
[INFO] [stderr]     |
[INFO] [stderr] 12  | /     fn load_xml<T>(&mut self, track_name: &str, xml_path: &str) -> Result<()>
[INFO] [stderr] 13  | |     where
[INFO] [stderr] 14  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 15  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stderr]     | |__________________________________________________________^ method `TimelineXMLLoader::load_xml` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineXMLLoader::load_xml_str`
[INFO] [stderr]    --> src/loader.rs:16:5
[INFO] [stderr]     |
[INFO] [stderr] 16  | /     fn load_xml_str<T>(&mut self, track_name: &str, xml: &str) -> Result<()>
[INFO] [stderr] 17  | |     where
[INFO] [stderr] 18  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 19  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stderr]     | |__________________________________________________________^ method `TimelineXMLLoader::load_xml_str` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineJsonLoader::load_json`
[INFO] [stderr]    --> src/loader.rs:22:5
[INFO] [stderr]     |
[INFO] [stderr] 22  | /     fn load_json<T>(&mut self, track_name: &str, json_path: &str) -> Result<()>
[INFO] [stderr] 23  | |     where
[INFO] [stderr] 24  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 25  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stderr]     | |__________________________________________________________^ method `TimelineJsonLoader::load_json` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `TimelineJsonLoader::load_json_str`
[INFO] [stderr]    --> src/loader.rs:26:5
[INFO] [stderr]     |
[INFO] [stderr] 26  | /     fn load_json_str<T>(&mut self, track_name: &str, json: &str) -> Result<()>
[INFO] [stderr] 27  | |     where
[INFO] [stderr] 28  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 29  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stderr]     | |__________________________________________________________^ method `TimelineJsonLoader::load_json_str` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `XMLTrackLoader`
[INFO] [stderr]    --> src/loader.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | pub trait XMLTrackLoader<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `XMLTrackLoader` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `JsonTrackLoader`
[INFO] [stderr]    --> src/loader.rs:41:1
[INFO] [stderr]     |
[INFO] [stderr] 41  | pub trait JsonTrackLoader<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `JsonTrackLoader` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineXMLLoader>::load_xml`
[INFO] [stderr]    --> src/loader.rs:52:5
[INFO] [stderr]     |
[INFO] [stderr] 52  | /     fn load_xml<T>(&mut self, track_name: &str, xml_path: &str) -> Result<()>
[INFO] [stderr] 53  | |     where
[INFO] [stderr] 54  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 55  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stderr]     | |_________________________________________________________^ method `<Timeline as TimelineXMLLoader>::load_xml` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineXMLLoader>::load_xml_str`
[INFO] [stderr]    --> src/loader.rs:61:5
[INFO] [stderr]     |
[INFO] [stderr] 61  | /     fn load_xml_str<T>(&mut self, track_name: &str, xml: &str) -> Result<()>
[INFO] [stderr] 62  | |     where
[INFO] [stderr] 63  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 64  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stderr]     | |_________________________________________________________^ method `<Timeline as TimelineXMLLoader>::load_xml_str` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineJsonLoader>::load_json`
[INFO] [stderr]    --> src/loader.rs:72:5
[INFO] [stderr]     |
[INFO] [stderr] 72  | /     fn load_json<T>(&mut self, track_name: &str, json_path: &str) -> Result<()>
[INFO] [stderr] 73  | |     where
[INFO] [stderr] 74  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 75  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stderr]     | |_________________________________________________________^ method `<Timeline as TimelineJsonLoader>::load_json` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as TimelineJsonLoader>::load_json_str`
[INFO] [stderr]    --> src/loader.rs:82:5
[INFO] [stderr]     |
[INFO] [stderr] 82  | /     fn load_json_str<T>(&mut self, track_name: &str, json: &str) -> Result<()>
[INFO] [stderr] 83  | |     where
[INFO] [stderr] 84  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 85  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stderr]     | |_________________________________________________________^ method `<Timeline as TimelineJsonLoader>::load_json_str` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `InteroperableValue<T>` is more private than the item `get_easing_value`
[INFO] [stderr]    --> src/lib.rs:393:1
[INFO] [stderr]     |
[INFO] [stderr] 393 | / pub fn get_easing_value<T>(
[INFO] [stderr] 394 | |     time: f32, start_value: T, next_value: T,
[INFO] [stderr] 395 | |     duration: f32, easing_function: EasingFunction, easing_type: EasingType) -> T
[INFO] [stderr] 396 | | where T: InteroperableValue<T>
[INFO] [stderr]     | |______________________________^ function `get_easing_value` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `InteroperableValue<T>` is only usable at visibility `pub(crate)`
[INFO] [stderr]    --> src/lib.rs:263:1
[INFO] [stderr]     |
[INFO] [stderr] 263 | trait InteroperableValue<T> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `xml_string_to_json` is never used
[INFO] [stderr]   --> src/xml_to_json.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn xml_string_to_json(xml: String) -> Result<serde_json::Value, minidom::error::Error> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `loader::TimelineXMLLoader::load_xml`
[INFO] [stderr]    --> src/loader.rs:12:5
[INFO] [stderr]     |
[INFO] [stderr] 12  | /     fn load_xml<T>(&mut self, track_name: &str, xml_path: &str) -> Result<()>
[INFO] [stderr] 13  | |     where
[INFO] [stderr] 14  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 15  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stderr]     | |__________________________________________________________^ method `loader::TimelineXMLLoader::load_xml` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_bounds)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `loader::TimelineXMLLoader::load_xml_str`
[INFO] [stderr]    --> src/loader.rs:16:5
[INFO] [stderr]     |
[INFO] [stderr] 16  | /     fn load_xml_str<T>(&mut self, track_name: &str, xml: &str) -> Result<()>
[INFO] [stderr] 17  | |     where
[INFO] [stderr] 18  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 19  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>;
[INFO] [stderr]     | |__________________________________________________________^ method `loader::TimelineXMLLoader::load_xml_str` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `loader::XMLTrackLoader`
[INFO] [stderr]    --> src/loader.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | pub trait XMLTrackLoader<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait `loader::XMLTrackLoader` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as loader::TimelineXMLLoader>::load_xml`
[INFO] [stderr]    --> src/loader.rs:52:5
[INFO] [stderr]     |
[INFO] [stderr] 52  | /     fn load_xml<T>(&mut self, track_name: &str, xml_path: &str) -> Result<()>
[INFO] [stderr] 53  | |     where
[INFO] [stderr] 54  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 55  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stderr]     | |_________________________________________________________^ method `<Timeline as loader::TimelineXMLLoader>::load_xml` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `JsonLoaderWrapper<T>` is more private than the item `<Timeline as loader::TimelineXMLLoader>::load_xml_str`
[INFO] [stderr]    --> src/loader.rs:61:5
[INFO] [stderr]     |
[INFO] [stderr] 61  | /     fn load_xml_str<T>(&mut self, track_name: &str, xml: &str) -> Result<()>
[INFO] [stderr] 62  | |     where
[INFO] [stderr] 63  | |         TrackVariant: From<Track<T>>,
[INFO] [stderr] 64  | |         T: Copy + DeserializeOwned + JsonLoaderWrapper<T>
[INFO] [stderr]     | |_________________________________________________________^ method `<Timeline as loader::TimelineXMLLoader>::load_xml_str` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but trait `JsonLoaderWrapper<T>` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/loader.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | trait JsonLoaderWrapper<T>
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `precision` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:605:15
[INFO] [stderr]     |
[INFO] [stderr] 605 |         const precision: f32 = 0.001;
[INFO] [stderr]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `precision` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:633:15
[INFO] [stderr]     |
[INFO] [stderr] 633 |         const precision: f32 = 0.001;
[INFO] [stderr]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `start` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:634:15
[INFO] [stderr]     |
[INFO] [stderr] 634 |         const start: f32 = 10.0;
[INFO] [stderr]     |               ^^^^^ help: convert the identifier to upper case: `START`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `width` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:635:15
[INFO] [stderr]     |
[INFO] [stderr] 635 |         const width: f32 = 70.0;
[INFO] [stderr]     |               ^^^^^ help: convert the identifier to upper case: `WIDTH`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `offset` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:636:15
[INFO] [stderr]     |
[INFO] [stderr] 636 |         const offset: f32 = 100.0;
[INFO] [stderr]     |               ^^^^^^ help: convert the identifier to upper case: `OFFSET`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `precision` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:668:15
[INFO] [stderr]     |
[INFO] [stderr] 668 |         const precision: f32 = 0.001;
[INFO] [stderr]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `start` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:669:15
[INFO] [stderr]     |
[INFO] [stderr] 669 |         const start: f32 = 10.0;
[INFO] [stderr]     |               ^^^^^ help: convert the identifier to upper case: `START`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `width` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:670:15
[INFO] [stderr]     |
[INFO] [stderr] 670 |         const width: f32 = 70.0;
[INFO] [stderr]     |               ^^^^^ help: convert the identifier to upper case: `WIDTH`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `offset` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:671:15
[INFO] [stderr]     |
[INFO] [stderr] 671 |         const offset: f32 = 100.0;
[INFO] [stderr]     |               ^^^^^^ help: convert the identifier to upper case: `OFFSET`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `precision` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:703:15
[INFO] [stderr]     |
[INFO] [stderr] 703 |         const precision: f32 = 0.001;
[INFO] [stderr]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `start` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:704:15
[INFO] [stderr]     |
[INFO] [stderr] 704 |         const start: f32 = 0.0;
[INFO] [stderr]     |               ^^^^^ help: convert the identifier to upper case: `START`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `width` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:705:15
[INFO] [stderr]     |
[INFO] [stderr] 705 |         const width: f32 = 70.0;
[INFO] [stderr]     |               ^^^^^ help: convert the identifier to upper case: `WIDTH`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `scale` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:706:15
[INFO] [stderr]     |
[INFO] [stderr] 706 |         const scale: f32 = 2.0;
[INFO] [stderr]     |               ^^^^^ help: convert the identifier to upper case: `SCALE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `precision` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:738:15
[INFO] [stderr]     |
[INFO] [stderr] 738 |         const precision: f32 = 0.001;
[INFO] [stderr]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `start` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:739:15
[INFO] [stderr]     |
[INFO] [stderr] 739 |         const start: f32 = 0.0;
[INFO] [stderr]     |               ^^^^^ help: convert the identifier to upper case: `START`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `width` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:740:15
[INFO] [stderr]     |
[INFO] [stderr] 740 |         const width: f32 = 70.0;
[INFO] [stderr]     |               ^^^^^ help: convert the identifier to upper case: `WIDTH`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `scale` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:741:15
[INFO] [stderr]     |
[INFO] [stderr] 741 |         const scale: f32 = 2.0;
[INFO] [stderr]     |               ^^^^^ help: convert the identifier to upper case: `SCALE`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `precision` should have an upper case name
[INFO] [stderr]    --> src/easing.rs:774:15
[INFO] [stderr]     |
[INFO] [stderr] 774 |         const precision: f32 = 0.001;
[INFO] [stderr]     |               ^^^^^^^^^ help: convert the identifier to upper case: `PRECISION`
[INFO] [stderr] 
[INFO] [stderr] warning: `timeline_rs` (lib) generated 19 warnings (run `cargo fix --lib -p timeline_rs` to apply 2 suggestions)
[INFO] [stderr] warning: `timeline_rs` (lib test) generated 37 warnings (14 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.17.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/timeline_rs-01b174e90f25cdf8)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test easing::tests::all_easings_in_offset_works ... ok
[INFO] [stdout] test easing::tests::all_easings_in_out_has_symmetry ... ok
[INFO] [stdout] test easing::tests::all_easings_out_scale_works ... ok
[INFO] [stdout] test easing::tests::easing_circular_test ... ok
[INFO] [stdout] test easing::tests::easing_circ_minus_changing_value_test ... ok
[INFO] [stdout] test easing::tests::easing_in_should_be_zero_at_start ... ok
[INFO] [stdout] test easing::tests::easing_linear_test ... ok
[INFO] [stdout] test easing::tests::easing_linear_minus_changing_value_test ... ok
[INFO] [stdout] test easing::tests::easing_out_should_be_one_at_end ... ok
[INFO] [stdout] test easing::tests::map_clamp_test ... ok
[INFO] [stdout] test easing::tests::map_test ... ok
[INFO] [stdout] test loader::tests::xml_load_test ... ok
[INFO] [stdout] test easing::tests::all_easings_in_scale_works ... ok
[INFO] [stdout] test tests::get_duration_test ... ok
[INFO] [stdout] test tests::get_value_before_zero_test ... ok
[INFO] [stdout] test tests::new_track ... ok
[INFO] [stdout] test tests::new_keyframe ... ok
[INFO] [stdout] test tests::get_value_test ... ok
[INFO] [stdout] test tests::get_value_from_timeline_test ... ok
[INFO] [stdout] test tests::get_value_exceeded_duration_test ... ok
[INFO] [stdout] test tests::new ... ok
[INFO] [stdout] test tests::get_value_easing_sine_test ... ok
[INFO] [stdout] test tests::new_keyframes ... ok
[INFO] [stdout] test tests::new_keyframes_need_sortd ... ok
[INFO] [stdout] test easing::tests::all_easings_out_offset_works ... ok
[INFO] [stdout] test xml_to_json::tests::test_xml_attr_to_json ... ok
[INFO] [stdout] test xml_to_json::tests::test_xml_attr_and_child_to_json ... ok
[INFO] [stdout] test xml_to_json::tests::test_xml_to_json ... ok
[INFO] [stdout] test easing::tests::easing_sine_test ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- easing::tests::easing_sine_test stdout ----
[INFO] [stdout] thread 'easing::tests::easing_sine_test' panicked at src/easing.rs:549:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 70.71068
[INFO] [stdout]  right: 70.710686
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58896d0559ea - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x58896d0559ea - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x58896d0559ea - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x58896d0559ea - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x58896d07d273 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x58896d07d273 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x58896d0529b3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x58896d055832 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x58896d056e6d - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x58896d056c77 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x58896cf897f7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x58896cf897f7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x58896d057518 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x58896d057518 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x58896d0572da - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x58896d055ec9 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x58896d056f6c - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x58896cf1a0c0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x58896cf1a48b - core::panicking::assert_failed_inner::hf2c17e6d30928787
[INFO] [stdout]   19:     0x58896cf2f1d5 - core::panicking::assert_failed::hd383f928dc9b2420
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:373:5
[INFO] [stdout]   20:     0x58896cf25dbc - timeline_rs::easing::tests::easing_sine_test::ha45d0e03106ffd1a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/easing.rs:549:9
[INFO] [stdout]   21:     0x58896cf25967 - timeline_rs::easing::tests::easing_sine_test::{{closure}}::h487caf0a24573fcb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/easing.rs:533:26
[INFO] [stdout]   22:     0x58896cf339d6 - core::ops::function::FnOnce::call_once::h044e8d72ac250115
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x58896cf8e31b - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x58896cf8e31b - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   25:     0x58896cf8dd08 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   26:     0x58896cf8dd08 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x58896cf8dd08 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   28:     0x58896cf8dd08 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   29:     0x58896cf8dd08 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   30:     0x58896cf8dd08 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   31:     0x58896cf8dd08 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   32:     0x58896cf517aa - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   33:     0x58896cf517aa - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   34:     0x58896cf55124 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   35:     0x58896cf55124 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x58896cf55124 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   37:     0x58896cf55124 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   38:     0x58896cf55124 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   39:     0x58896cf55124 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   40:     0x58896cf55124 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x58896d05b45b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   42:     0x58896d05b45b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   43:     0x58896d05b45b - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   44:     0x71c806363ac3 - <unknown>
[INFO] [stdout]   45:     0x71c8063f4a04 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     easing::tests::easing_sine_test
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 28 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e1e789f2a75101dad53e166956e69a499b75ec50293be02f836c25d773a60408", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1e789f2a75101dad53e166956e69a499b75ec50293be02f836c25d773a60408", kill_on_drop: false }`
[INFO] [stdout] e1e789f2a75101dad53e166956e69a499b75ec50293be02f836c25d773a60408
