[INFO] cloning repository https://github.com/seleste3580-dev/AetherMind
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/seleste3580-dev/AetherMind" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseleste3580-dev%2FAetherMind", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseleste3580-dev%2FAetherMind'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] baaeb2168fb97fb6fc560a6cb969fd94d7796b7c
[INFO] checking seleste3580-dev/AetherMind against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseleste3580-dev%2FAetherMind" "/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/seleste3580-dev/AetherMind
[INFO] finished tweaking git repo https://github.com/seleste3580-dev/AetherMind
[INFO] tweaked toml for git repo https://github.com/seleste3580-dev/AetherMind written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/seleste3580-dev/AetherMind on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/seleste3580-dev/AetherMind already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-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] 1a77eee04733d3af274cf398c2dbc631c6e6c2a22575f20cec53ee70d6f2df38
[INFO] running `Command { std: "docker" "start" "1a77eee04733d3af274cf398c2dbc631c6e6c2a22575f20cec53ee70d6f2df38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a77eee04733d3af274cf398c2dbc631c6e6c2a22575f20cec53ee70d6f2df38", 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" "1a77eee04733d3af274cf398c2dbc631c6e6c2a22575f20cec53ee70d6f2df38" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a77eee04733d3af274cf398c2dbc631c6e6c2a22575f20cec53ee70d6f2df38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1a77eee04733d3af274cf398c2dbc631c6e6c2a22575f20cec53ee70d6f2df38" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking AetherMind v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Add`, `Div`, `Mul`, and `Sub`
[INFO] [stdout]   --> src/math/vector.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::ops::{Add, Div, Index, IndexMut, Mul, Sub};
[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: `Shape`
[INFO] [stdout]   --> src/nn/embedding.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     tensor::{Shape, Tensor, TensorElement},
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn sum<T>(vector: &Vector<T>) -> T
[INFO] [stdout]    |                        ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     T: Float + tensor::TensorElement,
[INFO] [stdout]    |              +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn mean<T>(vector: &Vector<T>) -> T
[INFO] [stdout]    |                         ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]    |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:48:24
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn min<T>(vector: &Vector<T>) -> Option<T>
[INFO] [stdout]    |                        ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     T: Float + tensor::TensorElement,
[INFO] [stdout]    |              +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn max<T>(vector: &Vector<T>) -> Option<T>
[INFO] [stdout]    |                        ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 68 |     T: Float + tensor::TensorElement,
[INFO] [stdout]    |              +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:84:29
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn variance<T>(vector: &Vector<T>) -> T
[INFO] [stdout]    |                             ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]    |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]    --> src/math/statistics.rs:106:28
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn std_dev<T>(vector: &Vector<T>) -> T
[INFO] [stdout]     |                            ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]    --> src/math/vector.rs:26:22
[INFO] [stdout]     |
[INFO] [stdout]  26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]     |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/nn/dense.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     weights: Tensor<T>,
[INFO] [stdout]    |              ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T: tensor::TensorElement> {
[INFO] [stdout]    |                   +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/nn/dense.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |     bias: Option<Tensor<T>>,
[INFO] [stdout]    |                  ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T: tensor::TensorElement> {
[INFO] [stdout]    |                   +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |     tensors: Vec<Tensor<T>>,
[INFO] [stdout]    |                  ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Weights<T: tensor::TensorElement> {
[INFO] [stdout]    |                     +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:44:36
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn push(&mut self, tensor: Tensor<T>) {
[INFO] [stdout]    |                                    ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn tensors(&self) -> &[Tensor<T>] {
[INFO] [stdout]    |                                ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/nn/layer.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn forward(&self, input: &Tensor<T>) -> Result<Tensor<T>>;
[INFO] [stdout]    |                               ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub trait Layer<T: tensor::TensorElement> {
[INFO] [stdout]    |                  +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `f64: Eq` is not satisfied
[INFO] [stdout]   --> src/compiler/ir.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                                   -- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 40 |     FloatImmediate(f64),
[INFO] [stdout]    |                    ^^^ the trait `Eq` is not implemented for `f64`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Eq`:
[INFO] [stdout]              i128
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              i8
[INFO] [stdout]              isize
[INFO] [stdout]              u128
[INFO] [stdout]              u16
[INFO] [stdout]            and 4 others
[INFO] [stdout] note: required by a bound in `std::cmp::AssertParamIsEq`
[INFO] [stdout]   --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:395:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `MIN` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/kernel/pooling.rs:81:44
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn compute<T: Float>(
[INFO] [stdout]    |                    - associated function or constant `MIN` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 81 |                     PoolingType::Max => T::MIN,
[INFO] [stdout]    |                                            ^^^ associated function or constant not found in `T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]    --> src/kernel/pooling.rs:111:40
[INFO] [stdout]     |
[INFO] [stdout]  57 |     pub fn compute<T: Float>(
[INFO] [stdout]     |                    - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 111 |                     value = value / T::from_f64(area);
[INFO] [stdout]     |                                        ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 111 -                     value = value / T::from_f64(area);
[INFO] [stdout] 111 +                     value = value / T::from(area);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_slice` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |     for value in vector.as_slice() {
[INFO] [stdout]    |                         ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 24 |     T: Float, T: TensorElement
[INFO] [stdout]    |               ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `is_empty` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     if vector.is_empty() {
[INFO] [stdout]    |               ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 38 |     T: Float + From<f32>, T: TensorElement
[INFO] [stdout]    |                           ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     sum(vector) / T::from(vector.len() as f32)
[INFO] [stdout]    |         ^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]    |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `len` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:44:34
[INFO] [stdout]    |
[INFO] [stdout] 44 |     sum(vector) / T::from(vector.len() as f32)
[INFO] [stdout]    |                                  ^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 38 |     T: Float + From<f32>, T: TensorElement
[INFO] [stdout]    |                           ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_slice` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut iter = vector.as_slice().iter();
[INFO] [stdout]    |                           ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 50 |     T: Float, T: TensorElement
[INFO] [stdout]    |               ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_slice` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut iter = vector.as_slice().iter();
[INFO] [stdout]    |                           ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 68 |     T: Float, T: TensorElement
[INFO] [stdout]    |               ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `is_empty` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |     if vector.is_empty() {
[INFO] [stdout]    |               ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 86 |     T: Float + From<f32>, T: TensorElement
[INFO] [stdout]    |                           ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let avg = mean(vector);
[INFO] [stdout]    |                    ^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]    |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_slice` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |     for value in vector.as_slice() {
[INFO] [stdout]    |                         ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 86 |     T: Float + From<f32>, T: TensorElement
[INFO] [stdout]    |                           ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `len` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/math/statistics.rs:102:28
[INFO] [stdout]     |
[INFO] [stdout] 102 |     total / T::from(vector.len() as f32)
[INFO] [stdout]     |                            ^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]    --> src/math/vector.rs:30:9
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]     |
[INFO] [stdout]  86 |     T: Float + From<f32>, T: TensorElement
[INFO] [stdout]     |                           ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]    --> src/math/statistics.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |     variance(vector).sqrt()
[INFO] [stdout]     |              ^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]    --> src/math/vector.rs:26:22
[INFO] [stdout]     |
[INFO] [stdout]  26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]     |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Tensor<T>: CoerceUnsized<&dyn Debug>` is not satisfied in `Tensor<T>`
[INFO] [stdout]   --> src/nn/dense.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     weights: Tensor<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: within `Tensor<T>`, the trait `Debug` is not implemented for `Tensor<T>`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T> where Tensor<T>: Debug {
[INFO] [stdout]    |                     ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Option<Tensor<T>>: CoerceUnsized<&dyn Debug>` is not satisfied in `Option<Tensor<T>>`
[INFO] [stdout]   --> src/nn/dense.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 28 |     bias: Option<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ within `Option<Tensor<T>>`, the trait `Debug` is not implemented for `Option<Tensor<T>>`
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T> where Option<Tensor<T>>: Debug {
[INFO] [stdout]    |                     ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/nn/dense.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone)]
[INFO] [stdout]    |                 ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     weights: Tensor<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T: tensor::TensorElement> {
[INFO] [stdout]    |                   +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/nn/dense.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone)]
[INFO] [stdout]    |                 ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 28 |     bias: Option<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T: tensor::TensorElement> {
[INFO] [stdout]    |                   +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/adam.rs:53:23
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Float> Adam<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 53 |             beta1: T::from_f64(0.9),
[INFO] [stdout]    |                       ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 53 -             beta1: T::from_f64(0.9),
[INFO] [stdout] 53 +             beta1: T::from(0.9),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/adam.rs:55:23
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Float> Adam<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 55 |             beta2: T::from_f64(0.999),
[INFO] [stdout]    |                       ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 55 -             beta2: T::from_f64(0.999),
[INFO] [stdout] 55 +             beta2: T::from(0.999),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/adam.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Float> Adam<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 57 |             epsilon: T::from_f64(1e-8),
[INFO] [stdout]    |                         ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 57 -             epsilon: T::from_f64(1e-8),
[INFO] [stdout] 57 +             epsilon: T::from(1e-8),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `powf` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/adam.rs:87:52
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Float> Adam<T> {
[INFO] [stdout]    |      - method `powf` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 87 |         let beta1_correction = T::ONE - self.beta1.powf(t);
[INFO] [stdout]    |                                                    ^^^^ method not found in `T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `powf` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/adam.rs:89:52
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Float> Adam<T> {
[INFO] [stdout]    |      - method `powf` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 89 |         let beta2_correction = T::ONE - self.beta2.powf(t);
[INFO] [stdout]    |                                                    ^^^^ method not found in `T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]    --> src/optimizer/adam.rs:147:22
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl<T: Float> Default for Adam<T> {
[INFO] [stdout]     |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] 146 |     fn default() -> Self {
[INFO] [stdout] 147 |         Self::new(T::from_f64(0.001))
[INFO] [stdout]     |                      ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 147 -         Self::new(T::from_f64(0.001))
[INFO] [stdout] 147 +         Self::new(T::from(0.001))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/rmsprop.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl<T: Float> RMSProp<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 45 |             alpha: T::from_f64(0.99),
[INFO] [stdout]    |                       ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 45 -             alpha: T::from_f64(0.99),
[INFO] [stdout] 45 +             alpha: T::from(0.99),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/rmsprop.rs:47:25
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl<T: Float> RMSProp<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 47 |             epsilon: T::from_f64(1e-8),
[INFO] [stdout]    |                         ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 47 -             epsilon: T::from_f64(1e-8),
[INFO] [stdout] 47 +             epsilon: T::from(1e-8),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]    --> src/optimizer/rmsprop.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl<T: Float> Default for RMSProp<T> {
[INFO] [stdout]     |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] 104 |     fn default() -> Self {
[INFO] [stdout] 105 |         Self::new(T::from_f64(0.001))
[INFO] [stdout]     |                      ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 105 -         Self::new(T::from_f64(0.001))
[INFO] [stdout] 105 +         Self::new(T::from(0.001))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/sgd.rs:92:31
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl<T: Float> Default for SGD<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 92 |             learning_rate: T::from_f64(0.01),
[INFO] [stdout]    |                               ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 92 -             learning_rate: T::from_f64(0.01),
[INFO] [stdout] 92 +             learning_rate: T::from(0.01),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for reference `&Tensor<f32>` in the current scope
[INFO] [stdout]   --> src/quantization/calibration.rs:48:30
[INFO] [stdout]    |
[INFO] [stdout] 48 |         for &value in tensor.data() {
[INFO] [stdout]    |                              ^^^^ method not found in `&Tensor<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for reference `&Tensor<f32>` in the current scope
[INFO] [stdout]   --> src/quantization/int8.rs:56:50
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut data = Vec::with_capacity(tensor.data().len());
[INFO] [stdout]    |                                                  ^^^^ method not found in `&Tensor<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for reference `&Tensor<f32>` in the current scope
[INFO] [stdout]   --> src/quantization/int8.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |         for &value in tensor.data() {
[INFO] [stdout]    |                              ^^^^ method not found in `&Tensor<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_vec` found for reference `&Shape` in the current scope
[INFO] [stdout]   --> src/quantization/int8.rs:67:35
[INFO] [stdout]    |
[INFO] [stdout] 67 |             shape: tensor.shape().to_vec(),
[INFO] [stdout]    |                                   ^^^^^^ method not found in `&Shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `Shape` cannot be built from an iterator over elements of type `f32`
[INFO] [stdout]   --> src/quantization/int8.rs:81:14
[INFO] [stdout]    |
[INFO] [stdout] 81 |             .collect();
[INFO] [stdout]    |              ^^^^^^^ value of type `Shape` cannot be built from `std::iter::Iterator<Item=f32>`
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `FromIterator<f32>` is not implemented for `Shape`
[INFO] [stdout]   --> src/tensor/shape.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Shape {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `collect`
[INFO] [stdout]   --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/iter/traits/iterator.rs:2087:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `usize: TensorElement` is not satisfied
[INFO] [stdout]   --> src/quantization/int8.rs:83:32
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Tensor::from_vec(data, self.shape.clone())
[INFO] [stdout]    |         ----------------       ^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `usize`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `TensorElement`:
[INFO] [stdout]              f32
[INFO] [stdout]              f64
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              i8
[INFO] [stdout]              u16
[INFO] [stdout]              u32
[INFO] [stdout]            and 2 others
[INFO] [stdout] note: required by a bound in `Tensor::<T>::from_vec`
[INFO] [stdout]   --> src/tensor/tensor.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<T: TensorElement> Tensor<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^ required by this bound in `Tensor::<T>::from_vec`
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn from_vec(shape: Shape, data: Vec<T>) -> Result<Self> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/quantization/int8.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn dequantize(&self) -> Tensor<f32> {
[INFO] [stdout]    |                                 ----------- expected `Tensor<f32>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 83 |         Tensor::from_vec(data, self.shape.clone())
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Tensor<f32>`, found `Result<Tensor<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Tensor<f32>`
[INFO] [stdout]                 found enum `std::result::Result<Tensor<usize>, error::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `usize: TensorElement` is not satisfied
[INFO] [stdout]   --> src/quantization/int8.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Tensor::from_vec(data, self.shape.clone())
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `TensorElement`:
[INFO] [stdout]              f32
[INFO] [stdout]              f64
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              i8
[INFO] [stdout]              u16
[INFO] [stdout]              u32
[INFO] [stdout]            and 2 others
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SchedulerState: Default` is not satisfied
[INFO] [stdout]   --> src/scheduler/mod.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Debug, Default)]
[INFO] [stdout]    |                 ------- in this derive macro expansion
[INFO] [stdout] 91 | pub struct DefaultScheduler {
[INFO] [stdout] 92 |     state: SchedulerState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `SchedulerState`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `SchedulerState` with `#[derive(Default)]`
[INFO] [stdout]    |
[INFO] [stdout] 54 + #[derive(Default)]
[INFO] [stdout] 55 | pub enum SchedulerState {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Vec<Tensor<T>>: CoerceUnsized<&dyn Debug>` is not satisfied in `Vec<Tensor<T>>`
[INFO] [stdout]   --> src/serialization/weights.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] 27 | pub struct Weights<T> {
[INFO] [stdout] 28 |     tensors: Vec<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ within `Vec<Tensor<T>>`, the trait `Debug` is not implemented for `Vec<Tensor<T>>`
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Weights<T> where Vec<Tensor<T>>: Debug {
[INFO] [stdout]    |                       +++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone)]
[INFO] [stdout]    |                 ----- in this derive macro expansion
[INFO] [stdout] 27 | pub struct Weights<T> {
[INFO] [stdout] 28 |     tensors: Vec<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Weights<T: tensor::TensorElement> {
[INFO] [stdout]    |                     +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 |             tensors: Vec::new(),
[INFO] [stdout]    |                      ^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 |             tensors: Vec::new(),
[INFO] [stdout]    |                      ^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         self.tensors.push(tensor);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &self.tensors
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         self.tensors.len()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         self.tensors.is_empty()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TelemetryState: Default` is not satisfied
[INFO] [stdout]   --> src/telemetry/mod.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Default)]
[INFO] [stdout]    |                 ------- in this derive macro expansion
[INFO] [stdout] 86 | pub struct DefaultTelemetry {
[INFO] [stdout] 87 |     state: TelemetryState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `TelemetryState`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `TelemetryState` with `#[derive(Default)]`
[INFO] [stdout]    |
[INFO] [stdout] 51 + #[derive(Default)]
[INFO] [stdout] 52 | pub enum TelemetryState {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add`, `Div`, `Mul`, and `Sub`
[INFO] [stdout]   --> src/math/vector.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::ops::{Add, Div, Index, IndexMut, Mul, Sub};
[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: `Shape`
[INFO] [stdout]   --> src/nn/embedding.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     tensor::{Shape, Tensor, TensorElement},
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `ir` as mutable more than once at a time
[INFO] [stdout]   --> src/compiler/lowering.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if let Some(bb) = ir.block_mut(block) {
[INFO] [stdout]    |                           -- first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 55 |             let id = ir.next_instruction_id();
[INFO] [stdout]    |                      ^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 61 |             bb.add_instruction(instruction);
[INFO] [stdout]    |             -- first borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `ir` as mutable more than once at a time
[INFO] [stdout]   --> src/compiler/lowering.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if let Some(bb) = ir.block_mut(block) {
[INFO] [stdout]    |                           -- first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 63 |             let id = ir.next_instruction_id();
[INFO] [stdout]    |                      ^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 69 |             bb.add_instruction(instruction);
[INFO] [stdout]    |             -- first borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn sum<T>(vector: &Vector<T>) -> T
[INFO] [stdout]    |                        ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     T: Float + tensor::TensorElement,
[INFO] [stdout]    |              +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn mean<T>(vector: &Vector<T>) -> T
[INFO] [stdout]    |                         ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]    |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:48:24
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn min<T>(vector: &Vector<T>) -> Option<T>
[INFO] [stdout]    |                        ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     T: Float + tensor::TensorElement,
[INFO] [stdout]    |              +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn max<T>(vector: &Vector<T>) -> Option<T>
[INFO] [stdout]    |                        ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 68 |     T: Float + tensor::TensorElement,
[INFO] [stdout]    |              +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:84:29
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn variance<T>(vector: &Vector<T>) -> T
[INFO] [stdout]    |                             ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]    |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]    --> src/math/statistics.rs:106:28
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn std_dev<T>(vector: &Vector<T>) -> T
[INFO] [stdout]     |                            ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]    --> src/math/vector.rs:26:22
[INFO] [stdout]     |
[INFO] [stdout]  26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]     |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/nn/dense.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     weights: Tensor<T>,
[INFO] [stdout]    |              ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T: tensor::TensorElement> {
[INFO] [stdout]    |                   +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/nn/dense.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |     bias: Option<Tensor<T>>,
[INFO] [stdout]    |                  ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T: tensor::TensorElement> {
[INFO] [stdout]    |                   +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |     tensors: Vec<Tensor<T>>,
[INFO] [stdout]    |                  ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Weights<T: tensor::TensorElement> {
[INFO] [stdout]    |                     +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:44:36
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn push(&mut self, tensor: Tensor<T>) {
[INFO] [stdout]    |                                    ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:49:32
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn tensors(&self) -> &[Tensor<T>] {
[INFO] [stdout]    |                                ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/nn/layer.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn forward(&self, input: &Tensor<T>) -> Result<Tensor<T>>;
[INFO] [stdout]    |                               ^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub trait Layer<T: tensor::TensorElement> {
[INFO] [stdout]    |                  +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `f64: Eq` is not satisfied
[INFO] [stdout]   --> src/compiler/ir.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]    |                                   -- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 40 |     FloatImmediate(f64),
[INFO] [stdout]    |                    ^^^ the trait `Eq` is not implemented for `f64`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `Eq`:
[INFO] [stdout]              i128
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              i8
[INFO] [stdout]              isize
[INFO] [stdout]              u128
[INFO] [stdout]              u16
[INFO] [stdout]            and 4 others
[INFO] [stdout] note: required by a bound in `std::cmp::AssertParamIsEq`
[INFO] [stdout]   --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/cmp.rs:395:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0499, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `AetherMind` (lib test) due to 60 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no associated function or constant named `MIN` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/kernel/pooling.rs:81:44
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn compute<T: Float>(
[INFO] [stdout]    |                    - associated function or constant `MIN` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 81 |                     PoolingType::Max => T::MIN,
[INFO] [stdout]    |                                            ^^^ associated function or constant not found in `T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]    --> src/kernel/pooling.rs:111:40
[INFO] [stdout]     |
[INFO] [stdout]  57 |     pub fn compute<T: Float>(
[INFO] [stdout]     |                    - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 111 |                     value = value / T::from_f64(area);
[INFO] [stdout]     |                                        ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 111 -                     value = value / T::from_f64(area);
[INFO] [stdout] 111 +                     value = value / T::from(area);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_slice` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 |     for value in vector.as_slice() {
[INFO] [stdout]    |                         ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 24 |     T: Float, T: TensorElement
[INFO] [stdout]    |               ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `is_empty` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |     if vector.is_empty() {
[INFO] [stdout]    |               ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 38 |     T: Float + From<f32>, T: TensorElement
[INFO] [stdout]    |                           ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |     sum(vector) / T::from(vector.len() as f32)
[INFO] [stdout]    |         ^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]    |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `len` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:44:34
[INFO] [stdout]    |
[INFO] [stdout] 44 |     sum(vector) / T::from(vector.len() as f32)
[INFO] [stdout]    |                                  ^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 38 |     T: Float + From<f32>, T: TensorElement
[INFO] [stdout]    |                           ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_slice` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut iter = vector.as_slice().iter();
[INFO] [stdout]    |                           ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 50 |     T: Float, T: TensorElement
[INFO] [stdout]    |               ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_slice` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:70:27
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut iter = vector.as_slice().iter();
[INFO] [stdout]    |                           ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 68 |     T: Float, T: TensorElement
[INFO] [stdout]    |               ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `is_empty` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 |     if vector.is_empty() {
[INFO] [stdout]    |               ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 86 |     T: Float + From<f32>, T: TensorElement
[INFO] [stdout]    |                           ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let avg = mean(vector);
[INFO] [stdout]    |                    ^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]   --> src/math/vector.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 86 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]    |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_slice` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/math/statistics.rs:96:25
[INFO] [stdout]    |
[INFO] [stdout] 96 |     for value in vector.as_slice() {
[INFO] [stdout]    |                         ^^^^^^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]   --> src/math/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]    |         |
[INFO] [stdout]    |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]    |
[INFO] [stdout] 86 |     T: Float + From<f32>, T: TensorElement
[INFO] [stdout]    |                           ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `len` exists for reference `&vector::Vector<T>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/math/statistics.rs:102:28
[INFO] [stdout]     |
[INFO] [stdout] 102 |     total / T::from(vector.len() as f32)
[INFO] [stdout]     |                            ^^^ method cannot be called on `&vector::Vector<T>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: trait bound `T: TensorElement` was not satisfied
[INFO] [stdout]    --> src/math/vector.rs:30:9
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl<T: TensorElement> Vector<T> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^  ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] help: consider restricting the type parameter to satisfy the trait bound
[INFO] [stdout]     |
[INFO] [stdout]  86 |     T: Float + From<f32>, T: TensorElement
[INFO] [stdout]     |                           ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]    --> src/math/statistics.rs:110:14
[INFO] [stdout]     |
[INFO] [stdout] 110 |     variance(vector).sqrt()
[INFO] [stdout]     |              ^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `vector::Vector`
[INFO] [stdout]    --> src/math/vector.rs:26:22
[INFO] [stdout]     |
[INFO] [stdout]  26 | pub struct Vector<T: TensorElement> {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ required by this bound in `Vector`
[INFO] [stdout] help: consider further restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     T: Float + From<f32> + tensor::TensorElement,
[INFO] [stdout]     |                          +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Tensor<T>: CoerceUnsized<&dyn Debug>` is not satisfied in `Tensor<T>`
[INFO] [stdout]   --> src/nn/dense.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     weights: Tensor<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: within `Tensor<T>`, the trait `Debug` is not implemented for `Tensor<T>`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T> where Tensor<T>: Debug {
[INFO] [stdout]    |                     ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Option<Tensor<T>>: CoerceUnsized<&dyn Debug>` is not satisfied in `Option<Tensor<T>>`
[INFO] [stdout]   --> src/nn/dense.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 28 |     bias: Option<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ within `Option<Tensor<T>>`, the trait `Debug` is not implemented for `Option<Tensor<T>>`
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T> where Option<Tensor<T>>: Debug {
[INFO] [stdout]    |                     ++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/nn/dense.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone)]
[INFO] [stdout]    |                 ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 27 |     weights: Tensor<T>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T: tensor::TensorElement> {
[INFO] [stdout]    |                   +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/nn/dense.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone)]
[INFO] [stdout]    |                 ----- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 28 |     bias: Option<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Dense<T: tensor::TensorElement> {
[INFO] [stdout]    |                   +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/adam.rs:53:23
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Float> Adam<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 53 |             beta1: T::from_f64(0.9),
[INFO] [stdout]    |                       ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 53 -             beta1: T::from_f64(0.9),
[INFO] [stdout] 53 +             beta1: T::from(0.9),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/adam.rs:55:23
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Float> Adam<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 55 |             beta2: T::from_f64(0.999),
[INFO] [stdout]    |                       ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 55 -             beta2: T::from_f64(0.999),
[INFO] [stdout] 55 +             beta2: T::from(0.999),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/adam.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Float> Adam<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 57 |             epsilon: T::from_f64(1e-8),
[INFO] [stdout]    |                         ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 57 -             epsilon: T::from_f64(1e-8),
[INFO] [stdout] 57 +             epsilon: T::from(1e-8),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `powf` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/adam.rs:87:52
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Float> Adam<T> {
[INFO] [stdout]    |      - method `powf` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 87 |         let beta1_correction = T::ONE - self.beta1.powf(t);
[INFO] [stdout]    |                                                    ^^^^ method not found in `T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `powf` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/adam.rs:89:52
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: Float> Adam<T> {
[INFO] [stdout]    |      - method `powf` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 89 |         let beta2_correction = T::ONE - self.beta2.powf(t);
[INFO] [stdout]    |                                                    ^^^^ method not found in `T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]    --> src/optimizer/adam.rs:147:22
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl<T: Float> Default for Adam<T> {
[INFO] [stdout]     |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] 146 |     fn default() -> Self {
[INFO] [stdout] 147 |         Self::new(T::from_f64(0.001))
[INFO] [stdout]     |                      ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 147 -         Self::new(T::from_f64(0.001))
[INFO] [stdout] 147 +         Self::new(T::from(0.001))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/rmsprop.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl<T: Float> RMSProp<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 45 |             alpha: T::from_f64(0.99),
[INFO] [stdout]    |                       ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 45 -             alpha: T::from_f64(0.99),
[INFO] [stdout] 45 +             alpha: T::from(0.99),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/rmsprop.rs:47:25
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl<T: Float> RMSProp<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 47 |             epsilon: T::from_f64(1e-8),
[INFO] [stdout]    |                         ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 47 -             epsilon: T::from_f64(1e-8),
[INFO] [stdout] 47 +             epsilon: T::from(1e-8),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]    --> src/optimizer/rmsprop.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl<T: Float> Default for RMSProp<T> {
[INFO] [stdout]     |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] 104 |     fn default() -> Self {
[INFO] [stdout] 105 |         Self::new(T::from_f64(0.001))
[INFO] [stdout]     |                      ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 105 -         Self::new(T::from_f64(0.001))
[INFO] [stdout] 105 +         Self::new(T::from(0.001))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `from_f64` found for type parameter `T` in the current scope
[INFO] [stdout]   --> src/optimizer/sgd.rs:92:31
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl<T: Float> Default for SGD<T> {
[INFO] [stdout]    |      - associated function or constant `from_f64` not found for this type parameter
[INFO] [stdout] ...
[INFO] [stdout] 92 |             learning_rate: T::from_f64(0.01),
[INFO] [stdout]    |                               ^^^^^^^^ associated function or constant not found in `T`
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 92 -             learning_rate: T::from_f64(0.01),
[INFO] [stdout] 92 +             learning_rate: T::from(0.01),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for reference `&Tensor<f32>` in the current scope
[INFO] [stdout]   --> src/quantization/calibration.rs:48:30
[INFO] [stdout]    |
[INFO] [stdout] 48 |         for &value in tensor.data() {
[INFO] [stdout]    |                              ^^^^ method not found in `&Tensor<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for reference `&Tensor<f32>` in the current scope
[INFO] [stdout]   --> src/quantization/int8.rs:56:50
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut data = Vec::with_capacity(tensor.data().len());
[INFO] [stdout]    |                                                  ^^^^ method not found in `&Tensor<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `data` found for reference `&Tensor<f32>` in the current scope
[INFO] [stdout]   --> src/quantization/int8.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |         for &value in tensor.data() {
[INFO] [stdout]    |                              ^^^^ method not found in `&Tensor<f32>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `to_vec` found for reference `&Shape` in the current scope
[INFO] [stdout]   --> src/quantization/int8.rs:67:35
[INFO] [stdout]    |
[INFO] [stdout] 67 |             shape: tensor.shape().to_vec(),
[INFO] [stdout]    |                                   ^^^^^^ method not found in `&Shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `Shape` cannot be built from an iterator over elements of type `f32`
[INFO] [stdout]   --> src/quantization/int8.rs:81:14
[INFO] [stdout]    |
[INFO] [stdout] 81 |             .collect();
[INFO] [stdout]    |              ^^^^^^^ value of type `Shape` cannot be built from `std::iter::Iterator<Item=f32>`
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `FromIterator<f32>` is not implemented for `Shape`
[INFO] [stdout]   --> src/tensor/shape.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Shape {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `collect`
[INFO] [stdout]   --> /rustc/3154cc1a3e6424e44f438a95007d043ed5ceaaf6/library/core/src/iter/traits/iterator.rs:2087:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `usize: TensorElement` is not satisfied
[INFO] [stdout]   --> src/quantization/int8.rs:83:32
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Tensor::from_vec(data, self.shape.clone())
[INFO] [stdout]    |         ----------------       ^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `usize`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `TensorElement`:
[INFO] [stdout]              f32
[INFO] [stdout]              f64
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              i8
[INFO] [stdout]              u16
[INFO] [stdout]              u32
[INFO] [stdout]            and 2 others
[INFO] [stdout] note: required by a bound in `Tensor::<T>::from_vec`
[INFO] [stdout]   --> src/tensor/tensor.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<T: TensorElement> Tensor<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^ required by this bound in `Tensor::<T>::from_vec`
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn from_vec(shape: Shape, data: Vec<T>) -> Result<Self> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/quantization/int8.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn dequantize(&self) -> Tensor<f32> {
[INFO] [stdout]    |                                 ----------- expected `Tensor<f32>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 83 |         Tensor::from_vec(data, self.shape.clone())
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Tensor<f32>`, found `Result<Tensor<usize>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Tensor<f32>`
[INFO] [stdout]                 found enum `std::result::Result<Tensor<usize>, error::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `usize: TensorElement` is not satisfied
[INFO] [stdout]   --> src/quantization/int8.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Tensor::from_vec(data, self.shape.clone())
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `TensorElement`:
[INFO] [stdout]              f32
[INFO] [stdout]              f64
[INFO] [stdout]              i16
[INFO] [stdout]              i32
[INFO] [stdout]              i64
[INFO] [stdout]              i8
[INFO] [stdout]              u16
[INFO] [stdout]              u32
[INFO] [stdout]            and 2 others
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SchedulerState: Default` is not satisfied
[INFO] [stdout]   --> src/scheduler/mod.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[derive(Debug, Default)]
[INFO] [stdout]    |                 ------- in this derive macro expansion
[INFO] [stdout] 91 | pub struct DefaultScheduler {
[INFO] [stdout] 92 |     state: SchedulerState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `SchedulerState`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `SchedulerState` with `#[derive(Default)]`
[INFO] [stdout]    |
[INFO] [stdout] 54 + #[derive(Default)]
[INFO] [stdout] 55 | pub enum SchedulerState {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Vec<Tensor<T>>: CoerceUnsized<&dyn Debug>` is not satisfied in `Vec<Tensor<T>>`
[INFO] [stdout]   --> src/serialization/weights.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[INFO] [stdout] 27 | pub struct Weights<T> {
[INFO] [stdout] 28 |     tensors: Vec<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ within `Vec<Tensor<T>>`, the trait `Debug` is not implemented for `Vec<Tensor<T>>`
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Weights<T> where Vec<Tensor<T>>: Debug {
[INFO] [stdout]    |                       +++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Clone)]
[INFO] [stdout]    |                 ----- in this derive macro expansion
[INFO] [stdout] 27 | pub struct Weights<T> {
[INFO] [stdout] 28 |     tensors: Vec<Tensor<T>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Weights<T: tensor::TensorElement> {
[INFO] [stdout]    |                     +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 |             tensors: Vec::new(),
[INFO] [stdout]    |                      ^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 |             tensors: Vec::new(),
[INFO] [stdout]    |                      ^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         self.tensors.push(tensor);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &self.tensors
[INFO] [stdout]    |         ^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         self.tensors.len()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T: TensorElement` is not satisfied
[INFO] [stdout]   --> src/serialization/weights.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         self.tensors.is_empty()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ the trait `TensorElement` is not implemented for `T`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `Tensor`
[INFO] [stdout]   --> src/tensor/tensor.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Tensor<T: TensorElement> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ required by this bound in `Tensor`
[INFO] [stdout] help: consider restricting type parameter `T` with trait `TensorElement`
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl<T: tensor::TensorElement> Weights<T> {
[INFO] [stdout]    |       +++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TelemetryState: Default` is not satisfied
[INFO] [stdout]   --> src/telemetry/mod.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | #[derive(Debug, Default)]
[INFO] [stdout]    |                 ------- in this derive macro expansion
[INFO] [stdout] 86 | pub struct DefaultTelemetry {
[INFO] [stdout] 87 |     state: TelemetryState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `TelemetryState`
[INFO] [stdout]    |
[INFO] [stdout] help: consider annotating `TelemetryState` with `#[derive(Default)]`
[INFO] [stdout]    |
[INFO] [stdout] 51 + #[derive(Default)]
[INFO] [stdout] 52 | pub enum TelemetryState {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `ir` as mutable more than once at a time
[INFO] [stdout]   --> src/compiler/lowering.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if let Some(bb) = ir.block_mut(block) {
[INFO] [stdout]    |                           -- first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 55 |             let id = ir.next_instruction_id();
[INFO] [stdout]    |                      ^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 61 |             bb.add_instruction(instruction);
[INFO] [stdout]    |             -- first borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `ir` as mutable more than once at a time
[INFO] [stdout]   --> src/compiler/lowering.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if let Some(bb) = ir.block_mut(block) {
[INFO] [stdout]    |                           -- first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 63 |             let id = ir.next_instruction_id();
[INFO] [stdout]    |                      ^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 69 |             bb.add_instruction(instruction);
[INFO] [stdout]    |             -- first borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0499, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `AetherMind` (lib) due to 60 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1a77eee04733d3af274cf398c2dbc631c6e6c2a22575f20cec53ee70d6f2df38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a77eee04733d3af274cf398c2dbc631c6e6c2a22575f20cec53ee70d6f2df38", kill_on_drop: false }`
[INFO] [stdout] 1a77eee04733d3af274cf398c2dbc631c6e6c2a22575f20cec53ee70d6f2df38
