[INFO] cloning repository https://github.com/guoql666/rust_asm_matrix [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/guoql666/rust_asm_matrix" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguoql666%2Frust_asm_matrix", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguoql666%2Frust_asm_matrix'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6103e3ac87cd9d0921b4ded31012faf23b2ffb00 [INFO] linting guoql666/rust_asm_matrix against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguoql666%2Frust_asm_matrix" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/guoql666/rust_asm_matrix [INFO] finished tweaking git repo https://github.com/guoql666/rust_asm_matrix [INFO] tweaked toml for git repo https://github.com/guoql666/rust_asm_matrix written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/guoql666/rust_asm_matrix on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/guoql666/rust_asm_matrix 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5d24ba6f3419f05741366ba156d8a53c2ca1ebe45b97b21cd0c8c6707732d14e [INFO] running `Command { std: "docker" "start" "-a" "5d24ba6f3419f05741366ba156d8a53c2ca1ebe45b97b21cd0c8c6707732d14e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5d24ba6f3419f05741366ba156d8a53c2ca1ebe45b97b21cd0c8c6707732d14e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d24ba6f3419f05741366ba156d8a53c2ca1ebe45b97b21cd0c8c6707732d14e", kill_on_drop: false }` [INFO] [stdout] 5d24ba6f3419f05741366ba156d8a53c2ca1ebe45b97b21cd0c8c6707732d14e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0d84af03f658a14fd651afb61a1a480b2867d4b174f09ccbedae68dafe27bbc1 [INFO] running `Command { std: "docker" "start" "-a" "0d84af03f658a14fd651afb61a1a480b2867d4b174f09ccbedae68dafe27bbc1", kill_on_drop: false }` [INFO] [stderr] Checking rust_asm_matrix v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/kernel.rs:427:29 [INFO] [stdout] | [INFO] [stdout] 427 | let a0 = *a_ptr.add(a_idx + 0); [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `a_idx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/kernel.rs:432:29 [INFO] [stdout] | [INFO] [stdout] 432 | let b0 = *b_ptr.add(b_idx + 0); [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `b_idx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/gemm.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub(crate) unsafe fn gemm_macro_generic( [INFO] [stdout] 41 | | m: usize, n: usize, k: usize, // 输入进来的是一个m*k的矩阵A和一个k*n的矩阵B,输出一个m*n的矩阵C [INFO] [stdout] 42 | | a_ptr: *const T, step_a: usize, // A矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 43 | | b_ptr: *const T, step_b: usize, // B矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] ... | [INFO] [stdout] 47 | | where T: Default + Copy + Send + Sync, [INFO] [stdout] 48 | | K: MicroKernel [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/gemm.rs:231:1 [INFO] [stdout] | [INFO] [stdout] 231 | / pub(crate) unsafe fn naive_matmul( [INFO] [stdout] 232 | | m: usize, n: usize, k: usize, [INFO] [stdout] 233 | | a_ptr: *const T, step_a: usize, [INFO] [stdout] 234 | | b_ptr: *const T, step_b: usize, [INFO] [stdout] ... | [INFO] [stdout] 238 | | where T: Copy + Default + AddAssign + Mul [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pub unsafe fn gemm_f32( [INFO] [stdout] 11 | | m: usize, n: usize, k: usize, // 输入进来的是一个m*k的矩阵A和一个k*n的矩阵B,输出一个m*n的矩阵C [INFO] [stdout] 12 | | a_ptr: *const f32, step_a: usize, // A矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 13 | | b_ptr: *const f32, step_b: usize, // B矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 14 | | c_ptr: *mut f32, step_c: usize, // C矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 15 | | parallel: bool [INFO] [stdout] 16 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pub unsafe fn gemm_f32( [INFO] [stdout] 11 | | m: usize, n: usize, k: usize, // 输入进来的是一个m*k的矩阵A和一个k*n的矩阵B,输出一个m*n的矩阵C [INFO] [stdout] 12 | | a_ptr: *const f32, step_a: usize, // A矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 13 | | b_ptr: *const f32, step_b: usize, // B矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 14 | | c_ptr: *mut f32, step_c: usize, // C矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 15 | | parallel: bool [INFO] [stdout] 16 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / pub unsafe fn gemm_i32( [INFO] [stdout] 21 | | m: usize, n: usize, k: usize, [INFO] [stdout] 22 | | a_ptr: *const i32, step_a: usize, [INFO] [stdout] 23 | | b_ptr: *const i32, step_b: usize, [INFO] [stdout] 24 | | c_ptr: *mut i32, step_c: usize, [INFO] [stdout] 25 | | parallel: bool [INFO] [stdout] 26 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / pub unsafe fn gemm_i32( [INFO] [stdout] 21 | | m: usize, n: usize, k: usize, [INFO] [stdout] 22 | | a_ptr: *const i32, step_a: usize, [INFO] [stdout] 23 | | b_ptr: *const i32, step_b: usize, [INFO] [stdout] 24 | | c_ptr: *mut i32, step_c: usize, [INFO] [stdout] 25 | | parallel: bool [INFO] [stdout] 26 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / pub unsafe fn gemm_i64_avx512( [INFO] [stdout] 31 | | m: usize, n: usize, k: usize, [INFO] [stdout] 32 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 33 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 34 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 35 | | parallel: bool [INFO] [stdout] 36 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / pub unsafe fn gemm_i64_avx512( [INFO] [stdout] 31 | | m: usize, n: usize, k: usize, [INFO] [stdout] 32 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 33 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 34 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 35 | | parallel: bool [INFO] [stdout] 36 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub unsafe fn gemm_i64_scalar( [INFO] [stdout] 41 | | m: usize, n: usize, k: usize, [INFO] [stdout] 42 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 43 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 44 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 45 | | parallel: bool [INFO] [stdout] 46 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub unsafe fn gemm_i64_scalar( [INFO] [stdout] 41 | | m: usize, n: usize, k: usize, [INFO] [stdout] 42 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 43 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 44 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 45 | | parallel: bool [INFO] [stdout] 46 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:50:1 [INFO] [stdout] | [INFO] [stdout] 50 | / pub unsafe fn gemm_i64( [INFO] [stdout] 51 | | m: usize, n: usize, k: usize, [INFO] [stdout] 52 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 53 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 54 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 55 | | parallel: bool [INFO] [stdout] 56 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:50:1 [INFO] [stdout] | [INFO] [stdout] 50 | / pub unsafe fn gemm_i64( [INFO] [stdout] 51 | | m: usize, n: usize, k: usize, [INFO] [stdout] 52 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 53 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 54 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 55 | | parallel: bool [INFO] [stdout] 56 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | / pub unsafe fn naive_gemm( [INFO] [stdout] 73 | | m: usize, n: usize, k: usize, [INFO] [stdout] 74 | | a_ptr: *const T, step_a: usize, [INFO] [stdout] 75 | | b_ptr: *const T, step_b: usize, [INFO] [stdout] 76 | | c_ptr: *mut T, step_c: usize, [INFO] [stdout] 77 | | parallel: bool [INFO] [stdout] 78 | | ) where T: Default + Copy + AddAssign + Mul [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | / pub unsafe fn naive_gemm( [INFO] [stdout] 73 | | m: usize, n: usize, k: usize, [INFO] [stdout] 74 | | a_ptr: *const T, step_a: usize, [INFO] [stdout] 75 | | b_ptr: *const T, step_b: usize, [INFO] [stdout] 76 | | c_ptr: *mut T, step_c: usize, [INFO] [stdout] 77 | | parallel: bool [INFO] [stdout] 78 | | ) where T: Default + Copy + AddAssign + Mul [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | / unsafe fn run_gemm( [INFO] [stdout] 85 | | m: usize, n: usize, k: usize, [INFO] [stdout] 86 | | a_ptr: *const Self, step_a: usize, [INFO] [stdout] 87 | | b_ptr: *const Self, step_b: usize, [INFO] [stdout] 88 | | c_ptr: *mut Self, step_c: usize, [INFO] [stdout] 89 | | parallel: bool [INFO] [stdout] 90 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | / unsafe fn run_gemm( [INFO] [stdout] 85 | | m: usize, n: usize, k: usize, [INFO] [stdout] 86 | | a_ptr: *const Self, step_a: usize, [INFO] [stdout] 87 | | b_ptr: *const Self, step_b: usize, [INFO] [stdout] 88 | | c_ptr: *mut Self, step_c: usize, [INFO] [stdout] 89 | | parallel: bool [INFO] [stdout] 90 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / pub unsafe fn gemm( [INFO] [stdout] 130 | | m: usize, n: usize, k: usize, [INFO] [stdout] 131 | | a_ptr: *const T, step_a: usize, [INFO] [stdout] 132 | | b_ptr: *const T, step_b: usize, [INFO] [stdout] 133 | | c_ptr: *mut T, step_c: usize, [INFO] [stdout] 134 | | parallel: Parallel [INFO] [stdout] 135 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / pub unsafe fn gemm( [INFO] [stdout] 130 | | m: usize, n: usize, k: usize, [INFO] [stdout] 131 | | a_ptr: *const T, step_a: usize, [INFO] [stdout] 132 | | b_ptr: *const T, step_b: usize, [INFO] [stdout] 133 | | c_ptr: *mut T, step_c: usize, [INFO] [stdout] 134 | | parallel: Parallel [INFO] [stdout] 135 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | / pub fn gemm_safe( [INFO] [stdout] 147 | | m: usize, n: usize, k: usize, [INFO] [stdout] 148 | | a: &[T], step_a: usize, [INFO] [stdout] 149 | | b: &[T], step_b: usize, [INFO] [stdout] 150 | | c: &mut [T], step_c: usize, [INFO] [stdout] 151 | | parallel: Parallel [INFO] [stdout] 152 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | if m < MINIUM_SIZE_FOR_MULTITHREADING && n < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] | ________^ [INFO] [stdout] 17 | | || n < MINIUM_SIZE_FOR_MULTITHREADING && k < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] | |_______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 16 - if m < MINIUM_SIZE_FOR_MULTITHREADING && n < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] 17 - || n < MINIUM_SIZE_FOR_MULTITHREADING && k < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] 16 + if !(n >= MINIUM_SIZE_FOR_MULTITHREADING || m >= MINIUM_SIZE_FOR_MULTITHREADING && k >= MINIUM_SIZE_FOR_MULTITHREADING) [INFO] [stdout] | [INFO] [stdout] 16 - if m < MINIUM_SIZE_FOR_MULTITHREADING && n < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] 17 - || n < MINIUM_SIZE_FOR_MULTITHREADING && k < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] 16 + if (k < MINIUM_SIZE_FOR_MULTITHREADING || m < MINIUM_SIZE_FOR_MULTITHREADING) && n < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/kernel.rs:427:29 [INFO] [stdout] | [INFO] [stdout] 427 | let a0 = *a_ptr.add(a_idx + 0); [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `a_idx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/kernel.rs:432:29 [INFO] [stdout] | [INFO] [stdout] 432 | let b0 = *b_ptr.add(b_idx + 0); [INFO] [stdout] | ^^^^^^^^^ help: consider reducing it to: `b_idx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/gemm.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub(crate) unsafe fn gemm_macro_generic( [INFO] [stdout] 41 | | m: usize, n: usize, k: usize, // 输入进来的是一个m*k的矩阵A和一个k*n的矩阵B,输出一个m*n的矩阵C [INFO] [stdout] 42 | | a_ptr: *const T, step_a: usize, // A矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 43 | | b_ptr: *const T, step_b: usize, // B矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] ... | [INFO] [stdout] 47 | | where T: Default + Copy + Send + Sync, [INFO] [stdout] 48 | | K: MicroKernel [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/gemm.rs:231:1 [INFO] [stdout] | [INFO] [stdout] 231 | / pub(crate) unsafe fn naive_matmul( [INFO] [stdout] 232 | | m: usize, n: usize, k: usize, [INFO] [stdout] 233 | | a_ptr: *const T, step_a: usize, [INFO] [stdout] 234 | | b_ptr: *const T, step_b: usize, [INFO] [stdout] ... | [INFO] [stdout] 238 | | where T: Copy + Default + AddAssign + Mul [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pub unsafe fn gemm_f32( [INFO] [stdout] 11 | | m: usize, n: usize, k: usize, // 输入进来的是一个m*k的矩阵A和一个k*n的矩阵B,输出一个m*n的矩阵C [INFO] [stdout] 12 | | a_ptr: *const f32, step_a: usize, // A矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 13 | | b_ptr: *const f32, step_b: usize, // B矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 14 | | c_ptr: *mut f32, step_c: usize, // C矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 15 | | parallel: bool [INFO] [stdout] 16 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pub unsafe fn gemm_f32( [INFO] [stdout] 11 | | m: usize, n: usize, k: usize, // 输入进来的是一个m*k的矩阵A和一个k*n的矩阵B,输出一个m*n的矩阵C [INFO] [stdout] 12 | | a_ptr: *const f32, step_a: usize, // A矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 13 | | b_ptr: *const f32, step_b: usize, // B矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 14 | | c_ptr: *mut f32, step_c: usize, // C矩阵的行跨度,即原始矩阵有多少列 [INFO] [stdout] 15 | | parallel: bool [INFO] [stdout] 16 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / pub unsafe fn gemm_i32( [INFO] [stdout] 21 | | m: usize, n: usize, k: usize, [INFO] [stdout] 22 | | a_ptr: *const i32, step_a: usize, [INFO] [stdout] 23 | | b_ptr: *const i32, step_b: usize, [INFO] [stdout] 24 | | c_ptr: *mut i32, step_c: usize, [INFO] [stdout] 25 | | parallel: bool [INFO] [stdout] 26 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / pub unsafe fn gemm_i32( [INFO] [stdout] 21 | | m: usize, n: usize, k: usize, [INFO] [stdout] 22 | | a_ptr: *const i32, step_a: usize, [INFO] [stdout] 23 | | b_ptr: *const i32, step_b: usize, [INFO] [stdout] 24 | | c_ptr: *mut i32, step_c: usize, [INFO] [stdout] 25 | | parallel: bool [INFO] [stdout] 26 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / pub unsafe fn gemm_i64_avx512( [INFO] [stdout] 31 | | m: usize, n: usize, k: usize, [INFO] [stdout] 32 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 33 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 34 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 35 | | parallel: bool [INFO] [stdout] 36 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | / pub unsafe fn gemm_i64_avx512( [INFO] [stdout] 31 | | m: usize, n: usize, k: usize, [INFO] [stdout] 32 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 33 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 34 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 35 | | parallel: bool [INFO] [stdout] 36 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub unsafe fn gemm_i64_scalar( [INFO] [stdout] 41 | | m: usize, n: usize, k: usize, [INFO] [stdout] 42 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 43 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 44 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 45 | | parallel: bool [INFO] [stdout] 46 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub unsafe fn gemm_i64_scalar( [INFO] [stdout] 41 | | m: usize, n: usize, k: usize, [INFO] [stdout] 42 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 43 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 44 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 45 | | parallel: bool [INFO] [stdout] 46 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:50:1 [INFO] [stdout] | [INFO] [stdout] 50 | / pub unsafe fn gemm_i64( [INFO] [stdout] 51 | | m: usize, n: usize, k: usize, [INFO] [stdout] 52 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 53 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 54 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 55 | | parallel: bool [INFO] [stdout] 56 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:50:1 [INFO] [stdout] | [INFO] [stdout] 50 | / pub unsafe fn gemm_i64( [INFO] [stdout] 51 | | m: usize, n: usize, k: usize, [INFO] [stdout] 52 | | a_ptr: *const i64, step_a: usize, [INFO] [stdout] 53 | | b_ptr: *const i64, step_b: usize, [INFO] [stdout] 54 | | c_ptr: *mut i64, step_c: usize, [INFO] [stdout] 55 | | parallel: bool [INFO] [stdout] 56 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | / pub unsafe fn naive_gemm( [INFO] [stdout] 73 | | m: usize, n: usize, k: usize, [INFO] [stdout] 74 | | a_ptr: *const T, step_a: usize, [INFO] [stdout] 75 | | b_ptr: *const T, step_b: usize, [INFO] [stdout] 76 | | c_ptr: *mut T, step_c: usize, [INFO] [stdout] 77 | | parallel: bool [INFO] [stdout] 78 | | ) where T: Default + Copy + AddAssign + Mul [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | / pub unsafe fn naive_gemm( [INFO] [stdout] 73 | | m: usize, n: usize, k: usize, [INFO] [stdout] 74 | | a_ptr: *const T, step_a: usize, [INFO] [stdout] 75 | | b_ptr: *const T, step_b: usize, [INFO] [stdout] 76 | | c_ptr: *mut T, step_c: usize, [INFO] [stdout] 77 | | parallel: bool [INFO] [stdout] 78 | | ) where T: Default + Copy + AddAssign + Mul [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | / unsafe fn run_gemm( [INFO] [stdout] 85 | | m: usize, n: usize, k: usize, [INFO] [stdout] 86 | | a_ptr: *const Self, step_a: usize, [INFO] [stdout] 87 | | b_ptr: *const Self, step_b: usize, [INFO] [stdout] 88 | | c_ptr: *mut Self, step_c: usize, [INFO] [stdout] 89 | | parallel: bool [INFO] [stdout] 90 | | ); [INFO] [stdout] | |______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | / unsafe fn run_gemm( [INFO] [stdout] 85 | | m: usize, n: usize, k: usize, [INFO] [stdout] 86 | | a_ptr: *const Self, step_a: usize, [INFO] [stdout] 87 | | b_ptr: *const Self, step_b: usize, [INFO] [stdout] 88 | | c_ptr: *mut Self, step_c: usize, [INFO] [stdout] 89 | | parallel: bool [INFO] [stdout] 90 | | ); [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/solver.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / pub unsafe fn gemm( [INFO] [stdout] 130 | | m: usize, n: usize, k: usize, [INFO] [stdout] 131 | | a_ptr: *const T, step_a: usize, [INFO] [stdout] 132 | | b_ptr: *const T, step_b: usize, [INFO] [stdout] 133 | | c_ptr: *mut T, step_c: usize, [INFO] [stdout] 134 | | parallel: Parallel [INFO] [stdout] 135 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / pub unsafe fn gemm( [INFO] [stdout] 130 | | m: usize, n: usize, k: usize, [INFO] [stdout] 131 | | a_ptr: *const T, step_a: usize, [INFO] [stdout] 132 | | b_ptr: *const T, step_b: usize, [INFO] [stdout] 133 | | c_ptr: *mut T, step_c: usize, [INFO] [stdout] 134 | | parallel: Parallel [INFO] [stdout] 135 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/solver.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | / pub fn gemm_safe( [INFO] [stdout] 147 | | m: usize, n: usize, k: usize, [INFO] [stdout] 148 | | a: &[T], step_a: usize, [INFO] [stdout] 149 | | b: &[T], step_b: usize, [INFO] [stdout] 150 | | c: &mut [T], step_c: usize, [INFO] [stdout] 151 | | parallel: Parallel [INFO] [stdout] 152 | | ){ [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | if m < MINIUM_SIZE_FOR_MULTITHREADING && n < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] | ________^ [INFO] [stdout] 17 | | || n < MINIUM_SIZE_FOR_MULTITHREADING && k < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] | |_______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 16 - if m < MINIUM_SIZE_FOR_MULTITHREADING && n < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] 17 - || n < MINIUM_SIZE_FOR_MULTITHREADING && k < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] 16 + if !(n >= MINIUM_SIZE_FOR_MULTITHREADING || m >= MINIUM_SIZE_FOR_MULTITHREADING && k >= MINIUM_SIZE_FOR_MULTITHREADING) [INFO] [stdout] | [INFO] [stdout] 16 - if m < MINIUM_SIZE_FOR_MULTITHREADING && n < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] 17 - || n < MINIUM_SIZE_FOR_MULTITHREADING && k < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] 16 + if (k < MINIUM_SIZE_FOR_MULTITHREADING || m < MINIUM_SIZE_FOR_MULTITHREADING) && n < MINIUM_SIZE_FOR_MULTITHREADING [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> tests/mutithread_bench.rs:32:18 [INFO] [stdout] | [INFO] [stdout] 32 | for i in 0..m * k { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 32 - for i in 0..m * k { [INFO] [stdout] 32 + for (i, ) in a.iter_mut().enumerate().take(m * k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `b` [INFO] [stdout] --> tests/mutithread_bench.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | for i in 0..k * n { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 35 - for i in 0..k * n { [INFO] [stdout] 35 + for (i, ) in b.iter_mut().enumerate().take(k * n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> tests/mutithread_bench.rs:116:18 [INFO] [stdout] | [INFO] [stdout] 116 | for i in 0..m * k { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 116 - for i in 0..m * k { [INFO] [stdout] 116 + for (i, ) in a.iter_mut().enumerate().take(m * k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `b` [INFO] [stdout] --> tests/mutithread_bench.rs:119:18 [INFO] [stdout] | [INFO] [stdout] 119 | for i in 0..k * n { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 119 - for i in 0..k * n { [INFO] [stdout] 119 + for (i, ) in b.iter_mut().enumerate().take(k * n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> tests/mutithread_bench.rs:188:18 [INFO] [stdout] | [INFO] [stdout] 188 | for i in 0..m * k { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 188 - for i in 0..m * k { [INFO] [stdout] 188 + for (i, ) in a.iter_mut().enumerate().take(m * k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `b` [INFO] [stdout] --> tests/mutithread_bench.rs:191:18 [INFO] [stdout] | [INFO] [stdout] 191 | for i in 0..k * n { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 191 - for i in 0..k * n { [INFO] [stdout] 191 + for (i, ) in b.iter_mut().enumerate().take(k * n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> tests/mutithread_bench.rs:275:18 [INFO] [stdout] | [INFO] [stdout] 275 | for i in 0..m * k { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 275 - for i in 0..m * k { [INFO] [stdout] 275 + for (i, ) in a.iter_mut().enumerate().take(m * k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `b` [INFO] [stdout] --> tests/mutithread_bench.rs:278:18 [INFO] [stdout] | [INFO] [stdout] 278 | for i in 0..k * n { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 278 - for i in 0..k * n { [INFO] [stdout] 278 + for (i, ) in b.iter_mut().enumerate().take(k * n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> tests/mutithread_bench.rs:348:18 [INFO] [stdout] | [INFO] [stdout] 348 | for i in 0..m * k { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 348 - for i in 0..m * k { [INFO] [stdout] 348 + for (i, ) in a.iter_mut().enumerate().take(m * k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `b` [INFO] [stdout] --> tests/mutithread_bench.rs:351:18 [INFO] [stdout] | [INFO] [stdout] 351 | for i in 0..k * n { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 351 - for i in 0..k * n { [INFO] [stdout] 351 + for (i, ) in b.iter_mut().enumerate().take(k * n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> tests/mutithread_bench.rs:389:18 [INFO] [stdout] | [INFO] [stdout] 389 | for i in 0..m * k { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 389 - for i in 0..m * k { [INFO] [stdout] 389 + for (i, ) in a.iter_mut().enumerate().take(m * k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `b` [INFO] [stdout] --> tests/mutithread_bench.rs:392:18 [INFO] [stdout] | [INFO] [stdout] 392 | for i in 0..k * n { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 392 - for i in 0..k * n { [INFO] [stdout] 392 + for (i, ) in b.iter_mut().enumerate().take(k * n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> tests/mutithread_bench.rs:428:18 [INFO] [stdout] | [INFO] [stdout] 428 | for i in 0..m * k { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 428 - for i in 0..m * k { [INFO] [stdout] 428 + for (i, ) in a.iter_mut().enumerate().take(m * k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `b` [INFO] [stdout] --> tests/mutithread_bench.rs:431:18 [INFO] [stdout] | [INFO] [stdout] 431 | for i in 0..k * n { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 431 - for i in 0..k * n { [INFO] [stdout] 431 + for (i, ) in b.iter_mut().enumerate().take(k * n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> tests/gemm_tests.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / fn naive_matmul_f32( [INFO] [stdout] 9 | | m: usize, n: usize, k: usize, [INFO] [stdout] 10 | | a: &[f32], lda: usize, [INFO] [stdout] 11 | | b: &[f32], ldb: usize, [INFO] [stdout] 12 | | c: &mut [f32], ldc: usize, [INFO] [stdout] 13 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> tests/gemm_tests.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / fn naive_matmul_i32( [INFO] [stdout] 26 | | m: usize, n: usize, k: usize, [INFO] [stdout] 27 | | a: &[i32], lda: usize, [INFO] [stdout] 28 | | b: &[i32], ldb: usize, [INFO] [stdout] 29 | | c: &mut [i32], ldc: usize, [INFO] [stdout] 30 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> tests/gemm_tests.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | / fn naive_matmul_i64( [INFO] [stdout] 43 | | m: usize, n: usize, k: usize, [INFO] [stdout] 44 | | a: &[i64], lda: usize, [INFO] [stdout] 45 | | b: &[i64], ldb: usize, [INFO] [stdout] 46 | | c: &mut [i64], ldc: usize, [INFO] [stdout] 47 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> tests/gemm_tests.rs:738:18 [INFO] [stdout] | [INFO] [stdout] 738 | for i in 0..m * k { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 738 - for i in 0..m * k { [INFO] [stdout] 738 + for (i, ) in a.iter_mut().enumerate().take(m * k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `b` [INFO] [stdout] --> tests/gemm_tests.rs:741:18 [INFO] [stdout] | [INFO] [stdout] 741 | for i in 0..k * n { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 741 - for i in 0..k * n { [INFO] [stdout] 741 + for (i, ) in b.iter_mut().enumerate().take(k * n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> tests/gemm_tests.rs:767:18 [INFO] [stdout] | [INFO] [stdout] 767 | for i in 0..m * k { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 767 - for i in 0..m * k { [INFO] [stdout] 767 + for (i, ) in a.iter_mut().enumerate().take(m * k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `b` [INFO] [stdout] --> tests/gemm_tests.rs:770:18 [INFO] [stdout] | [INFO] [stdout] 770 | for i in 0..k * n { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 770 - for i in 0..k * n { [INFO] [stdout] 770 + for (i, ) in b.iter_mut().enumerate().take(k * n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `a` [INFO] [stdout] --> tests/gemm_tests.rs:796:18 [INFO] [stdout] | [INFO] [stdout] 796 | for i in 0..m * k { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 796 - for i in 0..m * k { [INFO] [stdout] 796 + for (i, ) in a.iter_mut().enumerate().take(m * k) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `b` [INFO] [stdout] --> tests/gemm_tests.rs:799:18 [INFO] [stdout] | [INFO] [stdout] 799 | for i in 0..k * n { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 799 - for i in 0..k * n { [INFO] [stdout] 799 + for (i, ) in b.iter_mut().enumerate().take(k * n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.76s [INFO] running `Command { std: "docker" "inspect" "0d84af03f658a14fd651afb61a1a480b2867d4b174f09ccbedae68dafe27bbc1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0d84af03f658a14fd651afb61a1a480b2867d4b174f09ccbedae68dafe27bbc1", kill_on_drop: false }` [INFO] [stdout] 0d84af03f658a14fd651afb61a1a480b2867d4b174f09ccbedae68dafe27bbc1