[INFO] fetching crate mutils 4.1.0...
[INFO] testing mutils-4.1.0 against 1.54.0 for beta-1.55-1
[INFO] extracting crate mutils 4.1.0 into /workspace/builds/worker-7/source
[INFO] validating manifest of crates.io crate mutils 4.1.0 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate mutils 4.1.0
[INFO] finished tweaking crates.io crate mutils 4.1.0
[INFO] tweaked toml for crates.io crate mutils 4.1.0 written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 57017117ecdb4b109550e930510a9cb76961d8eb32ac06f5d05330056eb64c50
[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" "57017117ecdb4b109550e930510a9cb76961d8eb32ac06f5d05330056eb64c50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "57017117ecdb4b109550e930510a9cb76961d8eb32ac06f5d05330056eb64c50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57017117ecdb4b109550e930510a9cb76961d8eb32ac06f5d05330056eb64c50", kill_on_drop: false }`
[INFO] [stdout] 57017117ecdb4b109550e930510a9cb76961d8eb32ac06f5d05330056eb64c50
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] d69d2a0e5cb4e27055f3d1505fb4e4bb1cec46f2164d0c961b18cd5731a2d2b6
[INFO] running `Command { std: "docker" "start" "-a" "d69d2a0e5cb4e27055f3d1505fb4e4bb1cec46f2164d0c961b18cd5731a2d2b6", kill_on_drop: false }`
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling mutils v4.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated function is never used: `f32_to_hex_u32`
[INFO] [stdout]   --> src/colour.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn f32_to_hex_u32(val: f32, shift: u8) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `clamp_u8_to_f32`
[INFO] [stdout]   --> src/colour.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn clamp_u8_to_f32(val: u8) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `f32_to_rgba_u8`
[INFO] [stdout]   --> src/colour.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn f32_to_rgba_u8(val: f32) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.53s
[INFO] running `Command { std: "docker" "inspect" "d69d2a0e5cb4e27055f3d1505fb4e4bb1cec46f2164d0c961b18cd5731a2d2b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d69d2a0e5cb4e27055f3d1505fb4e4bb1cec46f2164d0c961b18cd5731a2d2b6", kill_on_drop: false }`
[INFO] [stdout] d69d2a0e5cb4e27055f3d1505fb4e4bb1cec46f2164d0c961b18cd5731a2d2b6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a11642019c52717a81cc4eac9f9e6c7328ced444b9545c58728ed23826898e78
[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" "a11642019c52717a81cc4eac9f9e6c7328ced444b9545c58728ed23826898e78", kill_on_drop: false }`
[INFO] [stderr]    Compiling assert_approx_eq v1.1.0
[INFO] [stdout] warning: associated function is never used: `f32_to_hex_u32`
[INFO] [stdout]   --> src/colour.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn f32_to_hex_u32(val: f32, shift: u8) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `clamp_u8_to_f32`
[INFO] [stdout]   --> src/colour.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn clamp_u8_to_f32(val: u8) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `f32_to_rgba_u8`
[INFO] [stdout]   --> src/colour.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn f32_to_rgba_u8(val: f32) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mutils v4.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated function is never used: `f32_to_hex_u32`
[INFO] [stdout]   --> src/colour.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn f32_to_hex_u32(val: f32, shift: u8) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `clamp_u8_to_f32`
[INFO] [stdout]   --> src/colour.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn clamp_u8_to_f32(val: u8) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `f32_to_rgba_u8`
[INFO] [stdout]   --> src/colour.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn f32_to_rgba_u8(val: f32) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.19s
[INFO] running `Command { std: "docker" "inspect" "a11642019c52717a81cc4eac9f9e6c7328ced444b9545c58728ed23826898e78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a11642019c52717a81cc4eac9f9e6c7328ced444b9545c58728ed23826898e78", kill_on_drop: false }`
[INFO] [stdout] a11642019c52717a81cc4eac9f9e6c7328ced444b9545c58728ed23826898e78
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 198298e5c1e658c51cae17958c8d21364476078f676086fb3a5be5ea92b67151
[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" "198298e5c1e658c51cae17958c8d21364476078f676086fb3a5be5ea92b67151", kill_on_drop: false }`
[INFO] [stderr] warning: associated function is never used: `f32_to_hex_u32`
[INFO] [stderr]   --> src/colour.rs:49:8
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn f32_to_hex_u32(val: f32, shift: u8) -> u32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `clamp_u8_to_f32`
[INFO] [stderr]   --> src/colour.rs:53:8
[INFO] [stderr]    |
[INFO] [stderr] 53 |     fn clamp_u8_to_f32(val: u8) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `f32_to_rgba_u8`
[INFO] [stderr]   --> src/colour.rs:63:8
[INFO] [stderr]    |
[INFO] [stderr] 63 |     fn f32_to_rgba_u8(val: f32) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `f32_to_hex_u32`
[INFO] [stderr]   --> src/colour.rs:49:8
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn f32_to_hex_u32(val: f32, shift: u8) -> u32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `clamp_u8_to_f32`
[INFO] [stderr]   --> src/colour.rs:53:8
[INFO] [stderr]    |
[INFO] [stderr] 53 |     fn clamp_u8_to_f32(val: u8) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `f32_to_rgba_u8`
[INFO] [stderr]   --> src/colour.rs:63:8
[INFO] [stderr]    |
[INFO] [stderr] 63 |     fn f32_to_rgba_u8(val: f32) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/mutils-44c83275da98017b)
[INFO] [stdout] running 125 tests
[INFO] [stdout] test colour::alpha_xx::it_should_return_alpha_given ... ok
[INFO] [stdout] test colour::blue_xx::it_should_return_blue_given ... ok
[INFO] [stdout] test colour::green_xx::it_should_return_green_given ... ok
[INFO] [stdout] test colour::new_rgba_hex::it_should_have_components_match_those_given ... ok
[INFO] [stdout] test colour::red_xx::it_should_return_red_given ... ok
[INFO] [stdout] test geom::line::direction_sign::it_should_be_mix_when_end_is_smaller_and_larger ... ok
[INFO] [stdout] test geom::line::direction_sign::it_should_be_negative_when_end_is_smaller ... ok
[INFO] [stdout] test geom::line::direction_sign::it_should_be_positive_when_end_is_larger ... ok
[INFO] [stdout] test geom::line::direction_sign::it_should_be_positive_when_end_is_the_same ... ok
[INFO] [stdout] test geom::line::hypot_sqrd::it_should_be_correct_for_positive ... ok
[INFO] [stdout] test geom::line::intersect::it_should_clip_lines_from_the_bottom_right ... ok
[INFO] [stdout] test geom::line::intersect::it_should_clip_lines_from_the_left ... ok
[INFO] [stdout] test geom::line::intersect::it_should_clip_lines_fully_crossing ... ok
[INFO] [stdout] test geom::line::intersect::it_should_clip_u32_lines ... ok
[INFO] [stdout] test geom::line::intersect::it_should_ignore_lines_crossing_a_corner ... ok
[INFO] [stdout] test geom::line::intersect::it_should_ignore_lines_fully_above ... ok
[INFO] [stdout] test geom::line::intersect::it_should_ignore_lines_fully_below ... ok
[INFO] [stdout] test geom::line::diff::it_should_be_end_minus_start ... ok
[INFO] [stdout] test geom::line::intersect::it_should_ignore_lines_fully_left ... ok
[INFO] [stdout] test geom::line::hypot::it_should_be_correct_for_positive ... ok
[INFO] [stdout] test geom::line::intersect::it_should_ignore_lines_fully_right ... ok
[INFO] [stdout] test geom::line::intersect::it_should_not_clip_lines_fully_inside ... ok
[INFO] [stdout] test geom::line::intersect_line::it_should_have_intersections_working_in_both_directions ... ok
[INFO] [stdout] test geom::line::intersect_line::it_should_intersect_lines ... ok
[INFO] [stdout] test geom::line::intersect_line::it_should_not_intersect_parallel_lines ... ok
[INFO] [stdout] test geom::line::is_horizontal::it_should_be_true_when_horizontal ... ok
[INFO] [stdout] test geom::line::is_straight::it_should_be_false_when_angled ... ok
[INFO] [stdout] test geom::line::is_vertical::it_should_be_true_when_vertical ... ok
[INFO] [stdout] test geom::line::rotate::it_should_be_flipped_with_180_rotation ... ok
[INFO] [stdout] test geom::line::rotate::it_should_be_level_after_45_rotation ... ok
[INFO] [stdout] test geom::line::rotate::it_should_be_the_same_with_360_rotation ... ok
[INFO] [stdout] test geom::line::rotate_around_point::it_should_be_rotated_with_90_rotation ... ok
[INFO] [stdout] test geom::line::transition_point::it_should_return_end_when_one ... ok
[INFO] [stdout] test geom::line::transition_point::it_should_return_middle_when_half ... ok
[INFO] [stdout] test geom::line::transition_point::it_should_return_start_when_zero ... ok
[INFO] [stdout] test geom::line::is_horizontal::it_should_be_false_when_not_horizontal ... ok
[INFO] [stdout] test geom::point::angle_to::it_should_angle_to_point_from_above ... ok
[INFO] [stdout] test geom::point::angle_to::it_should_angle_to_point_from_below ... ok
[INFO] [stdout] test geom::point::angle_to::it_should_angle_to_point_from_left ... ok
[INFO] [stdout] test geom::line::rotate_around_point::it_should_be_rotated_with_90_rotation_around_point ... ok
[INFO] [stdout] test geom::point::angle_to::it_should_angle_to_zero_from_above ... ok
[INFO] [stdout] test geom::line::rotate_around_point::it_should_be_flipped_with_180_rotation_around_point ... ok
[INFO] [stdout] test geom::point::angle_to::it_should_angle_to_point_from_right ... ok
[INFO] [stdout] test geom::line::rotate_around_point::it_should_be_flipped_with_180_rotation ... ok
[INFO] [stdout] test geom::line::is_straight::it_should_be_true_when_vertical ... ok
[INFO] [stdout] test geom::point::angle_to::it_should_angle_to_zero_from_below ... ok
[INFO] [stdout] test geom::point::angle_to::it_should_angle_to_zero_from_left ... ok
[INFO] [stdout] test geom::line::is_straight::it_should_be_true_when_horizontal ... ok
[INFO] [stdout] test geom::point::angle_to::it_should_angle_to_zero_from_right ... ok
[INFO] [stdout] test geom::point::flip_x::it_should_flip_x ... ok
[INFO] [stdout] test geom::point::flip_y::it_should_flip_y ... ok
[INFO] [stdout] test geom::point::rotate_around_point::it_should_rotate_90_degrees ... ok
[INFO] [stdout] test geom::rect::bottom_right::it_should_return_bottom_right ... ok
[INFO] [stdout] test geom::line::is_vertical::it_should_be_false_when_not_vertical ... ok
[INFO] [stdout] test geom::rect::bottom_left::it_should_return_bottom_left ... ok
[INFO] [stdout] test geom::rect::new_from_centre::it_should_work ... ok
[INFO] [stdout] test geom::rect::overlaps::it_should_not_overlap_rectangles_next_to_each_other ... ok
[INFO] [stdout] test geom::rect::overlaps::it_should_overlap_identical_rectangles ... ok
[INFO] [stdout] test geom::rect::overlaps::rect_overlap_inside ... ok
[INFO] [stdout] test geom::rect::overlaps::rect_overlap_inside_right_below ... ok
[INFO] [stdout] test geom::rect::overlaps::rect_overlap_outside_left ... ok
[INFO] [stdout] test geom::rect::overlaps::rect_overlap_outside_right ... ok
[INFO] [stdout] test geom::rect::point_position::it_should_return_above_middle ... ok
[INFO] [stdout] test geom::rect::point_position::it_should_return_above_right ... ok
[INFO] [stdout] test geom::rect::point_position::it_should_return_bottom_left ... ok
[INFO] [stdout] test geom::rect::point_position::it_should_return_bottom_middle ... ok
[INFO] [stdout] test geom::rect::point_position::it_should_return_bottom_right ... ok
[INFO] [stdout] test geom::rect::point_position::it_should_return_middle_left ... ok
[INFO] [stdout] test geom::rect::point_position::it_should_return_middle_middle ... ok
[INFO] [stdout] test geom::rect::point_position::it_should_return_middle_right ... ok
[INFO] [stdout] test geom::rect::rect_iterator::iterating::it_should_iterate_over_rect ... ok
[INFO] [stdout] test geom::rect::rect_iterator::iterating::it_should_iterate_over_rect_usize ... ok
[INFO] [stdout] test geom::rect::rect_iterator::iterating::it_should_not_iterate_empty_rect ... ok
[INFO] [stdout] test geom::rect::top_left::it_should_return_top_left ... ok
[INFO] [stdout] test geom::rect::top_right::it_should_return_top_right ... ok
[INFO] [stdout] test geom::point::rotate_around_point::it_should_rotate_90_degrees_around_point ... ok
[INFO] [stdout] test geom::size::flip_horizontal::it_should_flip_horizontally ... ok
[INFO] [stdout] test geom::size::flip_vertical::it_should_flip_vertically ... ok
[INFO] [stdout] test num::to_rounded::f32::it_should_round_negatives_up_to_zero_for_u8 ... ok
[INFO] [stdout] test num::to_rounded::f32::it_should_round_to_max_value ... ok
[INFO] [stdout] test num::to_rounded::f32::it_should_round_to_nearest_value ... ok
[INFO] [stdout] test num::to_rounded::f64::it_should_round_for_usize ... ok
[INFO] [stdout] test num::to_rounded::f32::it_should_round_to_highest_u8 ... ok
[INFO] [stdout] test num::to_rounded::f64::it_should_round_to_max_value ... ok
[INFO] [stdout] test num::to_rounded::f64::it_should_round_to_min_value ... ok
[INFO] [stdout] test num::to_rounded::f32::it_should_round_to_i16_max_value ... ok
[INFO] [stdout] test num::to_rounded::i16::it_should_round_down_to_max_values ... ok
[INFO] [stdout] test num::to_rounded::f32::it_should_round_to_i16_min_value ... ok
[INFO] [stdout] test num::to_rounded::i32::it_should_round_down_to_max_values ... ok
[INFO] [stdout] test geom::size::size_iterator::iterating::it_should_iterate_over_size ... ok
[INFO] [stdout] test num::to_rounded::i32::it_should_round_to_min_value ... ok
[INFO] [stdout] test num::to_rounded::i32::it_should_round_for_usize ... ok
[INFO] [stdout] test num::to_rounded::i64::it_should_round_down_to_max_values ... ok
[INFO] [stdout] test num::to_rounded::i64::it_should_round_for_usize ... ok
[INFO] [stdout] test num::to_rounded::i8::it_should_round_to_min_value ... ok
[INFO] [stdout] test num::to_rounded::u16::it_should_round_down_to_max_values ... ok
[INFO] [stdout] test num::to_rounded::f32::it_should_round_to_min_value ... ok
[INFO] [stdout] test num::to_rounded::i16::it_should_round_to_min_value ... ok
[INFO] [stdout] test num::to_rounded::u8::it_should_round_for_usize ... ok
[INFO] [stdout] test vec2d::debug::it_should_pretty_print_debug_as_expected ... ok
[INFO] [stdout] test geom::rect::point_position::it_should_return_above_left ... ok
[INFO] [stdout] test geom::rect::overlaps::rect_overlap_inside_left_above ... ok
[INFO] [stdout] test num::to_rounded::u32::it_should_round_down_to_max_values ... ok
[INFO] [stdout] test num::to_rounded::u32::it_should_round_for_usize ... ok
[INFO] [stdout] test geom::rect::overlaps::rect_overlap_inside_left ... ok
[INFO] [stdout] test vec2d::debug::it_should_print_debug_as_expected ... ok
[INFO] [stdout] test vec2d::iterator::it_should_iterate_over_partial_overlap ... ok
[INFO] [stdout] test num::to_rounded::i16::it_should_round_for_usize ... ok
[INFO] [stdout] test vec2d::indexing::it_should_correctly_index_items_across_whole_vec2d ... ok
[INFO] [stdout] test vec2d::iterator::it_should_set_and_then_iterate_over_all ... ok
[INFO] [stdout] test vec2d::indexing::it_should_correctly_set_and_get_items_based_on_index ... ok
[INFO] [stdout] test vec2d::new_from_vecs::it_should_create_a_vec2d_from_elements_given ... ok
[INFO] [stdout] test vec2d::iterator::it_should_iterate_over_all ... ok
[INFO] [stdout] test vec2d::new_from_vecs::it_should_create_an_empty_vec2d_from_empty_vecs ... ok
[INFO] [stdout] test vec2d::iterator::it_should_iterate_over_larger_area ... ok
[INFO] [stdout] test vec2d::new::it_should_populate_vec2d_with_default_given ... ok
[INFO] [stdout] test vec2d::new::it_should_create_vec2d_of_correct_size ... ok
[INFO] [stdout] test num::to_rounded::u8::it_should_round_down_to_max_values ... ok
[INFO] [stdout] test num::to_rounded::u64::it_should_round_for_usize ... ok
[INFO] [stdout] test num::to_rounded::f32::it_should_not_round_i16_values_that_fit ... ok
[INFO] [stdout] test num::to_rounded::i8::it_should_round_down_to_max_values ... ok
[INFO] [stdout] test num::to_rounded::i64::it_should_round_to_min_value ... ok
[INFO] [stdout] test num::to_rounded::i8::it_should_round_for_usize ... ok
[INFO] [stdout] test num::to_rounded::u16::it_should_round_for_usize ... ok
[INFO] [stdout] test num::to_rounded::u64::it_should_round_down_to_max_values ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 125 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mutils
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "198298e5c1e658c51cae17958c8d21364476078f676086fb3a5be5ea92b67151", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "198298e5c1e658c51cae17958c8d21364476078f676086fb3a5be5ea92b67151", kill_on_drop: false }`
[INFO] [stdout] 198298e5c1e658c51cae17958c8d21364476078f676086fb3a5be5ea92b67151
