[INFO] cloning repository https://github.com/lal-buturabi/rust-ffi
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lal-buturabi/rust-ffi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flal-buturabi%2Frust-ffi", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flal-buturabi%2Frust-ffi'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1e1ffeadc432a2329cd8bed7ef4c4e510b8ac8d3
[INFO] testing lal-buturabi/rust-ffi against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flal-buturabi%2Frust-ffi" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lal-buturabi/rust-ffi
[INFO] finished tweaking git repo https://github.com/lal-buturabi/rust-ffi
[INFO] tweaked toml for git repo https://github.com/lal-buturabi/rust-ffi written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lal-buturabi/rust-ffi on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lal-buturabi/rust-ffi 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" "+1.99.0-beta.1" "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/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d
[INFO] running `Command { std: "docker" "start" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.144
[INFO] [stderr]    Compiling libloading v0.8.0
[INFO] [stderr]    Compiling FFI v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]  --> src/ints/mod.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]  --> src/floats/mod.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]  --> src/strings/mod.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `paths` is never used
[INFO] [stdout]  --> src/common.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const paths: [&str; 3] = [
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> src/common.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn test<T>(func: &str, x: T, y: T, i: usize) -> T {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]  --> src/ints/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sub` is never used
[INFO] [stdout]  --> src/ints/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]  --> src/ints/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `div` is never used
[INFO] [stdout]  --> src/ints/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modulo` is never used
[INFO] [stdout]  --> src/ints/mod.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn modulo(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]  --> src/floats/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sub` is never used
[INFO] [stdout]  --> src/floats/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]  --> src/floats/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `div` is never used
[INFO] [stdout]  --> src/floats/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_rev` is never used
[INFO] [stdout]  --> src/strings/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn str_rev(s: *const c_char) -> *mut c_char;
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_cmp` is never used
[INFO] [stdout]  --> src/strings/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn str_cmp(s1: *const c_char, s2: *const c_char) -> c_short;
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `FFI` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `ffi`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `paths` should have an upper case name
[INFO] [stdout]  --> src/common.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const paths: [&str; 3] = [
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 3 - pub const paths: [&str; 3] = [
[INFO] [stdout] 3 + pub const PATHS: [&str; 3] = [
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Numerics` should have a snake case name
[INFO] [stdout]  --> src/common.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod Numerics {
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `numerics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `add` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `add` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout]   = note: `#[warn(clashing_extern_declarations)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `sub` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `sub` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `mul` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `mul` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `div` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `div` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1.03s
[INFO] running `Command { std: "docker" "inspect" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling FFI v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]  --> src/ints/mod.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]  --> src/floats/mod.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]  --> src/strings/mod.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `paths` is never used
[INFO] [stdout]  --> src/common.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const paths: [&str; 3] = [
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]   --> src/common.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn test<T>(func: &str, x: T, y: T, i: usize) -> T {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]  --> src/ints/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sub` is never used
[INFO] [stdout]  --> src/ints/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]  --> src/ints/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `div` is never used
[INFO] [stdout]  --> src/ints/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modulo` is never used
[INFO] [stdout]  --> src/ints/mod.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn modulo(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]  --> src/floats/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sub` is never used
[INFO] [stdout]  --> src/floats/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]  --> src/floats/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `div` is never used
[INFO] [stdout]  --> src/floats/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_rev` is never used
[INFO] [stdout]  --> src/strings/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn str_rev(s: *const c_char) -> *mut c_char;
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_cmp` is never used
[INFO] [stdout]  --> src/strings/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn str_cmp(s1: *const c_char, s2: *const c_char) -> c_short;
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `FFI` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `ffi`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `paths` should have an upper case name
[INFO] [stdout]  --> src/common.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const paths: [&str; 3] = [
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 3 - pub const paths: [&str; 3] = [
[INFO] [stdout] 3 + pub const PATHS: [&str; 3] = [
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Numerics` should have a snake case name
[INFO] [stdout]  --> src/common.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod Numerics {
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `numerics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `add` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `add` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout]   = note: `#[warn(clashing_extern_declarations)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `sub` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `sub` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `mul` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `mul` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `div` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `div` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]  --> src/ints/mod.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]  --> src/floats/mod.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stdout]  --> src/strings/mod.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[no_mangle]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/ints/mod.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let r = unsafe { test::<c_int>("add", x, y, 0) };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/ints/mod.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let r = unsafe { test::<c_int>("sub", x, y, 0) };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/ints/mod.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let r = unsafe { test::<c_int>("mul", x, y, 0) };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/ints/mod.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let r = unsafe { test::<c_int>("div", x, y, 0) };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/ints/mod.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let r = unsafe { test::<c_int>("modulo", x, y, 0) };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/floats/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let r = unsafe { test::<c_float>("add", x, y, 1) };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/floats/mod.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let r = unsafe { test::<c_float>("sub", x, y, 1) };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/floats/mod.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let r = unsafe { test::<c_float>("mul", x, y, 1) };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/floats/mod.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let r = unsafe { test::<c_float>("div", x, y, 1) };
[INFO] [stdout]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]  --> src/ints/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sub` is never used
[INFO] [stdout]  --> src/ints/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]  --> src/ints/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `div` is never used
[INFO] [stdout]  --> src/ints/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modulo` is never used
[INFO] [stdout]  --> src/ints/mod.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn modulo(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]  --> src/floats/mod.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sub` is never used
[INFO] [stdout]  --> src/floats/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul` is never used
[INFO] [stdout]  --> src/floats/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `div` is never used
[INFO] [stdout]  --> src/floats/mod.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_rev` is never used
[INFO] [stdout]  --> src/strings/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn str_rev(s: *const c_char) -> *mut c_char;
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_cmp` is never used
[INFO] [stdout]  --> src/strings/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn str_cmp(s1: *const c_char, s2: *const c_char) -> c_short;
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `paths` should have an upper case name
[INFO] [stdout]  --> src/common.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const paths: [&str; 3] = [
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 3 - pub const paths: [&str; 3] = [
[INFO] [stdout] 3 + pub const PATHS: [&str; 3] = [
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Numerics` should have a snake case name
[INFO] [stdout]  --> src/common.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod Numerics {
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `numerics`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `add` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn add(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `add` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout]   = note: `#[warn(clashing_extern_declarations)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `sub` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn sub(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `sub` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `mul` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     fn mul(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `mul` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `div` redeclared with a different signature
[INFO] [stdout]  --> src/floats/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_float, b: c_float) -> c_float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/ints/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn div(a: c_int, b: c_int) -> c_int;
[INFO] [stdout]   |     ------------------------------------ `div` previously declared here
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stdout]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stderr]  --> src/ints/mod.rs:3:3
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[no_mangle]
[INFO] [stderr]   |   ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stderr]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stderr]  --> src/floats/mod.rs:3:3
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[no_mangle]
[INFO] [stderr]   |   ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stderr]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr] 
[INFO] [stderr] warning: the `no_mangle` attribute cannot be used on foreign modules
[INFO] [stderr]  --> src/strings/mod.rs:4:3
[INFO] [stderr]   |
[INFO] [stderr] 4 | #[no_mangle]
[INFO] [stderr]   |   ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: the `no_mangle` attribute can be applied to functions and statics
[INFO] [stderr]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr] 
[INFO] [stderr] warning: constant `paths` is never used
[INFO] [stderr]  --> src/common.rs:3:11
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub const paths: [&str; 3] = [
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `test` is never used
[INFO] [stderr]   --> src/common.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn test<T>(func: &str, x: T, y: T, i: usize) -> T {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `add` is never used
[INFO] [stderr]  --> src/ints/mod.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     fn add(a: c_int, b: c_int) -> c_int;
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sub` is never used
[INFO] [stderr]  --> src/ints/mod.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 |     fn sub(a: c_int, b: c_int) -> c_int;
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `mul` is never used
[INFO] [stderr]  --> src/ints/mod.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn mul(a: c_int, b: c_int) -> c_int;
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `div` is never used
[INFO] [stderr]  --> src/ints/mod.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 |     fn div(a: c_int, b: c_int) -> c_int;
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `modulo` is never used
[INFO] [stderr]  --> src/ints/mod.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 |     fn modulo(a: c_int, b: c_int) -> c_int;
[INFO] [stderr]   |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `add` is never used
[INFO] [stderr]  --> src/floats/mod.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     fn add(a: c_float, b: c_float) -> c_float;
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sub` is never used
[INFO] [stderr]  --> src/floats/mod.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 |     fn sub(a: c_float, b: c_float) -> c_float;
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `mul` is never used
[INFO] [stderr]  --> src/floats/mod.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn mul(a: c_float, b: c_float) -> c_float;
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `div` is never used
[INFO] [stderr]  --> src/floats/mod.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 |     fn div(a: c_float, b: c_float) -> c_float;
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `str_rev` is never used
[INFO] [stderr]  --> src/strings/mod.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 |     fn str_rev(s: *const c_char) -> *mut c_char;
[INFO] [stderr]   |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `str_cmp` is never used
[INFO] [stderr]  --> src/strings/mod.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn str_cmp(s1: *const c_char, s2: *const c_char) -> c_short;
[INFO] [stderr]   |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: crate `FFI` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = help: convert the identifier to snake case: `ffi`
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `paths` should have an upper case name
[INFO] [stderr]  --> src/common.rs:3:11
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub const paths: [&str; 3] = [
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]   |
[INFO] [stderr] 3 - pub const paths: [&str; 3] = [
[INFO] [stderr] 3 + pub const PATHS: [&str; 3] = [
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: module `Numerics` should have a snake case name
[INFO] [stdout] running 4 tests
[INFO] [stderr]  --> src/common.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub mod Numerics {
[INFO] [stderr]   |         ^^^^^^^^ help: convert the identifier to snake case: `numerics`
[INFO] [stderr] 
[INFO] [stderr] warning: `add` redeclared with a different signature
[INFO] [stderr]  --> src/floats/mod.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     fn add(a: c_float, b: c_float) -> c_float;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stderr]   |
[INFO] [stderr]  ::: src/ints/mod.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     fn add(a: c_int, b: c_int) -> c_int;
[INFO] [stderr]   |     ------------------------------------ `add` previously declared here
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stderr]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stderr]   = note: `#[warn(clashing_extern_declarations)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `sub` redeclared with a different signature
[INFO] [stderr]  --> src/floats/mod.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     fn sub(a: c_float, b: c_float) -> c_float;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stderr]   |
[INFO] [stderr]  ::: src/ints/mod.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     fn sub(a: c_int, b: c_int) -> c_int;
[INFO] [stderr]   |     ------------------------------------ `sub` previously declared here
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stderr]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stderr] 
[INFO] [stderr] warning: `mul` redeclared with a different signature
[INFO] [stderr]  --> src/floats/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn mul(a: c_float, b: c_float) -> c_float;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stderr]   |
[INFO] [stderr]  ::: src/ints/mod.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     fn mul(a: c_int, b: c_int) -> c_int;
[INFO] [stderr]   |     ------------------------------------ `mul` previously declared here
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stderr]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stderr] 
[INFO] [stderr] warning: `div` redeclared with a different signature
[INFO] [stderr]  --> src/floats/mod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     fn div(a: c_float, b: c_float) -> c_float;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
[INFO] [stderr]   |
[INFO] [stderr]  ::: src/ints/mod.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     fn div(a: c_int, b: c_int) -> c_int;
[INFO] [stderr]   |     ------------------------------------ `div` previously declared here
[INFO] [stderr]   |
[INFO] [stderr]   = note: expected `unsafe extern "C" fn(i32, i32) -> i32`
[INFO] [stderr]              found `unsafe extern "C" fn(f32, f32) -> f32`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/ints/mod.rs:22:17
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let r = unsafe { test::<c_int>("add", x, y, 0) };
[INFO] [stderr]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/ints/mod.rs:25:17
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let r = unsafe { test::<c_int>("sub", x, y, 0) };
[INFO] [stderr]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stdout] test floats::tests::it_works ... FAILED
[INFO] [stderr]   --> src/ints/mod.rs:28:17
[INFO] [stderr]    |
[INFO] [stderr] 28 |         let r = unsafe { test::<c_int>("mul", x, y, 0) };
[INFO] [stderr]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/ints/mod.rs:31:17
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let r = unsafe { test::<c_int>("div", x, y, 0) };
[INFO] [stderr]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/ints/mod.rs:34:17
[INFO] [stdout] test ints::tests::it_works ... FAILED
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let r = unsafe { test::<c_int>("modulo", x, y, 0) };
[INFO] [stderr]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/floats/mod.rs:21:17
[INFO] [stderr]    |
[INFO] [stderr] 21 |         let r = unsafe { test::<c_float>("add", x, y, 1) };
[INFO] [stderr]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] test strings::tests::string_reversal_works ... FAILED
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/floats/mod.rs:24:17
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let r = unsafe { test::<c_float>("sub", x, y, 1) };
[INFO] [stderr]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/floats/mod.rs:27:17
[INFO] [stderr]    |
[INFO] [stderr] 27 |         let r = unsafe { test::<c_float>("mul", x, y, 1) };
[INFO] [stderr]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/floats/mod.rs:30:17
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let r = unsafe { test::<c_float>("div", x, y, 1) };
[INFO] [stderr]    |                 ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: function `add` is never used
[INFO] [stderr]  --> src/ints/mod.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 |     fn add(a: c_int, b: c_int) -> c_int;
[INFO] [stderr]   |        ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: module `Numerics` should have a snake case name
[INFO] [stderr]  --> src/common.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub mod Numerics {
[INFO] [stderr]   |         ^^^^^^^^ help: convert the identifier to snake case: `numerics`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `FFI` (lib) generated 23 warnings (run `cargo fix --lib -p FFI` to apply 4 suggestions)
[INFO] [stderr] warning: `FFI` (lib test) generated 29 warnings (18 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/FFI-4435ff269ad814ab)
[INFO] [stdout] test strings::tests::string_comparision_works ... FAILED
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- floats::tests::it_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'floats::tests::it_works' (183) panicked at src/common.rs:14:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: DlOpen { desc: "./src/floats/floats.dylib: invalid ELF header" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5998755f1811 - <<std[104cf6e2632825ea]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[7c831bd917ebf35f]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5998756065fa - core[7c831bd917ebf35f]::fmt::write
[INFO] [stdout]    2:     0x5998755f5cac - <alloc[2fdc3f7464fcf288]::vec::Vec<u8> as core[7c831bd917ebf35f]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5998755cddf6 - std[104cf6e2632825ea]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5998755e9f29 - std[104cf6e2632825ea]::panicking::default_hook
[INFO] [stdout]    5:     0x5998755862f0 - test[73009c9f9aebf890]::test_main_inner::<test[73009c9f9aebf890]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x5998755ea0e2 - std[104cf6e2632825ea]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5998755cdea2 - std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5998755c6849 - std[104cf6e2632825ea]::sys::backtrace::__rust_end_short_backtrace::<std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5998755cea9d - __rustc[b0d56fa5b193ad05]::rust_begin_unwind
[INFO] [stdout]   10:     0x599875606d2c - core[7c831bd917ebf35f]::panicking::panic_fmt
[INFO] [stdout]   11:     0x599875606b02 - core[7c831bd917ebf35f]::result::unwrap_failed
[INFO] [stdout]   12:     0x599875577f1a - FFI[f945e5ce254ddb1]::common::Numerics::test::<f32>
[INFO] [stdout]   13:     0x5998755789b4 - <FFI[f945e5ce254ddb1]::floats::tests::it_works::{closure#0} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x5998755795db - test[73009c9f9aebf890]::__rust_begin_short_backtrace::<core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>, fn() -> core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>>
[INFO] [stdout]   15:     0x599875586c45 - test[73009c9f9aebf890]::run_test::{closure#0}
[INFO] [stdout]   16:     0x599875580004 - std[104cf6e2632825ea]::sys::backtrace::__rust_begin_short_backtrace::<test[73009c9f9aebf890]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x599875589da2 - <std[104cf6e2632825ea]::thread::lifecycle::spawn_unchecked<test[73009c9f9aebf890]::run_test::{closure#1}, ()>::{closure#1} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x5998755f10e9 - <std[104cf6e2632825ea]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x7538580b907a - <unknown>
[INFO] [stdout]   20:     0x75385814c534 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ints::tests::it_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'ints::tests::it_works' (184) panicked at src/common.rs:14:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: DlOpen { desc: "./src/ints/ints.dylib: invalid ELF header" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5998755f1811 - <<std[104cf6e2632825ea]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[7c831bd917ebf35f]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5998756065fa - core[7c831bd917ebf35f]::fmt::write
[INFO] [stdout]    2:     0x5998755f5cac - <alloc[2fdc3f7464fcf288]::vec::Vec<u8> as core[7c831bd917ebf35f]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5998755cddf6 - std[104cf6e2632825ea]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5998755e9f29 - std[104cf6e2632825ea]::panicking::default_hook
[INFO] [stdout]    5:     0x5998755862f0 - test[73009c9f9aebf890]::test_main_inner::<test[73009c9f9aebf890]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x5998755ea0e2 - std[104cf6e2632825ea]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5998755cdea2 - std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5998755c6849 - std[104cf6e2632825ea]::sys::backtrace::__rust_end_short_backtrace::<std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5998755cea9d - __rustc[b0d56fa5b193ad05]::rust_begin_unwind
[INFO] [stdout]   10:     0x599875606d2c - core[7c831bd917ebf35f]::panicking::panic_fmt
[INFO] [stdout]   11:     0x599875606b02 - core[7c831bd917ebf35f]::result::unwrap_failed
[INFO] [stdout]   12:     0x599875578143 - FFI[f945e5ce254ddb1]::common::Numerics::test::<i32>
[INFO] [stdout]   13:     0x599875578879 - <FFI[f945e5ce254ddb1]::ints::tests::it_works::{closure#0} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x5998755795db - test[73009c9f9aebf890]::__rust_begin_short_backtrace::<core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>, fn() -> core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>>
[INFO] [stdout]   15:     0x599875586c45 - test[73009c9f9aebf890]::run_test::{closure#0}
[INFO] [stdout]   16:     0x599875580004 - std[104cf6e2632825ea]::sys::backtrace::__rust_begin_short_backtrace::<test[73009c9f9aebf890]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x599875589da2 - <std[104cf6e2632825ea]::thread::lifecycle::spawn_unchecked<test[73009c9f9aebf890]::run_test::{closure#1}, ()>::{closure#1} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x5998755f10e9 - <std[104cf6e2632825ea]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x7538580b907a - <unknown>
[INFO] [stdout]   20:     0x75385814c534 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- strings::tests::string_reversal_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'strings::tests::string_reversal_works' (186) panicked at src/strings/mod.rs:20:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: DlOpen { desc: "./src/strings/strings.dylib: invalid ELF header" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5998755f1811 - <<std[104cf6e2632825ea]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[7c831bd917ebf35f]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5998756065fa - core[7c831bd917ebf35f]::fmt::write
[INFO] [stdout]    2:     0x5998755f5cac - <alloc[2fdc3f7464fcf288]::vec::Vec<u8> as core[7c831bd917ebf35f]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5998755cddf6 - std[104cf6e2632825ea]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5998755e9f29 - std[104cf6e2632825ea]::panicking::default_hook
[INFO] [stdout]    5:     0x5998755862f0 - test[73009c9f9aebf890]::test_main_inner::<test[73009c9f9aebf890]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x5998755ea0e2 - std[104cf6e2632825ea]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5998755cdea2 - std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5998755c6849 - std[104cf6e2632825ea]::sys::backtrace::__rust_end_short_backtrace::<std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5998755cea9d - __rustc[b0d56fa5b193ad05]::rust_begin_unwind
[INFO] [stdout]   10:     0x599875606d2c - core[7c831bd917ebf35f]::panicking::panic_fmt
[INFO] [stdout]   11:     0x599875606b02 - core[7c831bd917ebf35f]::result::unwrap_failed
[INFO] [stdout]   12:     0x599875578d1e - <FFI[f945e5ce254ddb1]::strings::tests::string_reversal_works::{closure#0} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x5998755795db - test[73009c9f9aebf890]::__rust_begin_short_backtrace::<core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>, fn() -> core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>>
[INFO] [stdout]   14:     0x599875586c45 - test[73009c9f9aebf890]::run_test::{closure#0}
[INFO] [stdout]   15:     0x599875580004 - std[104cf6e2632825ea]::sys::backtrace::__rust_begin_short_backtrace::<test[73009c9f9aebf890]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x599875589da2 - <std[104cf6e2632825ea]::thread::lifecycle::spawn_unchecked<test[73009c9f9aebf890]::run_test::{closure#1}, ()>::{closure#1} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x5998755f10e9 - <std[104cf6e2632825ea]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7538580b907a - <unknown>
[INFO] [stdout]   19:     0x75385814c534 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- strings::tests::string_comparision_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'strings::tests::string_comparision_works' (185) panicked at src/strings/mod.rs:39:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: DlOpen { desc: "./src/strings/strings.dylib: invalid ELF header" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5998755f1811 - <<std[104cf6e2632825ea]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[7c831bd917ebf35f]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5998756065fa - core[7c831bd917ebf35f]::fmt::write
[INFO] [stdout]    2:     0x5998755f5cac - <alloc[2fdc3f7464fcf288]::vec::Vec<u8> as core[7c831bd917ebf35f]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5998755cddf6 - std[104cf6e2632825ea]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5998755e9f29 - std[104cf6e2632825ea]::panicking::default_hook
[INFO] [stdout]    5:     0x5998755862f0 - test[73009c9f9aebf890]::test_main_inner::<test[73009c9f9aebf890]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x5998755ea0e2 - std[104cf6e2632825ea]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5998755cdea2 - std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5998755c6849 - std[104cf6e2632825ea]::sys::backtrace::__rust_end_short_backtrace::<std[104cf6e2632825ea]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5998755cea9d - __rustc[b0d56fa5b193ad05]::rust_begin_unwind
[INFO] [stdout]   10:     0x599875606d2c - core[7c831bd917ebf35f]::panicking::panic_fmt
[INFO] [stdout]   11:     0x599875606b02 - core[7c831bd917ebf35f]::result::unwrap_failed
[INFO] [stdout]   12:     0x59987557945b - <FFI[f945e5ce254ddb1]::strings::tests::string_comparision_works::{closure#0} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x5998755795db - test[73009c9f9aebf890]::__rust_begin_short_backtrace::<core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>, fn() -> core[7c831bd917ebf35f]::result::Result<(), alloc[2fdc3f7464fcf288]::string::String>>
[INFO] [stdout]   14:     0x599875586c45 - test[73009c9f9aebf890]::run_test::{closure#0}
[INFO] [stdout]   15:     0x599875580004 - std[104cf6e2632825ea]::sys::backtrace::__rust_begin_short_backtrace::<test[73009c9f9aebf890]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x599875589da2 - <std[104cf6e2632825ea]::thread::lifecycle::spawn_unchecked<test[73009c9f9aebf890]::run_test::{closure#1}, ()>::{closure#1} as core[7c831bd917ebf35f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x5998755f10e9 - <std[104cf6e2632825ea]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7538580b907a - <unknown>
[INFO] [stdout]   19:     0x75385814c534 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     floats::tests::it_works
[INFO] [stdout]     ints::tests::it_works
[INFO] [stdout]     strings::tests::string_comparision_works
[INFO] [stdout]     strings::tests::string_reversal_works
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d", kill_on_drop: false }`
[INFO] [stdout] 22bacdeb22b5aac216c2ae129fdca625afed760a4a93e1801c7b7fa06a83618d
