cargo rustc --manifest-path ./engine/Cargo.toml --bin tcheran --release   -- -C target-cpu=native --emit link=Tcheran-AE7ED72B
   Compiling find-msvc-tools v0.1.9
   Compiling shlex v2.0.1
   Compiling cc v1.2.65
   Compiling engine v13.0.0-dev (/private/var/folders/q9/689ggn5j5hz33d1m286cngw40000gn/T/tmp9skulk06/Tcheran/Tcheran-tmp/engine)
warning: engine@13.0.0-dev: Fetched network: multilayer-ints.nnue
warning: unused import: `neon::*`
  --> engine/src/engine/eval/simd/mod.rs:12:17
   |
12 |         pub use neon::*;
   |                 ^^^^^^^
   |
   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default

error[E0080]: transmuting from 9-byte type to 12735040-byte type: `[u8; 9]` -> `RawNetwork`
  --> engine/src/engine/eval/nnue.rs:57:14
   |
57 |     unsafe { std::mem::transmute(*include_bytes!(env!("NETWORK"))) };
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `engine::eval::nnue::RAW_NETWORK` failed here

error[E0080]: transmuting from 9-byte type to 12735040-byte type: `[u8; 9]` -> `Network`
  --> engine/src/engine/eval/nnue.rs:58:44
   |
58 | pub static mut NETWORK: Network = unsafe { std::mem::transmute(*include_bytes!(env!("NETWORK"))) };
   |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ evaluation of `engine::eval::nnue::NETWORK` failed here

warning[E0133]: call to unsafe function `engine::eval::nnue::inference::propagate_l1` is unsafe and requires unsafe block
  --> engine/src/engine/eval/nnue/inference.rs:16:18
   |
16 |     let act_l1 = propagate_l1(&act_ft, output_bucket);
   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
   |
   = note: consult the function's documentation for information on how to avoid undefined behavior
note: an unsafe function restricts its caller, but its body is safe by default
  --> engine/src/engine/eval/nnue/inference.rs:12:1
   |
12 | pub unsafe fn forward(us: &Accumulator, them: &Accumulator, output_bucket: usize) -> i32 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
   = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default

warning[E0133]: call to unsafe function `engine::eval::nnue::inference::propagate_l2` is unsafe and requires unsafe block
  --> engine/src/engine/eval/nnue/inference.rs:19:18
   |
19 |     let act_l2 = propagate_l2(&act_l1, output_bucket);
   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
   |
   = note: consult the function's documentation for information on how to avoid undefined behavior
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>

warning[E0133]: call to unsafe function `engine::eval::nnue::inference::propagate_l3` is unsafe and requires unsafe block
  --> engine/src/engine/eval/nnue/inference.rs:22:18
   |
22 |     let act_l3 = propagate_l3(&act_l2, output_bucket);
   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
   |
   = note: consult the function's documentation for information on how to avoid undefined behavior
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>

warning[E0133]: use of mutable static is unsafe and requires unsafe block
  --> engine/src/engine/eval/nnue/inference.rs:60:52
   |
60 | ...   intermediate[l2] += input[l1] as i32 * NETWORK.l1_weights[output_bucket][l1][l2] as i32;
   |                                              ^^^^^^^ use of mutable static
   |
   = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
note: an unsafe function restricts its caller, but its body is safe by default
  --> engine/src/engine/eval/nnue/inference.rs:55:1
   |
55 | unsafe fn propagate_l1(input: &[i8; L1], output_bucket: usize) -> [i32; L2] {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>

warning[E0133]: use of mutable static is unsafe and requires unsafe block
  --> engine/src/engine/eval/nnue/inference.rs:67:20
   |
67 |         let bias = NETWORK.l1_biases[output_bucket][l2];
   |                    ^^^^^^^ use of mutable static
   |
   = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>

warning[E0133]: use of mutable static is unsafe and requires unsafe block
  --> engine/src/engine/eval/nnue/inference.rs:80:22
   |
80 |     let mut output = NETWORK.l2_biases[output_bucket];
   |                      ^^^^^^^ use of mutable static
   |
   = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
note: an unsafe function restricts its caller, but its body is safe by default
  --> engine/src/engine/eval/nnue/inference.rs:79:1
   |
79 | unsafe fn propagate_l2(input: &[i32; L2], output_bucket: usize) -> [i32; L3] {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>

warning[E0133]: use of mutable static is unsafe and requires unsafe block
  --> engine/src/engine/eval/nnue/inference.rs:86:26
   |
86 |             let weight = NETWORK.l2_weights[output_bucket][l2][l3];
   |                          ^^^^^^^ use of mutable static
   |
   = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>

warning[E0133]: use of mutable static is unsafe and requires unsafe block
  --> engine/src/engine/eval/nnue/inference.rs:95:22
   |
95 |     let mut output = NETWORK.l3_biases[output_bucket];
   |                      ^^^^^^^ use of mutable static
   |
   = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
note: an unsafe function restricts its caller, but its body is safe by default
  --> engine/src/engine/eval/nnue/inference.rs:94:1
   |
94 | unsafe fn propagate_l3(input: &[i32; L3], output_bucket: usize) -> i32 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>

warning[E0133]: use of mutable static is unsafe and requires unsafe block
  --> engine/src/engine/eval/nnue/inference.rs:98:51
   |
98 |         output += input[l3].clamp(0, Q * Q * Q) * NETWORK.l3_weights[output_bucket][l3];
   |                                                   ^^^^^^^ use of mutable static
   |
   = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> engine/src/engine/eval/nnue.rs:57:14
   |
57 |     unsafe { std::mem::transmute(*include_bytes!(env!("NETWORK"))) };
   |              ^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `[u8; 9]` (72 bits)
   = note: target type: `RawNetwork` (101880320 bits)

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> engine/src/engine/eval/nnue.rs:58:44
   |
58 | pub static mut NETWORK: Network = unsafe { std::mem::transmute(*include_bytes!(env!("NETWORK"))) };
   |                                            ^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `[u8; 9]` (72 bits)
   = note: target type: `Network` (101880320 bits)

Some errors have detailed explanations: E0080, E0133, E0512.
For more information about an error, try `rustc --explain E0080`.
warning: `engine` (lib) generated 10 warnings
warning: engine@13.0.0-dev: Fetched network: multilayer-ints.nnue
error: could not compile `engine` (lib) due to 4 previous errors; 10 warnings emitted
make: *** [build] Error 101