[INFO] cloning repository https://github.com/abbas-14/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/abbas-14/rust_FFI" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fabbas-14%2Frust_FFI", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fabbas-14%2Frust_FFI'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1e1ffeadc432a2329cd8bed7ef4c4e510b8ac8d3
[INFO] checking abbas-14/rust_FFI against 0cefa27fe3deee26fc98ee44249406358d9f0d26 for pr-164789
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fabbas-14%2Frust_FFI" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/abbas-14/rust_FFI
[INFO] finished tweaking git repo https://github.com/abbas-14/rust_FFI
[INFO] tweaked toml for git repo https://github.com/abbas-14/rust_FFI written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/abbas-14/rust_FFI on toolchain 0cefa27fe3deee26fc98ee44249406358d9f0d26
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0cefa27fe3deee26fc98ee44249406358d9f0d26" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/abbas-14/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" "+0cefa27fe3deee26fc98ee44249406358d9f0d26" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3db14fe6b6e81bda95acab0325df5fb2003bd9a1451755a346d209a9d44a3c71
[INFO] running `Command { std: "docker" "start" "3db14fe6b6e81bda95acab0325df5fb2003bd9a1451755a346d209a9d44a3c71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3db14fe6b6e81bda95acab0325df5fb2003bd9a1451755a346d209a9d44a3c71", 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" "3db14fe6b6e81bda95acab0325df5fb2003bd9a1451755a346d209a9d44a3c71" "/opt/rustwide/cargo-home/bin/cargo" "+0cefa27fe3deee26fc98ee44249406358d9f0d26" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3db14fe6b6e81bda95acab0325df5fb2003bd9a1451755a346d209a9d44a3c71", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3db14fe6b6e81bda95acab0325df5fb2003bd9a1451755a346d209a9d44a3c71" "/opt/rustwide/cargo-home/bin/cargo" "+0cefa27fe3deee26fc98ee44249406358d9f0d26" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.144
[INFO] [stderr]     Checking 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: 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: 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: 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` 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: 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 `dev` profile [unoptimized + debuginfo] target(s) in 1.08s
[INFO] running `Command { std: "docker" "inspect" "3db14fe6b6e81bda95acab0325df5fb2003bd9a1451755a346d209a9d44a3c71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3db14fe6b6e81bda95acab0325df5fb2003bd9a1451755a346d209a9d44a3c71", kill_on_drop: false }`
[INFO] [stdout] 3db14fe6b6e81bda95acab0325df5fb2003bd9a1451755a346d209a9d44a3c71
