[INFO] cloning repository https://github.com/BonsaiDen/ik-prototype
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BonsaiDen/ik-prototype" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBonsaiDen%2Fik-prototype", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBonsaiDen%2Fik-prototype'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a29734dea490e963b844b474b312139955611c7e
[INFO] testing BonsaiDen/ik-prototype against beta-2020-10-09 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBonsaiDen%2Fik-prototype" "/workspace/builds/worker-12/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/BonsaiDen/ik-prototype on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/BonsaiDen/ik-prototype
[INFO] finished tweaking git repo https://github.com/BonsaiDen/ik-prototype
[INFO] tweaked toml for git repo https://github.com/BonsaiDen/ik-prototype written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] crate git repo https://github.com/BonsaiDen/ik-prototype already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded kernel32-sys v0.1.4
[INFO] [stderr]   Downloaded line_drawing v0.6.0
[INFO] [stderr]   Downloaded downcast-rs v1.0.0
[INFO] [stderr]   Downloaded minifb v0.10.3
[INFO] [stderr]   Downloaded orbclient v0.3.12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 30f502ab0077d48c20a24cc812d7841157f984e88598ed793dc528643b66e44e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "30f502ab0077d48c20a24cc812d7841157f984e88598ed793dc528643b66e44e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30f502ab0077d48c20a24cc812d7841157f984e88598ed793dc528643b66e44e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30f502ab0077d48c20a24cc812d7841157f984e88598ed793dc528643b66e44e", kill_on_drop: false }`
[INFO] [stdout] 30f502ab0077d48c20a24cc812d7841157f984e88598ed793dc528643b66e44e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a0f182d560718dd45c158ee33898f3403dca2b98a5858e32cfff9fc89fc7e968
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a0f182d560718dd45c158ee33898f3403dca2b98a5858e32cfff9fc89fc7e968", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling downcast-rs v1.0.0
[INFO] [stderr]    Compiling x11-dl v2.14.0
[INFO] [stderr]    Compiling minifb v0.10.3
[INFO] [stderr]    Compiling line_drawing v0.6.0
[INFO] [stderr]    Compiling lean v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/particle.rs:266:26
[INFO] [stdout]     |
[INFO] [stdout] 266 |     constraints: Vec<Box<Constraint>>,
[INFO] [stdout]     |                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/particle.rs:378:28
[INFO] [stdout]     |
[INFO] [stdout] 378 |         constraints: &[Box<Constraint>],
[INFO] [stdout]     |                            ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/library/stick_figure.rs:332:44
[INFO] [stdout]     |
[INFO] [stdout] 332 |     accessories: HashMap<&'static str, Box<Accessory<R, C>>>,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/library/stick_figure.rs:401:48
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut a = Box::new(accessory) as Box<Accessory<R, C>>;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/library/stick_figure.rs:406:74
[INFO] [stdout]     |
[INFO] [stdout] 406 |     pub fn remove_accessory(&mut self, name: &'static str) -> Option<Box<Accessory<R, C>>> {
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/library/stick_figure.rs:508:79
[INFO] [stdout]     |
[INFO] [stdout] 508 |         ).min(self.config.leanback_max).max(self.config.leanback_min) * 0.009;;
[INFO] [stdout]     |                                                                               ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/library/stick_figure.rs:542:42
[INFO] [stdout]     |
[INFO] [stdout] 542 |         let compression = Vec2::new(0.0, (self.compression * ((self.compression_timer * self.config.land_speed).min(3.41).sin()).max(0.0)));
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ragdoll.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |     constraints: Vec<Box<Constraint>>,
[INFO] [stdout]    |                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ragdoll.rs:28:60
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new(joints: Vec<Particle>, constraints: Vec<Box<Constraint>>) -> Self {
[INFO] [stdout]    |                                                            ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/skeleton.rs:240:38
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let mut constraints: Vec<Box<Constraint>> = self.bones.iter().filter_map(|bone| {
[INFO] [stdout]     |                                      ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/skeleton.rs:693:42
[INFO] [stdout]     |
[INFO] [stdout] 693 |     fn to_constaint(&self) -> Option<Box<Constraint>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/library/weapon.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |
[INFO] [stdout] 22 | |     static ref WEAPON_RIFLE_RIGID: RigidBodyData = RigidBodyData {
[INFO] [stdout] 23 | |         points: vec![
[INFO] [stdout] ...  |
[INFO] [stdout] 41 | |
[INFO] [stdout] 42 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skeleton.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 let mut bone = &mut self.bones[*i];
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 12.75s
[INFO] running `Command { std: "docker" "inspect" "a0f182d560718dd45c158ee33898f3403dca2b98a5858e32cfff9fc89fc7e968", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a0f182d560718dd45c158ee33898f3403dca2b98a5858e32cfff9fc89fc7e968", kill_on_drop: false }`
[INFO] [stdout] a0f182d560718dd45c158ee33898f3403dca2b98a5858e32cfff9fc89fc7e968
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 113615de5aab46f8817fdeb09dd55d50b7f5c42161dd691110be364b1e5731fa
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "113615de5aab46f8817fdeb09dd55d50b7f5c42161dd691110be364b1e5731fa", kill_on_drop: false }`
[INFO] [stderr]    Compiling lean v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/particle.rs:266:26
[INFO] [stdout]     |
[INFO] [stdout] 266 |     constraints: Vec<Box<Constraint>>,
[INFO] [stdout]     |                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/particle.rs:378:28
[INFO] [stdout]     |
[INFO] [stdout] 378 |         constraints: &[Box<Constraint>],
[INFO] [stdout]     |                            ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/library/stick_figure.rs:332:44
[INFO] [stdout]     |
[INFO] [stdout] 332 |     accessories: HashMap<&'static str, Box<Accessory<R, C>>>,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/library/stick_figure.rs:401:48
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut a = Box::new(accessory) as Box<Accessory<R, C>>;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/library/stick_figure.rs:406:74
[INFO] [stdout]     |
[INFO] [stdout] 406 |     pub fn remove_accessory(&mut self, name: &'static str) -> Option<Box<Accessory<R, C>>> {
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/library/stick_figure.rs:508:79
[INFO] [stdout]     |
[INFO] [stdout] 508 |         ).min(self.config.leanback_max).max(self.config.leanback_min) * 0.009;;
[INFO] [stdout]     |                                                                               ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/library/stick_figure.rs:542:42
[INFO] [stdout]     |
[INFO] [stdout] 542 |         let compression = Vec2::new(0.0, (self.compression * ((self.compression_timer * self.config.land_speed).min(3.41).sin()).max(0.0)));
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ragdoll.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |     constraints: Vec<Box<Constraint>>,
[INFO] [stdout]    |                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ragdoll.rs:28:60
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new(joints: Vec<Particle>, constraints: Vec<Box<Constraint>>) -> Self {
[INFO] [stdout]    |                                                            ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/skeleton.rs:240:38
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let mut constraints: Vec<Box<Constraint>> = self.bones.iter().filter_map(|bone| {
[INFO] [stdout]     |                                      ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/skeleton.rs:693:42
[INFO] [stdout]     |
[INFO] [stdout] 693 |     fn to_constaint(&self) -> Option<Box<Constraint>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/library/weapon.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |
[INFO] [stdout] 22 | |     static ref WEAPON_RIFLE_RIGID: RigidBodyData = RigidBodyData {
[INFO] [stdout] 23 | |         points: vec![
[INFO] [stdout] ...  |
[INFO] [stdout] 41 | |
[INFO] [stdout] 42 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skeleton.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 let mut bone = &mut self.bones[*i];
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> examples/foo.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> examples/foo.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | / lazy_static! {
[INFO] [stdout] 155 | |     static ref SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 156 | |         bones: vec![
[INFO] [stdout] 157 | |             (  "Root", ( "Root",  0.0, 0.0, 0.00, 0.98)), // 0
[INFO] [stdout] ...   |
[INFO] [stdout] 174 | |     };
[INFO] [stdout] 175 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/particle.rs:266:26
[INFO] [stdout]     |
[INFO] [stdout] 266 |     constraints: Vec<Box<Constraint>>,
[INFO] [stdout]     |                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/particle.rs:378:28
[INFO] [stdout]     |
[INFO] [stdout] 378 |         constraints: &[Box<Constraint>],
[INFO] [stdout]     |                            ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/library/stick_figure.rs:332:44
[INFO] [stdout]     |
[INFO] [stdout] 332 |     accessories: HashMap<&'static str, Box<Accessory<R, C>>>,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/library/stick_figure.rs:401:48
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let mut a = Box::new(accessory) as Box<Accessory<R, C>>;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/library/stick_figure.rs:406:74
[INFO] [stdout]     |
[INFO] [stdout] 406 |     pub fn remove_accessory(&mut self, name: &'static str) -> Option<Box<Accessory<R, C>>> {
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/library/stick_figure.rs:508:79
[INFO] [stdout]     |
[INFO] [stdout] 508 |         ).min(self.config.leanback_max).max(self.config.leanback_min) * 0.009;;
[INFO] [stdout]     |                                                                               ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/library/stick_figure.rs:542:42
[INFO] [stdout]     |
[INFO] [stdout] 542 |         let compression = Vec2::new(0.0, (self.compression * ((self.compression_timer * self.config.land_speed).min(3.41).sin()).max(0.0)));
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ragdoll.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |     constraints: Vec<Box<Constraint>>,
[INFO] [stdout]    |                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ragdoll.rs:28:60
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new(joints: Vec<Particle>, constraints: Vec<Box<Constraint>>) -> Self {
[INFO] [stdout]    |                                                            ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/skeleton.rs:240:38
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let mut constraints: Vec<Box<Constraint>> = self.bones.iter().filter_map(|bone| {
[INFO] [stdout]     |                                      ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/skeleton.rs:693:42
[INFO] [stdout]     |
[INFO] [stdout] 693 |     fn to_constaint(&self) -> Option<Box<Constraint>> {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/library/weapon.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |
[INFO] [stdout] 22 | |     static ref WEAPON_RIFLE_RIGID: RigidBodyData = RigidBodyData {
[INFO] [stdout] 23 | |         points: vec![
[INFO] [stdout] ...  |
[INFO] [stdout] 41 | |
[INFO] [stdout] 42 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/library/stick_figure.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout] 32  | / lazy_static! {
[INFO] [stdout] 33  | |
[INFO] [stdout] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stdout] 35  | |         bones: vec![
[INFO] [stdout] ...   |
[INFO] [stdout] 254 | |
[INFO] [stdout] 255 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skeleton.rs:397:21
[INFO] [stdout]     |
[INFO] [stdout] 397 |                 let mut bone = &mut self.bones[*i];
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.46s
[INFO] running `Command { std: "docker" "inspect" "113615de5aab46f8817fdeb09dd55d50b7f5c42161dd691110be364b1e5731fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "113615de5aab46f8817fdeb09dd55d50b7f5c42161dd691110be364b1e5731fa", kill_on_drop: false }`
[INFO] [stdout] 113615de5aab46f8817fdeb09dd55d50b7f5c42161dd691110be364b1e5731fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2a012afdda03f2589273356f04d07b07b4b515ee18bbda0d02e4d8ede2a23908
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "2a012afdda03f2589273356f04d07b07b4b515ee18bbda0d02e4d8ede2a23908", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/particle.rs:266:26
[INFO] [stderr]     |
[INFO] [stderr] 266 |     constraints: Vec<Box<Constraint>>,
[INFO] [stderr]     |                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/particle.rs:378:28
[INFO] [stderr]     |
[INFO] [stderr] 378 |         constraints: &[Box<Constraint>],
[INFO] [stderr]     |                            ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/library/stick_figure.rs:332:44
[INFO] [stderr]     |
[INFO] [stderr] 332 |     accessories: HashMap<&'static str, Box<Accessory<R, C>>>,
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/library/stick_figure.rs:401:48
[INFO] [stderr]     |
[INFO] [stderr] 401 |         let mut a = Box::new(accessory) as Box<Accessory<R, C>>;
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/library/stick_figure.rs:406:74
[INFO] [stderr]     |
[INFO] [stderr] 406 |     pub fn remove_accessory(&mut self, name: &'static str) -> Option<Box<Accessory<R, C>>> {
[INFO] [stderr]     |                                                                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/library/stick_figure.rs:508:79
[INFO] [stderr]     |
[INFO] [stderr] 508 |         ).min(self.config.leanback_max).max(self.config.leanback_min) * 0.009;;
[INFO] [stderr]     |                                                                               ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/library/stick_figure.rs:542:42
[INFO] [stderr]     |
[INFO] [stderr] 542 |         let compression = Vec2::new(0.0, (self.compression * ((self.compression_timer * self.config.land_speed).min(3.41).sin()).max(0.0)));
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ragdoll.rs:18:26
[INFO] [stderr]    |
[INFO] [stderr] 18 |     constraints: Vec<Box<Constraint>>,
[INFO] [stderr]    |                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ragdoll.rs:28:60
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn new(joints: Vec<Particle>, constraints: Vec<Box<Constraint>>) -> Self {
[INFO] [stderr]    |                                                            ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/skeleton.rs:240:38
[INFO] [stderr]     |
[INFO] [stderr] 240 |         let mut constraints: Vec<Box<Constraint>> = self.bones.iter().filter_map(|bone| {
[INFO] [stderr]     |                                      ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/skeleton.rs:693:42
[INFO] [stderr]     |
[INFO] [stderr] 693 |     fn to_constaint(&self) -> Option<Box<Constraint>> {
[INFO] [stderr]     |                                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/library/weapon.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | / lazy_static! {
[INFO] [stderr] 21 | |
[INFO] [stderr] 22 | |     static ref WEAPON_RIFLE_RIGID: RigidBodyData = RigidBodyData {
[INFO] [stderr] 23 | |         points: vec![
[INFO] [stderr] ...  |
[INFO] [stderr] 41 | |
[INFO] [stderr] 42 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/library/stick_figure.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | / lazy_static! {
[INFO] [stderr] 33  | |
[INFO] [stderr] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 35  | |         bones: vec![
[INFO] [stderr] ...   |
[INFO] [stderr] 254 | |
[INFO] [stderr] 255 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/library/stick_figure.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | / lazy_static! {
[INFO] [stderr] 33  | |
[INFO] [stderr] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 35  | |         bones: vec![
[INFO] [stderr] ...   |
[INFO] [stderr] 254 | |
[INFO] [stderr] 255 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/library/stick_figure.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | / lazy_static! {
[INFO] [stderr] 33  | |
[INFO] [stderr] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 35  | |         bones: vec![
[INFO] [stderr] ...   |
[INFO] [stderr] 254 | |
[INFO] [stderr] 255 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/library/stick_figure.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | / lazy_static! {
[INFO] [stderr] 33  | |
[INFO] [stderr] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 35  | |         bones: vec![
[INFO] [stderr] ...   |
[INFO] [stderr] 254 | |
[INFO] [stderr] 255 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/library/stick_figure.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | / lazy_static! {
[INFO] [stderr] 33  | |
[INFO] [stderr] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 35  | |         bones: vec![
[INFO] [stderr] ...   |
[INFO] [stderr] 254 | |
[INFO] [stderr] 255 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/skeleton.rs:397:21
[INFO] [stderr]     |
[INFO] [stderr] 397 |                 let mut bone = &mut self.bones[*i];
[INFO] [stderr]     |                     ----^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 18 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/particle.rs:266:26
[INFO] [stderr]     |
[INFO] [stderr] 266 |     constraints: Vec<Box<Constraint>>,
[INFO] [stderr]     |                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/particle.rs:378:28
[INFO] [stderr]     |
[INFO] [stderr] 378 |         constraints: &[Box<Constraint>],
[INFO] [stderr]     |                            ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/library/stick_figure.rs:332:44
[INFO] [stderr]     |
[INFO] [stderr] 332 |     accessories: HashMap<&'static str, Box<Accessory<R, C>>>,
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/library/stick_figure.rs:401:48
[INFO] [stderr]     |
[INFO] [stderr] 401 |         let mut a = Box::new(accessory) as Box<Accessory<R, C>>;
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/library/stick_figure.rs:406:74
[INFO] [stderr]     |
[INFO] [stderr] 406 |     pub fn remove_accessory(&mut self, name: &'static str) -> Option<Box<Accessory<R, C>>> {
[INFO] [stderr]     |                                                                          ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Accessory<R, C>`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/library/stick_figure.rs:508:79
[INFO] [stderr]     |
[INFO] [stderr] 508 |         ).min(self.config.leanback_max).max(self.config.leanback_min) * 0.009;;
[INFO] [stderr]     |                                                                               ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/library/stick_figure.rs:542:42
[INFO] [stderr]     |
[INFO] [stderr] 542 |         let compression = Vec2::new(0.0, (self.compression * ((self.compression_timer * self.config.land_speed).min(3.41).sin()).max(0.0)));
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ragdoll.rs:18:26
[INFO] [stderr]    |
[INFO] [stderr] 18 |     constraints: Vec<Box<Constraint>>,
[INFO] [stderr]    |                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ragdoll.rs:28:60
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn new(joints: Vec<Particle>, constraints: Vec<Box<Constraint>>) -> Self {
[INFO] [stderr]    |                                                            ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/skeleton.rs:240:38
[INFO] [stderr]     |
[INFO] [stderr] 240 |         let mut constraints: Vec<Box<Constraint>> = self.bones.iter().filter_map(|bone| {
[INFO] [stderr]     |                                      ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/skeleton.rs:693:42
[INFO] [stderr]     |
[INFO] [stderr] 693 |     fn to_constaint(&self) -> Option<Box<Constraint>> {
[INFO] [stderr]     |                                          ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/library/weapon.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | / lazy_static! {
[INFO] [stderr] 21 | |
[INFO] [stderr] 22 | |     static ref WEAPON_RIFLE_RIGID: RigidBodyData = RigidBodyData {
[INFO] [stderr] 23 | |         points: vec![
[INFO] [stderr] ...  |
[INFO] [stderr] 41 | |
[INFO] [stderr] 42 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/library/stick_figure.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | / lazy_static! {
[INFO] [stderr] 33  | |
[INFO] [stderr] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 35  | |         bones: vec![
[INFO] [stderr] ...   |
[INFO] [stderr] 254 | |
[INFO] [stderr] 255 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/library/stick_figure.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | / lazy_static! {
[INFO] [stderr] 33  | |
[INFO] [stderr] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 35  | |         bones: vec![
[INFO] [stderr] ...   |
[INFO] [stderr] 254 | |
[INFO] [stderr] 255 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/library/stick_figure.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | / lazy_static! {
[INFO] [stderr] 33  | |
[INFO] [stderr] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 35  | |         bones: vec![
[INFO] [stderr] ...   |
[INFO] [stderr] 254 | |
[INFO] [stderr] 255 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/library/stick_figure.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | / lazy_static! {
[INFO] [stderr] 33  | |
[INFO] [stderr] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 35  | |         bones: vec![
[INFO] [stderr] ...   |
[INFO] [stderr] 254 | |
[INFO] [stderr] 255 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/library/stick_figure.rs:32:1
[INFO] [stderr]     |
[INFO] [stderr] 32  | / lazy_static! {
[INFO] [stderr] 33  | |
[INFO] [stderr] 34  | |     static ref DEFAULT_FIGURE_SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 35  | |         bones: vec![
[INFO] [stderr] ...   |
[INFO] [stderr] 254 | |
[INFO] [stderr] 255 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/skeleton.rs:397:21
[INFO] [stderr]     |
[INFO] [stderr] 397 |                 let mut bone = &mut self.bones[*i];
[INFO] [stderr]     |                     ----^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 18 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> examples/foo.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> examples/foo.rs:154:1
[INFO] [stderr]     |
[INFO] [stderr] 154 | / lazy_static! {
[INFO] [stderr] 155 | |     static ref SKELETON: SkeletalData = SkeletalData {
[INFO] [stderr] 156 | |         bones: vec![
[INFO] [stderr] 157 | |             (  "Root", ( "Root",  0.0, 0.0, 0.00, 0.98)), // 0
[INFO] [stderr] ...   |
[INFO] [stderr] 174 | |     };
[INFO] [stderr] 175 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/lean-03cde0de3f6af11c
[INFO] [stdout] running 0 tests
[INFO] [stderr]    Doc-tests lean
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> /opt/rustwide/workdir/src/library/stick_figure.rs:508:79
[INFO] [stderr]     |
[INFO] [stderr] 508 |         ).min(self.config.leanback_max).max(self.config.leanback_min) * 0.009;;
[INFO] [stderr]     |                                                                               ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> /opt/rustwide/workdir/src/library/stick_figure.rs:542:42
[INFO] [stderr]     |
[INFO] [stderr] 542 |         let compression = Vec2::new(0.0, (self.compression * ((self.compression_timer * self.config.land_speed).min(3.41).sin()).max(0.0)));
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2a012afdda03f2589273356f04d07b07b4b515ee18bbda0d02e4d8ede2a23908", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a012afdda03f2589273356f04d07b07b4b515ee18bbda0d02e4d8ede2a23908", kill_on_drop: false }`
[INFO] [stdout] 2a012afdda03f2589273356f04d07b07b4b515ee18bbda0d02e4d8ede2a23908
