[INFO] fetching crate nncombinator 0.9.8... [INFO] checking nncombinator-0.9.8 against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-31 [INFO] extracting crate nncombinator 0.9.8 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate nncombinator 0.9.8 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate nncombinator 0.9.8 [INFO] tweaked toml for crates.io crate nncombinator 0.9.8 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate nncombinator 0.9.8 on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate nncombinator 0.9.8 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 384368fa32b24ee0dc9f2ce2ed4ef13a1c198b09020d733f0541914b74f4d939 [INFO] running `Command { std: "docker" "start" "384368fa32b24ee0dc9f2ce2ed4ef13a1c198b09020d733f0541914b74f4d939", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "384368fa32b24ee0dc9f2ce2ed4ef13a1c198b09020d733f0541914b74f4d939", 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" "384368fa32b24ee0dc9f2ce2ed4ef13a1c198b09020d733f0541914b74f4d939" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "384368fa32b24ee0dc9f2ce2ed4ef13a1c198b09020d733f0541914b74f4d939", 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" "384368fa32b24ee0dc9f2ce2ed4ef13a1c198b09020d733f0541914b74f4d939" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Compiling proc-macro2 v1.0.81 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Compiling paste v1.0.14 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling rcudnn-sys v0.5.0 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Compiling rcublas-sys v0.5.0 [INFO] [stderr] Compiling thiserror v1.0.59 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking either v1.11.0 [INFO] [stderr] Checking getrandom v0.2.14 [INFO] [stderr] Compiling cc v1.0.95 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling serde v1.0.199 [INFO] [stderr] Compiling cuda-config v0.1.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling num-bigint v0.4.4 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling matrixmultiply v0.3.8 [INFO] [stderr] Compiling cuda-runtime-sys v0.3.0-alpha.1 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking flate2 v1.0.29 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking bytemuck v1.15.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking ryu v1.0.17 [INFO] [stderr] Checking mnist v0.5.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Compiling syn v2.0.60 [INFO] [stderr] Checking csv-core v0.1.11 [INFO] [stderr] Compiling nncombinator v0.9.8 (/opt/rustwide/workdir) [INFO] [stderr] Checking rayon-core v1.12.1 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking exr v1.72.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.5 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking try-from-primitive v0.1.0 [INFO] [stderr] Checking num-iter v0.1.44 [INFO] [stderr] Checking simba v0.5.1 [INFO] [stderr] Compiling thiserror-impl v1.0.59 [INFO] [stderr] Checking num v0.4.2 [INFO] [stderr] Checking csv v1.3.0 [INFO] [stderr] Checking jpeg-decoder v0.3.1 [INFO] [stderr] Checking rcublas v0.6.0 [INFO] [stderr] Checking rcudnn v1.8.0 [INFO] [stderr] Compiling nalgebra-macros v0.1.0 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking nalgebra v0.27.1 [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:13:102 [INFO] [stdout] | [INFO] [stdout] 13 | fn sigmoid_forward_float(input: *const f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] = note: `#[warn(c_void_returns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:14:99 [INFO] [stdout] | [INFO] [stdout] 14 | fn relu_forward_float(input: *const f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:15:121 [INFO] [stdout] | [INFO] [stdout] 15 | fn clipped_relu_forward_float(input: *const f32, ceiling: f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:16:105 [INFO] [stdout] | [INFO] [stdout] 16 | fn leaky_relu_forward_float(input: *const f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:17:100 [INFO] [stdout] | [INFO] [stdout] 17 | fn swish_forward_float(input: *const f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:18:99 [INFO] [stdout] | [INFO] [stdout] 18 | fn tanh_forward_float(input: *const f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:19:103 [INFO] [stdout] | [INFO] [stdout] 19 | fn softmax_forward_float(input: *const f32, output: *mut f32, len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:20:139 [INFO] [stdout] | [INFO] [stdout] 20 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:21:136 [INFO] [stdout] | [INFO] [stdout] 21 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:22:158 [INFO] [stdout] | [INFO] [stdout] 22 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:23:142 [INFO] [stdout] | [INFO] [stdout] 23 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:24:137 [INFO] [stdout] | [INFO] [stdout] 24 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:25:136 [INFO] [stdout] | [INFO] [stdout] 25 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:26:139 [INFO] [stdout] | [INFO] [stdout] 26 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:27:103 [INFO] [stdout] | [INFO] [stdout] 27 | fn sigmoid_forward_double(input: *const f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:28:100 [INFO] [stdout] | [INFO] [stdout] 28 | fn relu_forward_double(input: *const f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:29:122 [INFO] [stdout] | [INFO] [stdout] 29 | fn clipped_relu_forward_double(input: *const f64, ceiling: f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:30:106 [INFO] [stdout] | [INFO] [stdout] 30 | fn leaky_relu_forward_double(input: *const f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:31:101 [INFO] [stdout] | [INFO] [stdout] 31 | fn swish_forward_double(input: *const f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:32:100 [INFO] [stdout] | [INFO] [stdout] 32 | fn tanh_forward_double(input: *const f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:33:104 [INFO] [stdout] | [INFO] [stdout] 33 | fn softmax_forward_double(input: *const f64, output: *mut f64, len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:34:140 [INFO] [stdout] | [INFO] [stdout] 34 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:35:137 [INFO] [stdout] | [INFO] [stdout] 35 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:36:159 [INFO] [stdout] | [INFO] [stdout] 36 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:37:143 [INFO] [stdout] | [INFO] [stdout] 37 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:38:138 [INFO] [stdout] | [INFO] [stdout] 38 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:39:137 [INFO] [stdout] | [INFO] [stdout] 39 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:40:140 [INFO] [stdout] | [INFO] [stdout] 40 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:12:126 [INFO] [stdout] | [INFO] [stdout] 12 | fn loss_linear_batch_mse_derive_float(r: *const f32, t: *const f32, output: *mut f32, nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:13:127 [INFO] [stdout] | [INFO] [stdout] 13 | fn loss_linear_batch_mse_derive_double(r: *const f64, t: *const f64, output: *mut f64, nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:14:136 [INFO] [stdout] | [INFO] [stdout] 14 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:15:137 [INFO] [stdout] | [INFO] [stdout] 15 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:16:147 [INFO] [stdout] | [INFO] [stdout] 16 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:17:148 [INFO] [stdout] | [INFO] [stdout] 17 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:14:106 [INFO] [stdout] | [INFO] [stdout] 14 | fn reduce_linear_batch_float(input: *const f32, output: *mut f32, nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:15:107 [INFO] [stdout] | [INFO] [stdout] 15 | fn reduce_linear_batch_double(input: *const f64, output: *mut f64, nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:16:171 [INFO] [stdout] | [INFO] [stdout] 16 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:17:172 [INFO] [stdout] | [INFO] [stdout] 17 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:18:153 [INFO] [stdout] | [INFO] [stdout] 18 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:19:154 [INFO] [stdout] | [INFO] [stdout] 19 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:20:173 [INFO] [stdout] | [INFO] [stdout] 20 | ...ize: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:21:174 [INFO] [stdout] | [INFO] [stdout] 21 | ...ize: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:22:145 [INFO] [stdout] | [INFO] [stdout] 22 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:23:146 [INFO] [stdout] | [INFO] [stdout] 23 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:24:174 [INFO] [stdout] | [INFO] [stdout] 24 | ..._size: size_t, diff_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:25:175 [INFO] [stdout] | [INFO] [stdout] 25 | ..._size: size_t, diff_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:26:110 [INFO] [stdout] | [INFO] [stdout] 26 | fn addbias_batch_float(bias: *const f32, input_output: *mut f32, units_len: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:27:111 [INFO] [stdout] | [INFO] [stdout] 27 | fn addbias_batch_double(bias: *const f64, input_output: *mut f64, units_len: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking statrs v0.15.0 [INFO] [stdout] error[E0284]: type annotations needed [INFO] [stdout] --> tests/cuda/cublas.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | let d_output = device_gpu.batch_forward_linear(&d_bias,&d_units,&d_inputs).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `<_ as BatchDataType>::Type == &CudaVec` [INFO] [stdout] = note: the type must also implement `BatchDataType` [INFO] [stdout] note: multiple `impl`s or `where` clauses satisfying `DeviceGpu>: DeviceLinear, 500, 600>, CudaTensor1dPtr, 600>, _, 500, 600>` found [INFO] [stdout] --> tests/cuda/cublas.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | where DeviceGpu: DeviceLinear,CudaTensor1dPtr,CudaTensor1dPtr,NI,NO> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: and another `impl` found in the `nncombinator` crate: [INFO] [stdout] - impl DeviceLinear, CudaTensor1dPtr, I, NI, NO> for DeviceGpu [INFO] [stdout] where <::Type as TryFrom<, A> as IntoConverter>::Converter>>::Error == nncombinator::error::TypeConvertError, as AsCudaMutPtr>::Pointee == f32, as AsCudaMutPtr>::Allocator == A, as AsCudaReadOnlyPtr>::Pointee == f32, for<'a> > as TryFrom<<<&'a ::Type as CudaView<'a>>::Type as IntoConverter>::Converter>>::Error == nncombinator::error::TypeConvertError, for<'a> > as TryFrom<&'a CudaVec, A>>>::Error == nncombinator::error::TypeConvertError, for<'a> as Kernel>::Args == AddBiasArgs<'a, f32, A, NO>, for<'a> as Kernel>::Args == AddBiasBatchArgs<'a, f32, A, NO>, for<'a> as Kernel>::Args == ReduceLinearBatchArgs<'a, f32, A, NO>, I: Debug, I: 'static, ::Type: Debug, ::Type: BatchSize, ::Type: IntoConverter, ::Type: 'static, ::Type: TryFrom<, A> as IntoConverter>::Converter>, A: CudaAllocator, A: MemoryType, A: 'static, CudaPtr: AsPtr, CudaPtr: WriteMemory, CudaVec, A>: IntoConverter, CudaTensor1dPtr: AsConstKernelPtr, CudaTensor1dPtr: AsKernelPtr, CudaTensor1dPtr: MemorySize, CudaTensor1dPtr: MemoryMoveTo>, CudaTensor1dPtr: ReadMemory, CudaTensor1dPtr: WriteMemory, CudaTensor2dPtr: ReadMemory, CudaTensor2dPtr: WriteMemory, DeviceGpu: DeviceReduce, A>, CudaTensor1dPtr, f32, NO>, for<'a> I: CudaView<'a>, for<'a> ::Type: CudaView<'a>, for<'a> CudaTensor1dPtr: AsCudaPtr<'a>, CudaTensor1dPtr: AsCudaMutPtr, the constant `NI` has type `usize`, CudaTensor1dPtr: AsCudaReadOnlyPtr, the constant `NO` has type `usize`, for<'a> CudaMutPtr<'a, f32, A>: AsMutPtr, for<'a> CudaTensor1dPtr: CudaView<'a>, for<'a> &'a I: AsCudaView<'a>, for<'a> &'a ::Type: AsCudaView<'a>, for<'a> &'a CudaTensor1dPtr: AsCudaView<'a>, for<'a> CudaTensor1dPtrView<'a, f32, NI>: MemorySize, for<'a> CudaTensor1dPtrView<'a, f32, NI>: AsConstKernelPtr, for<'a> CudaTensor1dPtrView<'a, f32, NI>: From<>::Type>, for<'a> CudaTensor1dPtrView<'a, f32, NI>: From<<&'a I as CudaView<'a>>::Type>, for<'a> CudaTensor1dPtrView<'a, f32, NO>: MemorySize, for<'a> CudaTensor1dPtrView<'a, f32, NO>: AsConstKernelPtr, for<'a> CudaTensor1dPtrView<'a, f32, NO>: From< as CudaView<'a>>::Type>, for<'a> CudaTensor1dPtrView<'a, f32, NO>: From<<&'a CudaTensor1dPtr as CudaView<'a>>::Type>, for<'a> <&'a ::Type as CudaView<'a>>::Type: IntoConverter, for<'a> CudaVecView<'a, f32, CudaTensor1dPtrView<'a, f32, NI>>: TryFrom<<<&'a ::Type as CudaView<'a>>::Type as IntoConverter>::Converter>, I: BatchDataType, for<'a> CudaVecView<'a, f32, CudaTensor1dPtrView<'a, f32, NO>>: TryFrom<&'a CudaVec, A>>, I: MemorySize, for<'a> AddBias<'a, f32, A, NO>: Kernel, I: AsConstKernelPtr, for<'a> AddBiasBatch<'a, f32, A, NO>: Kernel, I: AsKernelPtr, for<'a> ReduceLinearBatch<'a, f32, A, NO>: Kernel, I: From>, ::Type: ?Sized, CudaPtr: ?Sized, CudaVec, A>: ?Sized, CudaTensor1dPtr: ?Sized, CudaTensor2dPtr: ?Sized, DeviceGpu: ?Sized, CudaTensor1dPtr: ?Sized, CudaMutPtr<'a, f32, A>: ?Sized, &'a I: ?Sized, &'a ::Type: ?Sized, &'a CudaTensor1dPtr: ?Sized, CudaTensor1dPtrView<'a, f32, NI>: ?Sized, CudaTensor1dPtrView<'a, f32, NO>: ?Sized, <&'a ::Type as CudaView<'a>>::Type: ?Sized, CudaVecView<'a, f32, CudaTensor1dPtrView<'a, f32, NI>>: ?Sized, CudaVecView<'a, f32, CudaTensor1dPtrView<'a, f32, NO>>: ?Sized, AddBias<'a, f32, A, NO>: ?Sized, AddBiasBatch<'a, f32, A, NO>: ?Sized, ReduceLinearBatch<'a, f32, A, NO>: ?Sized; [INFO] [stdout] note: required by a bound in `batch_forward_linear` [INFO] [stdout] --> src/device/linear.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 30 | pub trait DeviceLinear [INFO] [stdout] 31 | where U: UnitValue, [INFO] [stdout] 32 | I: BatchDataType { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `DeviceLinear::batch_forward_linear` [INFO] [stdout] ... [INFO] [stdout] 123 | fn batch_forward_linear<'a>(&self,bias:&B,units:&T,input: &'a ::Type) [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/nncombinator/81a2942cccfc2e8a/out/lib-81a2942cccfc2e8a.long-type-6908098932482226528.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] help: try using a fully qualified path to specify the expected types [INFO] [stdout] | [INFO] [stdout] 40 - let d_output = device_gpu.batch_forward_linear(&d_bias,&d_units,&d_inputs).unwrap(); [INFO] [stdout] 40 + let d_output = > as DeviceLinear, 500, 600>, CudaTensor1dPtr, 600>, I, 500, 600>>::batch_forward_linear(&device_gpu, &d_bias,&d_units,&d_inputs).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> tests/cuda/cublas.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | let d_output = device_gpu.batch_backward_linear(&d_units,(&d_loss).into()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 98 | [INFO] [stdout] 99 | let gpu_out = d_output.read_to_vec().unwrap(); [INFO] [stdout] | -------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `d_output` an explicit type [INFO] [stdout] | [INFO] [stdout] 97 | let d_output: /* Type */ = device_gpu.batch_backward_linear(&d_units,(&d_loss).into()).unwrap(); [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0284]: type annotations needed [INFO] [stdout] --> tests/cuda/cublas.rs:165:31 [INFO] [stdout] | [INFO] [stdout] 165 | let d_output = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `<_ as BatchDataType>::Type == CudaVec` [INFO] [stdout] = note: the type must also implement `BatchDataType` [INFO] [stdout] note: required by a bound in `batch_backward_weight_gradient` [INFO] [stdout] --> src/device/linear.rs:32:14 [INFO] [stdout] | [INFO] [stdout] 30 | pub trait DeviceLinear [INFO] [stdout] 31 | where U: UnitValue, [INFO] [stdout] 32 | I: BatchDataType { [INFO] [stdout] | ^^^^^^^^^^^^^ required by this bound in `DeviceLinear::batch_backward_weight_gradient` [INFO] [stdout] ... [INFO] [stdout] 145 | fn batch_backward_weight_gradient<'a>(&self, o: &'a ::Type, loss: &'a Self::BatchOutput) [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/nncombinator/81a2942cccfc2e8a/out/lib-81a2942cccfc2e8a.long-type-7766294274296105886.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] help: try using a fully qualified path to specify the expected types [INFO] [stdout] | [INFO] [stdout] 165 - let d_output = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] 165 + let d_output = > as DeviceLinear, NI, 600>, CudaTensor1dPtr, 600>, I, NI, 600>>::batch_backward_weight_gradient(&device_gpu, d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0284]: type annotations needed for `CudaTensor2dPtr, _, 600>` [INFO] [stdout] --> tests/cuda/cublas.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | let d_output = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ^^^^^^^^ ------------------------------ type must be known at this point [INFO] [stdout] | [INFO] [stdout] = note: cannot satisfy `DeviceGpu: DeviceLinear` [INFO] [stdout] note: required by a const generic parameter in `batch_backward_weight_gradient` [INFO] [stdout] --> src/device/linear.rs:30:32 [INFO] [stdout] | [INFO] [stdout] 30 | pub trait DeviceLinear [INFO] [stdout] | ^^^^^^^^^^^^^^^ required by this const generic parameter in `DeviceLinear::batch_backward_weight_gradient` [INFO] [stdout] ... [INFO] [stdout] 145 | fn batch_backward_weight_gradient<'a>(&self, o: &'a ::Type, loss: &'a Self::BatchOutput) [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/nncombinator/81a2942cccfc2e8a/out/lib-81a2942cccfc2e8a.long-type-1058268455013211263.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] help: consider giving `d_output` an explicit type, where the value of const parameter `NI` is specified [INFO] [stdout] | [INFO] [stdout] 165 | let d_output: CudaTensor2dPtr<_, _, NI, 600> = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0284]: type annotations needed for `CudaTensor2dPtr, _, 600>` [INFO] [stdout] --> tests/cuda/cublas.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | let d_output = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ^^^^^^^^ -------------------------------------------------------------------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] note: required by a const generic parameter in `CudaTensor2dPtr` [INFO] [stdout] --> src/cuda/mod.rs:1219:32 [INFO] [stdout] | [INFO] [stdout] 1219 | pub struct CudaTensor2dPtr [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this const generic parameter in `CudaTensor2dPtr` [INFO] [stdout] help: consider giving `d_output` an explicit type, where the value of const parameter `NI` is specified [INFO] [stdout] | [INFO] [stdout] 165 | let d_output: CudaTensor2dPtr<_, _, NI, 600> = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0284]: type annotations needed for `CudaTensor2dPtr, _, 600>` [INFO] [stdout] --> tests/cuda/cublas.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | let d_output = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ^^^^^^^^ ----------------------------------------------------------------------------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] note: required by a const generic parameter in `CudaTensor2dPtr` [INFO] [stdout] --> src/cuda/mod.rs:1219:32 [INFO] [stdout] | [INFO] [stdout] 1219 | pub struct CudaTensor2dPtr [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this const generic parameter in `CudaTensor2dPtr` [INFO] [stdout] help: consider giving `d_output` an explicit type, where the value of const parameter `NI` is specified [INFO] [stdout] | [INFO] [stdout] 165 | let d_output: CudaTensor2dPtr<_, _, NI, 600> = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0284]: type annotations needed for `CudaTensor2dPtr, _, 600>` [INFO] [stdout] --> tests/cuda/cublas.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | let d_output = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ^^^^^^^^ ------ type must be known at this point [INFO] [stdout] | [INFO] [stdout] note: required by a const generic parameter in `CudaTensor2dPtr` [INFO] [stdout] --> src/cuda/mod.rs:1219:32 [INFO] [stdout] | [INFO] [stdout] 1219 | pub struct CudaTensor2dPtr [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this const generic parameter in `CudaTensor2dPtr` [INFO] [stdout] help: consider giving `d_output` an explicit type, where the value of const parameter `NI` is specified [INFO] [stdout] | [INFO] [stdout] 165 | let d_output: CudaTensor2dPtr<_, _, NI, 600> = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0284]: type annotations needed for `CudaTensor2dPtr, _, 600>` [INFO] [stdout] --> tests/cuda/cublas.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | let d_output = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 166 | [INFO] [stdout] 167 | let gpu_out = d_output.read_to_vec().unwrap(); [INFO] [stdout] | ----------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] = note: required for `CudaTensor2dPtr, _, 600>` to implement `PointerElement` [INFO] [stdout] note: required by a bound in `read_to_vec` [INFO] [stdout] --> src/cuda/mod.rs:315:43 [INFO] [stdout] | [INFO] [stdout] 315 | pub trait ReadMemory: PointerElement { [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this bound in `ReadMemory::read_to_vec` [INFO] [stdout] ... [INFO] [stdout] 322 | fn read_to_vec(&self) -> Result,rcudnn::Error>; [INFO] [stdout] | [INFO] [stdout] help: consider giving `d_output` an explicit type, where the value of const parameter `NI` is specified [INFO] [stdout] | [INFO] [stdout] 165 | let d_output: CudaTensor2dPtr<_, _, NI, 600> = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0284]: type annotations needed for `CudaTensor2dPtr, _, 600>` [INFO] [stdout] --> tests/cuda/cublas.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | let d_output = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 166 | [INFO] [stdout] 167 | let gpu_out = d_output.read_to_vec().unwrap(); [INFO] [stdout] | ---------------------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] note: required by a const generic parameter in `CudaTensor2dPtr` [INFO] [stdout] --> src/cuda/mod.rs:1219:32 [INFO] [stdout] | [INFO] [stdout] 1219 | pub struct CudaTensor2dPtr [INFO] [stdout] | ^^^^^^^^^^^^^^ required by this const generic parameter in `CudaTensor2dPtr` [INFO] [stdout] help: consider giving `d_output` an explicit type, where the value of const parameter `NI` is specified [INFO] [stdout] | [INFO] [stdout] 165 | let d_output: CudaTensor2dPtr<_, _, NI, 600> = device_gpu.batch_backward_weight_gradient(d_inputs,(&d_loss).into()).unwrap(); [INFO] [stdout] | ++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0284. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `nncombinator` (test "lib") due to 9 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:13:102 [INFO] [stdout] | [INFO] [stdout] 13 | fn sigmoid_forward_float(input: *const f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] = note: `#[warn(c_void_returns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:14:99 [INFO] [stdout] | [INFO] [stdout] 14 | fn relu_forward_float(input: *const f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:15:121 [INFO] [stdout] | [INFO] [stdout] 15 | fn clipped_relu_forward_float(input: *const f32, ceiling: f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:16:105 [INFO] [stdout] | [INFO] [stdout] 16 | fn leaky_relu_forward_float(input: *const f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:17:100 [INFO] [stdout] | [INFO] [stdout] 17 | fn swish_forward_float(input: *const f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:18:99 [INFO] [stdout] | [INFO] [stdout] 18 | fn tanh_forward_float(input: *const f32, output: *mut f32, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:19:103 [INFO] [stdout] | [INFO] [stdout] 19 | fn softmax_forward_float(input: *const f32, output: *mut f32, len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:20:139 [INFO] [stdout] | [INFO] [stdout] 20 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:21:136 [INFO] [stdout] | [INFO] [stdout] 21 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:22:158 [INFO] [stdout] | [INFO] [stdout] 22 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:23:142 [INFO] [stdout] | [INFO] [stdout] 23 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:24:137 [INFO] [stdout] | [INFO] [stdout] 24 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:25:136 [INFO] [stdout] | [INFO] [stdout] 25 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:26:139 [INFO] [stdout] | [INFO] [stdout] 26 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:27:103 [INFO] [stdout] | [INFO] [stdout] 27 | fn sigmoid_forward_double(input: *const f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:28:100 [INFO] [stdout] | [INFO] [stdout] 28 | fn relu_forward_double(input: *const f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:29:122 [INFO] [stdout] | [INFO] [stdout] 29 | fn clipped_relu_forward_double(input: *const f64, ceiling: f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:30:106 [INFO] [stdout] | [INFO] [stdout] 30 | fn leaky_relu_forward_double(input: *const f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:31:101 [INFO] [stdout] | [INFO] [stdout] 31 | fn swish_forward_double(input: *const f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:32:100 [INFO] [stdout] | [INFO] [stdout] 32 | fn tanh_forward_double(input: *const f64, output: *mut f64, len: size_t, units_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:33:104 [INFO] [stdout] | [INFO] [stdout] 33 | fn softmax_forward_double(input: *const f64, output: *mut f64, len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:34:140 [INFO] [stdout] | [INFO] [stdout] 34 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:35:137 [INFO] [stdout] | [INFO] [stdout] 35 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:36:159 [INFO] [stdout] | [INFO] [stdout] 36 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:37:143 [INFO] [stdout] | [INFO] [stdout] 37 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:38:138 [INFO] [stdout] | [INFO] [stdout] 38 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:39:137 [INFO] [stdout] | [INFO] [stdout] 39 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/activation.rs:40:140 [INFO] [stdout] | [INFO] [stdout] 40 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:12:126 [INFO] [stdout] | [INFO] [stdout] 12 | fn loss_linear_batch_mse_derive_float(r: *const f32, t: *const f32, output: *mut f32, nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:13:127 [INFO] [stdout] | [INFO] [stdout] 13 | fn loss_linear_batch_mse_derive_double(r: *const f64, t: *const f64, output: *mut f64, nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:14:136 [INFO] [stdout] | [INFO] [stdout] 14 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:15:137 [INFO] [stdout] | [INFO] [stdout] 15 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:16:147 [INFO] [stdout] | [INFO] [stdout] 16 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/lossfunction.rs:17:148 [INFO] [stdout] | [INFO] [stdout] 17 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:14:106 [INFO] [stdout] | [INFO] [stdout] 14 | fn reduce_linear_batch_float(input: *const f32, output: *mut f32, nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:15:107 [INFO] [stdout] | [INFO] [stdout] 15 | fn reduce_linear_batch_double(input: *const f64, output: *mut f64, nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:16:171 [INFO] [stdout] | [INFO] [stdout] 16 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:17:172 [INFO] [stdout] | [INFO] [stdout] 17 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:18:153 [INFO] [stdout] | [INFO] [stdout] 18 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:19:154 [INFO] [stdout] | [INFO] [stdout] 19 | ...len: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:20:173 [INFO] [stdout] | [INFO] [stdout] 20 | ...ize: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:21:174 [INFO] [stdout] | [INFO] [stdout] 21 | ...ize: size_t, batch_size: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:22:145 [INFO] [stdout] | [INFO] [stdout] 22 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:23:146 [INFO] [stdout] | [INFO] [stdout] 23 | ... nlen: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:24:174 [INFO] [stdout] | [INFO] [stdout] 24 | ..._size: size_t, diff_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:25:175 [INFO] [stdout] | [INFO] [stdout] 25 | ..._size: size_t, diff_len: size_t) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:26:110 [INFO] [stdout] | [INFO] [stdout] 26 | fn addbias_batch_float(bias: *const f32, input_output: *mut f32, units_len: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: declarations returning `c_void` are not compatible with C functions returning `void` [INFO] [stdout] --> src/cuda/kernel/device.rs:27:111 [INFO] [stdout] | [INFO] [stdout] 27 | fn addbias_batch_double(bias: *const f64, input_output: *mut f64, units_len: c_int, batch_size: c_int) -> c_void; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the return type to implicitly return `()` [INFO] [stdout] | [INFO] [stdout] = help: returning `()` in Rust is equivalent to returning `void` in C [INFO] [stdout] = note: `c_void` is only used through raw pointers for compatibility with `void` pointers [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "384368fa32b24ee0dc9f2ce2ed4ef13a1c198b09020d733f0541914b74f4d939", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "384368fa32b24ee0dc9f2ce2ed4ef13a1c198b09020d733f0541914b74f4d939", kill_on_drop: false }` [INFO] [stdout] 384368fa32b24ee0dc9f2ce2ed4ef13a1c198b09020d733f0541914b74f4d939