[INFO] cloning repository https://github.com/HanzCEO/TinyMiniGo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/HanzCEO/TinyMiniGo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHanzCEO%2FTinyMiniGo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHanzCEO%2FTinyMiniGo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 20406ca5ca5c30a143cbfd111db50909c8f14f80 [INFO] testing HanzCEO/TinyMiniGo against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHanzCEO%2FTinyMiniGo" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/HanzCEO/TinyMiniGo [INFO] finished tweaking git repo https://github.com/HanzCEO/TinyMiniGo [INFO] tweaked toml for git repo https://github.com/HanzCEO/TinyMiniGo written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/HanzCEO/TinyMiniGo on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/HanzCEO/TinyMiniGo already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing HanzCEO/TinyMiniGo against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHanzCEO%2FTinyMiniGo" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/HanzCEO/TinyMiniGo [INFO] finished tweaking git repo https://github.com/HanzCEO/TinyMiniGo [INFO] tweaked toml for git repo https://github.com/HanzCEO/TinyMiniGo written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/HanzCEO/TinyMiniGo on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/HanzCEO/TinyMiniGo already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing HanzCEO/TinyMiniGo against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHanzCEO%2FTinyMiniGo" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/HanzCEO/TinyMiniGo [INFO] finished tweaking git repo https://github.com/HanzCEO/TinyMiniGo [INFO] tweaked toml for git repo https://github.com/HanzCEO/TinyMiniGo written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/HanzCEO/TinyMiniGo on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/HanzCEO/TinyMiniGo already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing HanzCEO/TinyMiniGo against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHanzCEO%2FTinyMiniGo" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/HanzCEO/TinyMiniGo [INFO] finished tweaking git repo https://github.com/HanzCEO/TinyMiniGo [INFO] tweaked toml for git repo https://github.com/HanzCEO/TinyMiniGo written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/HanzCEO/TinyMiniGo on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/HanzCEO/TinyMiniGo already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded macro_rules_attribute-proc_macro v0.2.3 [INFO] [stderr] Downloaded macro_rules_attribute v0.2.3 [INFO] [stderr] Downloaded onig v6.5.3 [INFO] [stderr] Downloaded memo-map v0.3.3 [INFO] [stderr] Downloaded console v0.16.4 [INFO] [stderr] Downloaded dary_heap v0.3.9 [INFO] [stderr] Downloaded safetensors v0.8.0 [INFO] [stderr] Downloaded minijinja-contrib v2.24.0 [INFO] [stderr] Downloaded clap_derive v4.6.4 [INFO] [stderr] Downloaded daachorse v1.0.1 [INFO] [stderr] Downloaded indicatif v0.18.6 [INFO] [stderr] Downloaded compact_str v0.9.1 [INFO] [stderr] Downloaded tokenizers v0.23.1 [INFO] [stderr] Downloaded minijinja v2.24.0 [INFO] [stderr] Downloaded onig_sys v69.9.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518 [INFO] running `Command { std: "docker" "start" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518", 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" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.107 [INFO] [stderr] Compiling quote v1.0.47 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling libc v0.2.189 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling shlex v2.0.1 [INFO] [stderr] Compiling find-msvc-tools v0.1.11 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling crossbeam-utils v0.8.22 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling cc v1.4.4 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling crossbeam-epoch v0.9.20 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling zerocopy v0.8.56 [INFO] [stderr] Compiling crossbeam-deque v0.8.7 [INFO] [stderr] Compiling bitflags v2.13.1 [INFO] [stderr] Compiling syn v3.0.4 [INFO] [stderr] Compiling syn v2.0.119 [INFO] [stderr] Compiling zmij v1.0.23 [INFO] [stderr] Compiling rustversion v1.0.23 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling pkg-config v0.3.34 [INFO] [stderr] Compiling rand_core v0.10.1 [INFO] [stderr] Compiling portable-atomic v1.15.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling onig_sys v69.9.3 [INFO] [stderr] Compiling either v1.18.0 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling serde_json v1.0.151 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling esaxx-rs v0.1.10 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling aho-corasick v1.1.5 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling thiserror v2.0.20 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling console v0.16.4 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling thiserror-impl v2.0.20 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling regex-automata v0.4.18 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling monostate-impl v0.1.18 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling derive_builder_core v0.20.2 [INFO] [stderr] Compiling derive_builder_macro v0.20.2 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling anyhow v1.0.104 [INFO] [stderr] Compiling pastey v0.2.3 [INFO] [stderr] Compiling macro_rules_attribute-proc_macro v0.2.3 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling fastrand v2.5.0 [INFO] [stderr] Compiling cpufeatures v0.3.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling memo-map v0.3.3 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling unit-prefix v0.5.2 [INFO] [stderr] Compiling smallvec v1.15.2 [INFO] [stderr] Compiling unicode-segmentation v1.13.3 [INFO] [stderr] Compiling indicatif v0.18.6 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling clap_derive v4.6.4 [INFO] [stderr] Compiling unicode-normalization-alignments v0.1.12 [INFO] [stderr] Compiling spm_precompiled v0.1.4 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling minijinja v2.24.0 [INFO] [stderr] Compiling chacha20 v0.10.2 [INFO] [stderr] Compiling rayon-cond v0.4.0 [INFO] [stderr] Compiling compact_str v0.9.1 [INFO] [stderr] Compiling clap_builder v4.6.6 [INFO] [stderr] Compiling macro_rules_attribute v0.2.3 [INFO] [stderr] Compiling regex v1.13.1 [INFO] [stderr] Compiling dary_heap v0.3.9 [INFO] [stderr] Compiling derive_builder v0.20.2 [INFO] [stderr] Compiling monostate v0.1.18 [INFO] [stderr] Compiling onig v6.5.3 [INFO] [stderr] Compiling rand v0.9.5 [INFO] [stderr] Compiling log v0.4.34 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling daachorse v1.0.1 [INFO] [stderr] Compiling rand v0.10.2 [INFO] [stderr] Compiling safetensors v0.8.0 [INFO] [stderr] Compiling tokenizers v0.23.1 [INFO] [stderr] Compiling memmap2 v0.9.11 [INFO] [stderr] Compiling clap v4.6.6 [INFO] [stderr] Compiling bytemuck v1.25.2 [INFO] [stderr] Compiling minijinja-contrib v2.24.0 [INFO] [stderr] Compiling tinyminigo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::arch::x86_64::*` [INFO] [stdout] --> src/tensor.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | use std::arch::x86_64::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | pub(crate) unsafe fn dot_i8(a: &[i8], b: &[i8]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:37 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:18 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:37 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::reduce_add_i32` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let mut sum = reduce_add_i32(acc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/tensor.rs:784:29 [INFO] [stdout] | [INFO] [stdout] 749 | ) { unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 784 | let yband = unsafe { std::slice::from_raw_parts_mut(yp as *mut f32, ylen) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_f32_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:866:26 [INFO] [stdout] | [INFO] [stdout] 866 | WMat::F32(wf) => dot_f32_avx2(x, &wf[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:864:1 [INFO] [stdout] | [INFO] [stdout] 864 | unsafe fn dot_w_row_avx2(x: &[f32], w: &WMat, m: &R, in_features: usize, o: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:867:27 [INFO] [stdout] | [INFO] [stdout] 867 | WMat::BF16(wb) => dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:871:17 [INFO] [stdout] | [INFO] [stdout] 871 | dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::arch::x86_64::*` [INFO] [stdout] --> src/tensor.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | use std::arch::x86_64::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | pub(crate) unsafe fn dot_i8(a: &[i8], b: &[i8]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:37 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:18 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:37 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::reduce_add_i32` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let mut sum = reduce_add_i32(acc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/tensor.rs:784:29 [INFO] [stdout] | [INFO] [stdout] 749 | ) { unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 784 | let yband = unsafe { std::slice::from_raw_parts_mut(yp as *mut f32, ylen) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_f32_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:866:26 [INFO] [stdout] | [INFO] [stdout] 866 | WMat::F32(wf) => dot_f32_avx2(x, &wf[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:864:1 [INFO] [stdout] | [INFO] [stdout] 864 | unsafe fn dot_w_row_avx2(x: &[f32], w: &WMat, m: &R, in_features: usize, o: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:867:27 [INFO] [stdout] | [INFO] [stdout] 867 | WMat::BF16(wb) => dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:871:17 [INFO] [stdout] | [INFO] [stdout] 871 | dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `bf16_view` and `view_range` are never used [INFO] [stdout] --> src/tensor.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 236 | impl WMat { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn bf16_view<'m, R: WMatView>(&self, m: &'m R) -> Option<&'m [u16]> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn view_range(&self) -> Option<(u64, u64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rms_norm` is never used [INFO] [stdout] --> src/tensor.rs:957:8 [INFO] [stdout] | [INFO] [stdout] 957 | pub fn rms_norm(x: &[f32], weight: &[f32], eps: f32) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bf16` is never used [INFO] [stdout] --> src/tmb.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl TensorRef { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn bf16<'m>(&self, map: &'m [u8]) -> Result<&'m [u16]> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1m 00s [INFO] running `Command { std: "docker" "inspect" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `std::arch::x86_64::*` [INFO] [stdout] --> src/tensor.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | use std::arch::x86_64::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | pub(crate) unsafe fn dot_i8(a: &[i8], b: &[i8]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:37 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:18 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:37 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::reduce_add_i32` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let mut sum = reduce_add_i32(acc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/tensor.rs:784:29 [INFO] [stdout] | [INFO] [stdout] 749 | ) { unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 784 | let yband = unsafe { std::slice::from_raw_parts_mut(yp as *mut f32, ylen) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_f32_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:866:26 [INFO] [stdout] | [INFO] [stdout] 866 | WMat::F32(wf) => dot_f32_avx2(x, &wf[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:864:1 [INFO] [stdout] | [INFO] [stdout] 864 | unsafe fn dot_w_row_avx2(x: &[f32], w: &WMat, m: &R, in_features: usize, o: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:867:27 [INFO] [stdout] | [INFO] [stdout] 867 | WMat::BF16(wb) => dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tinyminigo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:871:17 [INFO] [stdout] | [INFO] [stdout] 871 | dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::arch::x86_64::*` [INFO] [stdout] --> src/tensor.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | use std::arch::x86_64::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | pub(crate) unsafe fn dot_i8(a: &[i8], b: &[i8]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:37 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:18 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:37 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::reduce_add_i32` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let mut sum = reduce_add_i32(acc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/tensor.rs:784:29 [INFO] [stdout] | [INFO] [stdout] 749 | ) { unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 784 | let yband = unsafe { std::slice::from_raw_parts_mut(yp as *mut f32, ylen) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_f32_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:866:26 [INFO] [stdout] | [INFO] [stdout] 866 | WMat::F32(wf) => dot_f32_avx2(x, &wf[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:864:1 [INFO] [stdout] | [INFO] [stdout] 864 | unsafe fn dot_w_row_avx2(x: &[f32], w: &WMat, m: &R, in_features: usize, o: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:867:27 [INFO] [stdout] | [INFO] [stdout] 867 | WMat::BF16(wb) => dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:871:17 [INFO] [stdout] | [INFO] [stdout] 871 | dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `bf16_view` and `view_range` are never used [INFO] [stdout] --> src/tensor.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 236 | impl WMat { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn bf16_view<'m, R: WMatView>(&self, m: &'m R) -> Option<&'m [u16]> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn view_range(&self) -> Option<(u64, u64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rms_norm` is never used [INFO] [stdout] --> src/tensor.rs:957:8 [INFO] [stdout] | [INFO] [stdout] 957 | pub fn rms_norm(x: &[f32], weight: &[f32], eps: f32) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bf16` is never used [INFO] [stdout] --> src/tmb.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl TensorRef { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn bf16<'m>(&self, map: &'m [u8]) -> Result<&'m [u16]> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::arch::x86_64::*` [INFO] [stdout] --> src/tensor.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | use std::arch::x86_64::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::arch::x86_64::*` [INFO] [stdout] --> tests/../src/tensor.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | use std::arch::x86_64::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::arch::x86_64::*` [INFO] [stdout] --> tests/../src/tensor.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | use std::arch::x86_64::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::arch::x86_64::*` [INFO] [stdout] --> src/tensor.rs:750:9 [INFO] [stdout] | [INFO] [stdout] 750 | use std::arch::x86_64::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | pub(crate) unsafe fn dot_i8(a: &[i8], b: &[i8]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:37 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:18 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:37 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::reduce_add_i32` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let mut sum = reduce_add_i32(acc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> tests/../src/tensor.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | pub(crate) unsafe fn dot_i8(a: &[i8], b: &[i8]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:153:37 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> tests/../src/tensor.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | pub(crate) unsafe fn dot_i8(a: &[i8], b: &[i8]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:154:18 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:154:37 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:153:37 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::reduce_add_i32` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let mut sum = reduce_add_i32(acc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:154:18 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:154:37 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::reduce_add_i32` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let mut sum = reduce_add_i32(acc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/tensor.rs:784:29 [INFO] [stdout] | [INFO] [stdout] 749 | ) { unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 784 | let yband = unsafe { std::slice::from_raw_parts_mut(yp as *mut f32, ylen) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_f32_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:866:26 [INFO] [stdout] | [INFO] [stdout] 866 | WMat::F32(wf) => dot_f32_avx2(x, &wf[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:864:1 [INFO] [stdout] | [INFO] [stdout] 864 | unsafe fn dot_w_row_avx2(x: &[f32], w: &WMat, m: &R, in_features: usize, o: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:867:27 [INFO] [stdout] | [INFO] [stdout] 867 | WMat::BF16(wb) => dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:871:17 [INFO] [stdout] | [INFO] [stdout] 871 | dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> tests/../src/tensor.rs:784:29 [INFO] [stdout] | [INFO] [stdout] 749 | ) { unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 784 | let yband = unsafe { std::slice::from_raw_parts_mut(yp as *mut f32, ylen) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> tests/../src/tensor.rs:784:29 [INFO] [stdout] | [INFO] [stdout] 749 | ) { unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 784 | let yband = unsafe { std::slice::from_raw_parts_mut(yp as *mut f32, ylen) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_f32_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:866:26 [INFO] [stdout] | [INFO] [stdout] 866 | WMat::F32(wf) => dot_f32_avx2(x, &wf[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> tests/../src/tensor.rs:864:1 [INFO] [stdout] | [INFO] [stdout] 864 | unsafe fn dot_w_row_avx2(x: &[f32], w: &WMat, m: &R, in_features: usize, o: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:867:27 [INFO] [stdout] | [INFO] [stdout] 867 | WMat::BF16(wb) => dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:871:17 [INFO] [stdout] | [INFO] [stdout] 871 | dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_f32_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:866:26 [INFO] [stdout] | [INFO] [stdout] 866 | WMat::F32(wf) => dot_f32_avx2(x, &wf[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> tests/../src/tensor.rs:864:1 [INFO] [stdout] | [INFO] [stdout] 864 | unsafe fn dot_w_row_avx2(x: &[f32], w: &WMat, m: &R, in_features: usize, o: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:867:27 [INFO] [stdout] | [INFO] [stdout] 867 | WMat::BF16(wb) => dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> tests/../src/tensor.rs:871:17 [INFO] [stdout] | [INFO] [stdout] 871 | dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | pub(crate) unsafe fn dot_i8(a: &[i8], b: &[i8]) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:153:37 [INFO] [stdout] | [INFO] [stdout] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:18 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:154:37 [INFO] [stdout] | [INFO] [stdout] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::reduce_add_i32` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | let mut sum = reduce_add_i32(acc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/tensor.rs:784:29 [INFO] [stdout] | [INFO] [stdout] 749 | ) { unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 784 | let yband = unsafe { std::slice::from_raw_parts_mut(yp as *mut f32, ylen) }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_f32_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:866:26 [INFO] [stdout] | [INFO] [stdout] 866 | WMat::F32(wf) => dot_f32_avx2(x, &wf[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/tensor.rs:864:1 [INFO] [stdout] | [INFO] [stdout] 864 | unsafe fn dot_w_row_avx2(x: &[f32], w: &WMat, m: &R, in_features: usize, o: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:867:27 [INFO] [stdout] | [INFO] [stdout] 867 | WMat::BF16(wb) => dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stdout] --> src/tensor.rs:871:17 [INFO] [stdout] | [INFO] [stdout] 871 | dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `bf16_view` and `view_range` are never used [INFO] [stdout] --> src/tensor.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 236 | impl WMat { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn bf16_view<'m, R: WMatView>(&self, m: &'m R) -> Option<&'m [u16]> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn view_range(&self) -> Option<(u64, u64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `bf16` is never used [INFO] [stdout] --> src/tmb.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl TensorRef { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn bf16<'m>(&self, map: &'m [u8]) -> Result<&'m [u16]> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 3.89s [INFO] running `Command { std: "docker" "inspect" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `std::arch::x86_64::*` [INFO] [stderr] --> src/tensor.rs:750:9 [INFO] [stderr] | [INFO] [stderr] 750 | use std::arch::x86_64::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stderr] --> src/tensor.rs:153:18 [INFO] [stderr] | [INFO] [stderr] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/tensor.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | pub(crate) unsafe fn dot_i8(a: &[i8], b: &[i8]) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stderr] --> src/tensor.rs:153:37 [INFO] [stderr] | [INFO] [stderr] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stderr] --> src/tensor.rs:154:18 [INFO] [stderr] | [INFO] [stderr] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stderr] --> src/tensor.rs:154:37 [INFO] [stderr] | [INFO] [stderr] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `tensor::reduce_add_i32` is unsafe and requires unsafe block [INFO] [stderr] --> src/tensor.rs:165:19 [INFO] [stderr] | [INFO] [stderr] 165 | let mut sum = reduce_add_i32(acc); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/tensor.rs:784:29 [INFO] [stderr] | [INFO] [stderr] 749 | ) { unsafe { [INFO] [stderr] | ------ because it's nested under this `unsafe` block [INFO] [stderr] ... [INFO] [stderr] 784 | let yband = unsafe { std::slice::from_raw_parts_mut(yp as *mut f32, ylen) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `tensor::dot_f32_avx2` is unsafe and requires unsafe block [INFO] [stderr] --> src/tensor.rs:866:26 [INFO] [stderr] | [INFO] [stderr] 866 | WMat::F32(wf) => dot_f32_avx2(x, &wf[o * in_features..(o + 1) * in_features]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> src/tensor.rs:864:1 [INFO] [stderr] | [INFO] [stderr] 864 | unsafe fn dot_w_row_avx2(x: &[f32], w: &WMat, m: &R, in_features: usize, o: usize) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stderr] --> src/tensor.rs:867:27 [INFO] [stderr] | [INFO] [stderr] 867 | WMat::BF16(wb) => dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stderr] --> src/tensor.rs:871:17 [INFO] [stderr] | [INFO] [stderr] 871 | dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0133`. [INFO] [stderr] warning: `tinyminigo` (lib) generated 10 warnings (run `cargo fix --lib -p tinyminigo` to apply 3 suggestions) [INFO] [stderr] warning: `tinyminigo` (lib test) generated 10 warnings (10 duplicates) [INFO] [stderr] warning: methods `bf16_view` and `view_range` are never used [INFO] [stderr] --> src/tensor.rs:252:12 [INFO] [stderr] | [INFO] [stderr] 236 | impl WMat { [INFO] [stderr] | --------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 252 | pub fn bf16_view<'m, R: WMatView>(&self, m: &'m R) -> Option<&'m [u16]> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 268 | pub fn view_range(&self) -> Option<(u64, u64)> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `rms_norm` is never used [INFO] [stderr] --> src/tensor.rs:957:8 [INFO] [stderr] | [INFO] [stderr] 957 | pub fn rms_norm(x: &[f32], weight: &[f32], eps: f32) -> Vec { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `bf16` is never used [INFO] [stderr] --> src/tmb.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 38 | impl TensorRef { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 48 | pub fn bf16<'m>(&self, map: &'m [u8]) -> Result<&'m [u16]> { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::arch::x86_64::*` [INFO] [stderr] --> tests/../src/tensor.rs:750:9 [INFO] [stderr] | [INFO] [stderr] 750 | use std::arch::x86_64::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stderr] --> tests/../src/tensor.rs:153:18 [INFO] [stderr] | [INFO] [stderr] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> tests/../src/tensor.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | pub(crate) unsafe fn dot_i8(a: &[i8], b: &[i8]) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stderr] --> tests/../src/tensor.rs:153:37 [INFO] [stderr] | [INFO] [stderr] 153 | let av = _mm256_loadu_si256(a.as_ptr().add(i) as *const __m256i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block [INFO] [stderr] --> tests/../src/tensor.rs:154:18 [INFO] [stderr] | [INFO] [stderr] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stderr] --> tests/../src/tensor.rs:154:37 [INFO] [stderr] | [INFO] [stderr] 154 | let bv = _mm256_loadu_si256(b.as_ptr().add(i) as *const __m256i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `tensor::reduce_add_i32` is unsafe and requires unsafe block [INFO] [stderr] --> tests/../src/tensor.rs:165:19 [INFO] [stderr] | [INFO] [stderr] 165 | let mut sum = reduce_add_i32(acc); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> tests/../src/tensor.rs:784:29 [INFO] [stderr] | [INFO] [stderr] 749 | ) { unsafe { [INFO] [stderr] | ------ because it's nested under this `unsafe` block [INFO] [stderr] ... [INFO] [stderr] 784 | let yband = unsafe { std::slice::from_raw_parts_mut(yp as *mut f32, ylen) }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `tensor::dot_f32_avx2` is unsafe and requires unsafe block [INFO] [stderr] --> tests/../src/tensor.rs:866:26 [INFO] [stderr] | [INFO] [stderr] 866 | WMat::F32(wf) => dot_f32_avx2(x, &wf[o * in_features..(o + 1) * in_features]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stderr] --> tests/../src/tensor.rs:864:1 [INFO] [stderr] | [INFO] [stderr] 864 | unsafe fn dot_w_row_avx2(x: &[f32], w: &WMat, m: &R, in_features: usize, o: usize) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stderr] --> tests/../src/tensor.rs:867:27 [INFO] [stderr] | [INFO] [stderr] 867 | WMat::BF16(wb) => dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning[E0133]: call to unsafe function `tensor::dot_bf16_avx2` is unsafe and requires unsafe block [INFO] [stderr] --> tests/../src/tensor.rs:871:17 [INFO] [stderr] | [INFO] [stderr] 871 | dot_bf16_avx2(x, &wb[o * in_features..(o + 1) * in_features]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stderr] | [INFO] [stderr] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stderr] = note: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `tinyminigo` (bin "tinyminigo") generated 13 warnings (10 duplicates) [INFO] [stderr] warning: `tinyminigo` (bin "tinyminigo" test) generated 12 warnings (12 duplicates) [INFO] [stderr] warning: `tinyminigo` (test "diff_debug") generated 10 warnings (run `cargo fix --test "diff_debug" -p tinyminigo` to apply 3 suggestions) [INFO] [stderr] warning: `tinyminigo` (test "numerical") generated 10 warnings (10 duplicates) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.07s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/build/tinyminigo/df3385d3603e44df/out/tinyminigo-df3385d3603e44df) [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test model::tests::generate_stops_on_eos ... ok [INFO] [stdout] test config::tests::parses_tiny_random_minicpm5_config ... ok [INFO] [stdout] test safetensors_loader::tests::bf16_conversions ... ok [INFO] [stdout] test safetensors_loader::tests::f16_conversions ... ok [INFO] [stdout] test model::tests::kv_cache_push_and_len ... ok [INFO] [stdout] test safetensors_loader::tests::bf16_safetensors_roundtrip ... ok [INFO] [stdout] test tensor::tests::attention_row_shapes ... ok [INFO] [stdout] test safetensors_loader::tests::safetensors_roundtrip ... ok [INFO] [stdout] test tensor::tests::argmax_basic ... ok [INFO] [stdout] test tensor::tests::matmul_identity ... ok [INFO] [stdout] test tensor::tests::rms_norm_known ... ok [INFO] [stdout] test tensor::tests::matmul_linear_weights ... ok [INFO] [stdout] test tensor::tests::rms_norm_weighted ... ok [INFO] [stdout] test tensor::tests::rope_matches_reference ... ok [INFO] [stdout] test tensor::tests::rope_preserves_norm ... ok [INFO] [stdout] test tensor::tests::softmax_sums_to_one ... ok [INFO] [stdout] test tensor::tests::greedy_sample_is_argmax ... ok [INFO] [stdout] test tensor::tests::rope_zero_pos_identity ... ok [INFO] [stdout] test tensor::tests::silu_known ... ok [INFO] [stdout] test tensor::tests::temperature_sample_deterministic_with_seed ... ok [INFO] [stdout] test tensor::tests::repetition_penalty_applied ... ok [INFO] [stdout] test tensor::tests::top_k_restricts_candidates ... ok [INFO] [stdout] test model::tests::forward_shapes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/build/tinyminigo/4894928eae5f2c18/out/tinyminigo-4894928eae5f2c18) [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test model::tests::generate_stops_on_eos ... ok [INFO] [stdout] test model::tests::kv_cache_push_and_len ... ok [INFO] [stdout] test config::tests::parses_tiny_random_minicpm5_config ... ok [INFO] [stdout] test safetensors_loader::tests::bf16_conversions ... ok [INFO] [stdout] test safetensors_loader::tests::f16_conversions ... ok [INFO] [stdout] test safetensors_loader::tests::bf16_safetensors_roundtrip ... ok [INFO] [stdout] test safetensors_loader::tests::safetensors_roundtrip ... ok [INFO] [stdout] test tensor::tests::greedy_sample_is_argmax ... ok [INFO] [stdout] test tensor::tests::repetition_penalty_applied ... ok [INFO] [stdout] test tensor::tests::matmul_identity ... ok [INFO] [stdout] test template::tests::renders_simple_template ... ok [INFO] [stdout] test tensor::tests::attention_row_shapes ... ok [INFO] [stdout] test tensor::tests::matmul_linear_weights ... ok [INFO] [stdout] test tensor::tests::argmax_basic ... ok [INFO] [stdout] test tensor::tests::rms_norm_known ... ok [INFO] [stdout] test tensor::tests::rms_norm_weighted ... ok [INFO] [stdout] test tensor::tests::rope_preserves_norm ... ok [INFO] [stdout] test tensor::tests::rope_zero_pos_identity ... ok [INFO] [stdout] test tensor::tests::silu_known ... ok [INFO] [stdout] test tensor::tests::softmax_sums_to_one ... ok [INFO] [stdout] test tensor::tests::rope_matches_reference ... ok [INFO] [stdout] test model::tests::forward_shapes ... ok [INFO] [stdout] test tensor::tests::temperature_sample_deterministic_with_seed ... ok [INFO] [stdout] test tensor::tests::top_k_restricts_candidates ... ok [INFO] [stdout] test tokenizer::tests::resolve_explicit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/diff_debug.rs (/opt/rustwide/target/release/build/tinyminigo/3dfe99c8c4fa5e73/out/diff_debug-3dfe99c8c4fa5e73) [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test argmax_debug ... ok [INFO] [stdout] test generate_replica ... ok [INFO] [stdout] test forward_seq_matches_forward_token ... ok [INFO] [stdout] test config::tests::parses_tiny_random_minicpm5_config ... ok [INFO] [stdout] test model::tests::generate_stops_on_eos ... ok [INFO] [stdout] test model::tests::kv_cache_push_and_len ... ok [INFO] [stdout] test safetensors_loader::tests::bf16_conversions ... ok [INFO] [stdout] test safetensors_loader::tests::f16_conversions ... ok [INFO] [stdout] test safetensors_loader::tests::bf16_safetensors_roundtrip ... ok [INFO] [stdout] test tensor::tests::attention_row_shapes ... ok [INFO] [stdout] test safetensors_loader::tests::safetensors_roundtrip ... ok [INFO] [stdout] test tensor::tests::argmax_basic ... ok [INFO] [stdout] test tensor::tests::greedy_sample_is_argmax ... ok [INFO] [stdout] test tensor::tests::matmul_identity ... ok [INFO] [stdout] test tensor::tests::matmul_linear_weights ... ok [INFO] [stdout] test tensor::tests::repetition_penalty_applied ... ok [INFO] [stdout] test tensor::tests::rms_norm_known ... ok [INFO] [stdout] test tensor::tests::rope_matches_reference ... ok [INFO] [stdout] test tensor::tests::rms_norm_weighted ... ok [INFO] [stdout] test tensor::tests::rope_zero_pos_identity ... ok [INFO] [stdout] test tensor::tests::rope_preserves_norm ... ok [INFO] [stdout] test tensor::tests::silu_known ... ok [INFO] [stdout] test tensor::tests::softmax_sums_to_one ... ok [INFO] [stdout] test tensor::tests::temperature_sample_deterministic_with_seed ... ok [INFO] [stdout] test tensor::tests::top_k_restricts_candidates ... ok [INFO] [stdout] test model::tests::forward_shapes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/numerical.rs (/opt/rustwide/target/release/build/tinyminigo/4ab3ef6a407313d1/out/numerical-4ab3ef6a407313d1) [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test full_prompt_first_step_logits_match_hf ... ok [INFO] [stdout] test config::tests::parses_tiny_random_minicpm5_config ... ok [INFO] [stdout] test model::tests::generate_stops_on_eos ... ok [INFO] [stdout] test model::tests::kv_cache_push_and_len ... ok [INFO] [stdout] test safetensors_loader::tests::bf16_conversions ... ok [INFO] [stdout] test layer0_o_proj_matches_reference ... ok [INFO] [stdout] test safetensors_loader::tests::f16_conversions ... ok [INFO] [stdout] test greedy_generation_multi_step_matches_hf ... ok [INFO] [stdout] test tensor::tests::greedy_sample_is_argmax ... ok [INFO] [stdout] test tensor::tests::matmul_identity ... ok [INFO] [stdout] test safetensors_loader::tests::bf16_safetensors_roundtrip ... ok [INFO] [stdout] test tensor::tests::argmax_basic ... ok [INFO] [stdout] test tensor::tests::attention_row_shapes ... ok [INFO] [stdout] test tensor::tests::matmul_linear_weights ... ok [INFO] [stdout] test tensor::tests::repetition_penalty_applied ... ok [INFO] [stdout] test tensor::tests::rms_norm_known ... ok [INFO] [stdout] test tensor::tests::rms_norm_weighted ... ok [INFO] [stdout] test tensor::tests::rope_matches_reference ... ok [INFO] [stdout] test tensor::tests::rope_preserves_norm ... ok [INFO] [stdout] test safetensors_loader::tests::safetensors_roundtrip ... ok [INFO] [stdout] test tensor::tests::silu_known ... ok [INFO] [stdout] test tensor::tests::rope_zero_pos_identity ... ok [INFO] [stdout] test tensor::tests::softmax_sums_to_one ... ok [INFO] [stdout] test tensor::tests::temperature_sample_deterministic_with_seed ... ok [INFO] [stdout] test tensor::tests::top_k_restricts_candidates ... ok [INFO] [stdout] test model::tests::forward_shapes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests tinyminigo [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518", kill_on_drop: false }` [INFO] [stdout] f271002b59413a58289c8abc179cc4ae18d1f3e2a37109c3bfba651d8c504518