[INFO] fetching crate nevermind-neu 0.2.1... [INFO] testing nevermind-neu-0.2.1 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate nevermind-neu 0.2.1 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate nevermind-neu 0.2.1 [INFO] removed 3 missing examples [INFO] finished tweaking crates.io crate nevermind-neu 0.2.1 [INFO] tweaked toml for crates.io crate nevermind-neu 0.2.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate nevermind-neu 0.2.1 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate nevermind-neu 0.2.1 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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d99bb634049c0c9719e3784bd01c1b4da37141c00450dbbad303005649fa3f76 [INFO] running `Command { std: "docker" "start" "-a" "d99bb634049c0c9719e3784bd01c1b4da37141c00450dbbad303005649fa3f76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d99bb634049c0c9719e3784bd01c1b4da37141c00450dbbad303005649fa3f76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d99bb634049c0c9719e3784bd01c1b4da37141c00450dbbad303005649fa3f76", kill_on_drop: false }` [INFO] [stdout] d99bb634049c0c9719e3784bd01c1b4da37141c00450dbbad303005649fa3f76 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d5d7dfdbb5eef368cf425854dcbe9fcfd73bae17eea0ebc590f9fa0da6da9455 [INFO] running `Command { std: "docker" "start" "-a" "d5d7dfdbb5eef368cf425854dcbe9fcfd73bae17eea0ebc590f9fa0da6da9455", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.67 [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling libm v0.2.7 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling rustix v0.38.15 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling semver v1.0.19 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.8 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling matrixmultiply v0.3.8 [INFO] [stderr] Compiling hashbrown v0.14.1 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling prettyplease v0.1.25 [INFO] [stderr] Compiling either v1.9.0 [INFO] [stderr] Compiling thiserror v1.0.48 [INFO] [stderr] Compiling crossbeam-deque v0.8.3 [INFO] [stderr] Compiling crossbeam-queue v0.3.8 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling fastrand v2.0.1 [INFO] [stderr] Compiling home v0.5.5 [INFO] [stderr] Compiling cl-sys v0.4.3 [INFO] [stderr] Compiling ocl-core v0.11.5 [INFO] [stderr] Compiling crossbeam-channel v0.5.8 [INFO] [stderr] Compiling aho-corasick v1.1.1 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Compiling destructure_traitobject v0.2.0 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling indexmap v2.0.2 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling multimap v0.8.3 [INFO] [stderr] Compiling linked-hash-map v0.5.6 [INFO] [stderr] Compiling serde_json v1.0.107 [INFO] [stderr] Compiling syn v2.0.37 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling rayon v1.8.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling crossbeam v0.8.2 [INFO] [stderr] Compiling num-complex v0.4.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling petgraph v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling enum_primitive v0.1.1 [INFO] [stderr] Compiling regex-automata v0.3.9 [INFO] [stderr] Compiling ordered-float v2.10.0 [INFO] [stderr] Compiling ocl-core-vector v0.1.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling yaml-rust v0.4.5 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Compiling tempfile v3.8.0 [INFO] [stderr] Compiling unsafe-any-ors v1.0.0 [INFO] [stderr] Compiling os_str_bytes v6.5.1 [INFO] [stderr] Compiling futures v0.1.31 [INFO] [stderr] Compiling termcolor v1.3.0 [INFO] [stderr] Compiling iana-time-zone v0.1.57 [INFO] [stderr] Compiling chrono v0.4.31 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling typemap-ors v1.0.0 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling noisy_float v0.2.0 [INFO] [stderr] Compiling thread-id v4.2.0 [INFO] [stderr] Compiling csv-core v0.1.10 [INFO] [stderr] Compiling nodrop v0.1.14 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling textwrap v0.16.0 [INFO] [stderr] Compiling arc-swap v1.6.0 [INFO] [stderr] Compiling unicode-width v0.1.11 [INFO] [stderr] Compiling unicode-segmentation v1.10.1 [INFO] [stderr] Compiling ndarray v0.15.6 [INFO] [stderr] Compiling log-mdc v0.1.0 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling regex v1.9.6 [INFO] [stderr] Compiling qutex v0.2.4 [INFO] [stderr] Compiling serde_derive v1.0.188 [INFO] [stderr] Compiling thiserror-impl v1.0.48 [INFO] [stderr] Compiling nix v0.26.4 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling prost-derive v0.11.9 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling ndarray-stats v0.5.1 [INFO] [stderr] Compiling ndarray-rand v0.14.0 [INFO] [stderr] Compiling ocl v0.19.5 [INFO] [stderr] Compiling prost v0.11.9 [INFO] [stderr] Compiling prost-types v0.11.9 [INFO] [stderr] Compiling serde-value v0.7.0 [INFO] [stderr] Compiling serde_yaml v0.8.26 [INFO] [stderr] Compiling csv v1.2.2 [INFO] [stderr] Compiling mio v0.8.8 [INFO] [stderr] Compiling rust-mnist v0.1.4 [INFO] [stderr] Compiling env_logger v0.9.3 [INFO] [stderr] Compiling prost-build v0.11.9 [INFO] [stderr] Compiling signal-hook-mio v0.2.3 [INFO] [stderr] Compiling crossterm v0.25.0 [INFO] [stderr] Compiling log4rs v1.2.0 [INFO] [stderr] Compiling tui v0.19.0 [INFO] [stderr] Compiling nevermind-neu v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/layers/euclidean_loss_layer.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, info}; [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: `Array1` [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::{Array1, Axis, Zip, indices}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info` and `warn` [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | use log::{debug, info, warn}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Buffer`, `MemFlags`, and `ProQue` [INFO] [stdout] --> src/layers/abstract_layer_ocl.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MemFlags` [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | use ocl::{Buffer, Context, Device, Kernel, MemFlags, Program, Queue}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{debug, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DerefMut` [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/layers/softmax_loss_layer_ocl.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error::Error`, `fs::File`, `io::ErrorKind`, and `io::prelude::*` [INFO] [stdout] --> src/optimizers/optim_ocl.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{error::Error, fs::File, io::prelude::*, io::ErrorKind}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/util/util.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::ser::{Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash::Hash` [INFO] [stdout] --> src/util/with_params.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/models/sequential.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cell::RefCell` [INFO] [stdout] --> src/models/sequential.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{cell::RefCell, fs}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/models/sequential.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | use log::{debug, error, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/models/model_helper.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray::Array2` [INFO] [stdout] --> src/models/model_helper.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use ndarray::Array2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str::FromStr` [INFO] [stdout] --> src/models/model_helper.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{str::FromStr, sync::Arc, cell::RefCell}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypeBuffer` [INFO] [stdout] --> src/models/model_helper.rs:6:42 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cpu_params::{VariantParamArc, TypeBuffer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PbBufBlob` [INFO] [stdout] --> src/models/model_helper.rs:7:32 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::models::pb::{PbBuf, PbBufBlob}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/models/sequential_ocl.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandQueueProperties` and `MapFlags` [INFO] [stdout] --> src/models/sequential_ocl.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | use ocl::flags::{CommandQueueProperties, MapFlags, MemFlags}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `Kernel`, `Program`, and `Result as OclResult` [INFO] [stdout] --> src/models/sequential_ocl.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | use ocl::{Buffer, Context, Device, Event, Kernel, Platform, Program, Queue, Result as OclResult}; [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> src/models/mod.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{error::Error, rc::Rc, cell::RefCell}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layers_storage::SerdeLayersStorage` [INFO] [stdout] --> src/models/mod.rs:7:60 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::{util::*, layers::AbstractLayer, cpu_params::*, layers_storage::SerdeLayersStorage}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/layer_fabric.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/cpu_params.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray_rand::rand::rngs::SmallRng` [INFO] [stdout] --> src/cpu_params.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use ndarray_rand::rand::rngs::SmallRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray_rand::rand::SeedableRng` [INFO] [stdout] --> src/cpu_params.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray_rand::rand::SeedableRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/cpu_params.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | use ndarray_rand::rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Float` and `WsBlob` [INFO] [stdout] --> src/cpu_params.rs:15:37 [INFO] [stdout] | [INFO] [stdout] 15 | use super::util::{Array1D, Array2D, Float, WsBlob, WsMat}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/orchestra.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use log::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Axis` [INFO] [stdout] --> src/orchestra.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use ndarray::{Axis, Zip}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tui::widgets::canvas::Shape` [INFO] [stdout] --> src/ocl.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tui::widgets::canvas::Shape; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Device`, and `ProQue` [INFO] [stdout] --> src/ocl.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_input` [INFO] [stdout] --> src/layers/dummy_layer.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | prev_input: ParamsBlob, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/layers/dummy_layer.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | input: ParamsBlob, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/dummy_layer.rs:35:35 [INFO] [stdout] | [INFO] [stdout] 35 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/input_layer.rs:41:35 [INFO] [stdout] | [INFO] [stdout] 41 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp` [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:144:34 [INFO] [stdout] | [INFO] [stdout] 144 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:56:34 [INFO] [stdout] | [INFO] [stdout] 56 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:58:35 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_input_shape(&mut self, sh: &[usize]) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:102:31 [INFO] [stdout] | [INFO] [stdout] 102 | fn forward_ocl(&mut self, params: OclParamsBlob) -> LayerOclResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 204 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID, [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 205 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 206 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 207 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW, [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 208 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU, [INFO] [stdout] 209 | _ => todo!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 213 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID_DERIV, [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 214 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH_DERIV, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 215 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU_DERIV, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 216 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU_DERIV, [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] 217 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW_DERIV, [INFO] [stdout] 218 | _ => todo!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/util/with_params.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | fn set_cfg(&mut self, args: &HashMap) { } [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> src/models/sequential.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | let mut out = None; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/models/sequential.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/models/sequential.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 285 | VariantParamArc::Array2(arr2) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 292 | VariantParamArc::Array1(arr1) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 299 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> src/models/sequential_ocl.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | let mut out = None; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/models/sequential_ocl.rs:444:30 [INFO] [stdout] | [INFO] [stdout] 444 | fn clone_from(&mut self, source: &Self) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/ocl.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn only_output(buf: Buffer, queue: Queue) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `output` is never read [INFO] [stdout] --> src/layers/dummy_layer.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct DummyLayer { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 10 | output: DataVec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DummyLayer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/abstract_layer.rs:74:23 [INFO] [stdout] | [INFO] [stdout] 74 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 74 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:168:23 [INFO] [stdout] | [INFO] [stdout] 168 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 168 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/input_layer.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 58 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:146:23 [INFO] [stdout] | [INFO] [stdout] 146 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 146 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/input_layer_ocl.rs:48:23 [INFO] [stdout] | [INFO] [stdout] 48 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 48 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:160:23 [INFO] [stdout] | [INFO] [stdout] 160 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 160 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/softmax_loss_layer_ocl.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 136 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers_storage.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | fn iter_mut(&mut self) -> IterMut>; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 22 | fn iter_mut(&mut self) -> IterMut<'_, Box>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers_storage.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn iter_mut(&mut self) -> std::slice::IterMut> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 84 | pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers_storage.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 88 | pub fn iter(&self) -> std::slice::Iter<'_, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/bin/tool/test.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use log::{error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/bin/tool/main.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | pub mod test; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/bin/tool/test.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/bin/tool/main.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | pub mod test; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Arg` [INFO] [stdout] --> src/bin/tool/train_tui.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use clap::{Arg, ArgMatches}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/bin/tool/train_tui.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | use log::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Corner` and `ListState` [INFO] [stdout] --> src/bin/tool/train_tui.rs:29:26 [INFO] [stdout] | [INFO] [stdout] 29 | layout::{Constraint, Corner, Direction, Layout}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | widgets::{Axis, Block, Borders, Chart, Dataset, GraphType, List, ListItem, ListState}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Backend` [INFO] [stdout] --> src/bin/tool/train_tui.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | backend::{Backend, CrosstermBackend}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | sender.send(NetMsg::InitInfo(epoch_size, train_batch_size)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 326 | let _ = sender.send(NetMsg::InitInfo(epoch_size, train_batch_size)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | net.train_for_error_or_iter(*err, *max_iter); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 354 | let _ = net.train_for_error_or_iter(*err, *max_iter); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | net.train_for_error(*err); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 357 | let _ = net.train_for_error(*err); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:360:13 [INFO] [stdout] | [INFO] [stdout] 360 | net.train_for_n_times(*max_iter); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 360 | let _ = net.train_for_n_times(*max_iter); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:402:5 [INFO] [stdout] | [INFO] [stdout] 402 | join_handle.join().expect("Failed to join learning thread!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 402 | let _ = join_handle.join().expect("Failed to join learning thread!"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.52s [INFO] running `Command { std: "docker" "inspect" "d5d7dfdbb5eef368cf425854dcbe9fcfd73bae17eea0ebc590f9fa0da6da9455", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d5d7dfdbb5eef368cf425854dcbe9fcfd73bae17eea0ebc590f9fa0da6da9455", kill_on_drop: false }` [INFO] [stdout] d5d7dfdbb5eef368cf425854dcbe9fcfd73bae17eea0ebc590f9fa0da6da9455 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4d8aa8fc5bca10e4c59e7e1bd8df6b85452a8df9ad4c9bac822f7c1cf3587994 [INFO] running `Command { std: "docker" "start" "-a" "4d8aa8fc5bca10e4c59e7e1bd8df6b85452a8df9ad4c9bac822f7c1cf3587994", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/layers/euclidean_loss_layer.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, info}; [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: `Array1` [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::{Array1, Axis, Zip, indices}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info` and `warn` [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | use log::{debug, info, warn}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Buffer`, `MemFlags`, and `ProQue` [INFO] [stdout] --> src/layers/abstract_layer_ocl.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MemFlags` [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | use ocl::{Buffer, Context, Device, Kernel, MemFlags, Program, Queue}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{debug, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DerefMut` [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/layers/softmax_loss_layer_ocl.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error::Error`, `fs::File`, `io::ErrorKind`, and `io::prelude::*` [INFO] [stdout] --> src/optimizers/optim_ocl.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{error::Error, fs::File, io::prelude::*, io::ErrorKind}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/util/util.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::ser::{Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash::Hash` [INFO] [stdout] --> src/util/with_params.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/models/sequential.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cell::RefCell` [INFO] [stdout] --> src/models/sequential.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{cell::RefCell, fs}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/models/sequential.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | use log::{debug, error, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/models/model_helper.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray::Array2` [INFO] [stdout] --> src/models/model_helper.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use ndarray::Array2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str::FromStr` [INFO] [stdout] --> src/models/model_helper.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{str::FromStr, sync::Arc, cell::RefCell}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypeBuffer` [INFO] [stdout] --> src/models/model_helper.rs:6:42 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cpu_params::{VariantParamArc, TypeBuffer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PbBufBlob` [INFO] [stdout] --> src/models/model_helper.rs:7:32 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::models::pb::{PbBuf, PbBufBlob}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/models/sequential_ocl.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandQueueProperties` and `MapFlags` [INFO] [stdout] --> src/models/sequential_ocl.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | use ocl::flags::{CommandQueueProperties, MapFlags, MemFlags}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `Kernel`, `Program`, and `Result as OclResult` [INFO] [stdout] --> src/models/sequential_ocl.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | use ocl::{Buffer, Context, Device, Event, Kernel, Platform, Program, Queue, Result as OclResult}; [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> src/models/mod.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{error::Error, rc::Rc, cell::RefCell}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layers_storage::SerdeLayersStorage` [INFO] [stdout] --> src/models/mod.rs:7:60 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::{util::*, layers::AbstractLayer, cpu_params::*, layers_storage::SerdeLayersStorage}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/layer_fabric.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/cpu_params.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray_rand::rand::rngs::SmallRng` [INFO] [stdout] --> src/cpu_params.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use ndarray_rand::rand::rngs::SmallRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray_rand::rand::SeedableRng` [INFO] [stdout] --> src/cpu_params.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray_rand::rand::SeedableRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/cpu_params.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | use ndarray_rand::rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Float` and `WsBlob` [INFO] [stdout] --> src/cpu_params.rs:15:37 [INFO] [stdout] | [INFO] [stdout] 15 | use super::util::{Array1D, Array2D, Float, WsBlob, WsMat}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/orchestra.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use log::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Axis` [INFO] [stdout] --> src/orchestra.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use ndarray::{Axis, Zip}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tui::widgets::canvas::Shape` [INFO] [stdout] --> src/ocl.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tui::widgets::canvas::Shape; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Device`, and `ProQue` [INFO] [stdout] --> src/ocl.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_input` [INFO] [stdout] --> src/layers/dummy_layer.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | prev_input: ParamsBlob, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/layers/dummy_layer.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | input: ParamsBlob, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/dummy_layer.rs:35:35 [INFO] [stdout] | [INFO] [stdout] 35 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/input_layer.rs:41:35 [INFO] [stdout] | [INFO] [stdout] 41 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp` [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:144:34 [INFO] [stdout] | [INFO] [stdout] 144 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:56:34 [INFO] [stdout] | [INFO] [stdout] 56 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:58:35 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_input_shape(&mut self, sh: &[usize]) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:102:31 [INFO] [stdout] | [INFO] [stdout] 102 | fn forward_ocl(&mut self, params: OclParamsBlob) -> LayerOclResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 204 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID, [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 205 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 206 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 207 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW, [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 208 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU, [INFO] [stdout] 209 | _ => todo!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 213 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID_DERIV, [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 214 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH_DERIV, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 215 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU_DERIV, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 216 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU_DERIV, [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] 217 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW_DERIV, [INFO] [stdout] 218 | _ => todo!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/util/with_params.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | fn set_cfg(&mut self, args: &HashMap) { } [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> src/models/sequential.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | let mut out = None; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/models/sequential.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/models/sequential.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 285 | VariantParamArc::Array2(arr2) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 292 | VariantParamArc::Array1(arr1) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 299 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> src/models/sequential_ocl.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | let mut out = None; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/models/sequential_ocl.rs:444:30 [INFO] [stdout] | [INFO] [stdout] 444 | fn clone_from(&mut self, source: &Self) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/ocl.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn only_output(buf: Buffer, queue: Queue) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `output` is never read [INFO] [stdout] --> src/layers/dummy_layer.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct DummyLayer { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 10 | output: DataVec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DummyLayer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/abstract_layer.rs:74:23 [INFO] [stdout] | [INFO] [stdout] 74 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 74 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:168:23 [INFO] [stdout] | [INFO] [stdout] 168 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 168 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/input_layer.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 58 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling nevermind-neu v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:146:23 [INFO] [stdout] | [INFO] [stdout] 146 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 146 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/input_layer_ocl.rs:48:23 [INFO] [stdout] | [INFO] [stdout] 48 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 48 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:160:23 [INFO] [stdout] | [INFO] [stdout] 160 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 160 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/softmax_loss_layer_ocl.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 136 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers_storage.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | fn iter_mut(&mut self) -> IterMut>; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 22 | fn iter_mut(&mut self) -> IterMut<'_, Box>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers_storage.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn iter_mut(&mut self) -> std::slice::IterMut> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 84 | pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers_storage.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 88 | pub fn iter(&self) -> std::slice::Iter<'_, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/bin/tool/test.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use log::{error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/bin/tool/test.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Arg` [INFO] [stdout] --> src/bin/tool/train_tui.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use clap::{Arg, ArgMatches}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/bin/tool/train_tui.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | use log::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Corner` and `ListState` [INFO] [stdout] --> src/bin/tool/train_tui.rs:29:26 [INFO] [stdout] | [INFO] [stdout] 29 | layout::{Constraint, Corner, Direction, Layout}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | widgets::{Axis, Block, Borders, Chart, Dataset, GraphType, List, ListItem, ListState}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> examples/mnist/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ops::DerefMut; [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: `print_sample_image` [INFO] [stdout] --> examples/mnist/main.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use rust_mnist::{print_sample_image, Mnist}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/layers/euclidean_loss_layer.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, info}; [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: `Array1` [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::{Array1, Axis, Zip, indices}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info` and `warn` [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | use log::{debug, info, warn}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Buffer`, `MemFlags`, and `ProQue` [INFO] [stdout] --> src/layers/abstract_layer_ocl.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MemFlags` [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | use ocl::{Buffer, Context, Device, Kernel, MemFlags, Program, Queue}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{debug, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DerefMut` [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/layers/softmax_loss_layer_ocl.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error::Error`, `fs::File`, `io::ErrorKind`, and `io::prelude::*` [INFO] [stdout] --> src/optimizers/optim_ocl.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{error::Error, fs::File, io::prelude::*, io::ErrorKind}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/util/util.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::ser::{Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash::Hash` [INFO] [stdout] --> src/util/with_params.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/models/sequential.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cell::RefCell` [INFO] [stdout] --> src/models/sequential.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{cell::RefCell, fs}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/models/sequential.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | use log::{debug, error, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/models/model_helper.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray::Array2` [INFO] [stdout] --> src/models/model_helper.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use ndarray::Array2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str::FromStr` [INFO] [stdout] --> src/models/model_helper.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{str::FromStr, sync::Arc, cell::RefCell}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypeBuffer` [INFO] [stdout] --> src/models/model_helper.rs:6:42 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cpu_params::{VariantParamArc, TypeBuffer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PbBufBlob` [INFO] [stdout] --> src/models/model_helper.rs:7:32 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::models::pb::{PbBuf, PbBufBlob}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/models/sequential_ocl.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandQueueProperties` and `MapFlags` [INFO] [stdout] --> src/models/sequential_ocl.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | use ocl::flags::{CommandQueueProperties, MapFlags, MemFlags}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `Kernel`, `Program`, and `Result as OclResult` [INFO] [stdout] --> src/models/sequential_ocl.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | use ocl::{Buffer, Context, Device, Event, Kernel, Platform, Program, Queue, Result as OclResult}; [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> src/models/mod.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{error::Error, rc::Rc, cell::RefCell}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layers_storage::SerdeLayersStorage` [INFO] [stdout] --> src/models/mod.rs:7:60 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::{util::*, layers::AbstractLayer, cpu_params::*, layers_storage::SerdeLayersStorage}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/layer_fabric.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/cpu_params.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray_rand::rand::rngs::SmallRng` [INFO] [stdout] --> src/cpu_params.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use ndarray_rand::rand::rngs::SmallRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray_rand::rand::SeedableRng` [INFO] [stdout] --> src/cpu_params.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray_rand::rand::SeedableRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/cpu_params.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | use ndarray_rand::rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Float` and `WsBlob` [INFO] [stdout] --> src/cpu_params.rs:15:37 [INFO] [stdout] | [INFO] [stdout] 15 | use super::util::{Array1D, Array2D, Float, WsBlob, WsMat}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/orchestra.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use log::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Axis` [INFO] [stdout] --> src/orchestra.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use ndarray::{Axis, Zip}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tui::widgets::canvas::Shape` [INFO] [stdout] --> src/ocl.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tui::widgets::canvas::Shape; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Device`, and `ProQue` [INFO] [stdout] --> src/ocl.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Backend` [INFO] [stdout] --> src/bin/tool/train_tui.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | backend::{Backend, CrosstermBackend}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | sender.send(NetMsg::InitInfo(epoch_size, train_batch_size)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 326 | let _ = sender.send(NetMsg::InitInfo(epoch_size, train_batch_size)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | net.train_for_error_or_iter(*err, *max_iter); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 354 | let _ = net.train_for_error_or_iter(*err, *max_iter); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | net.train_for_error(*err); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 357 | let _ = net.train_for_error(*err); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:360:13 [INFO] [stdout] | [INFO] [stdout] 360 | net.train_for_n_times(*max_iter); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 360 | let _ = net.train_for_n_times(*max_iter); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:402:5 [INFO] [stdout] | [INFO] [stdout] 402 | join_handle.join().expect("Failed to join learning thread!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 402 | let _ = join_handle.join().expect("Failed to join learning thread!"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_input` [INFO] [stdout] --> src/layers/dummy_layer.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | prev_input: ParamsBlob, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/layers/dummy_layer.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | input: ParamsBlob, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/dummy_layer.rs:35:35 [INFO] [stdout] | [INFO] [stdout] 35 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/input_layer.rs:41:35 [INFO] [stdout] | [INFO] [stdout] 41 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp` [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:144:34 [INFO] [stdout] | [INFO] [stdout] 144 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:56:34 [INFO] [stdout] | [INFO] [stdout] 56 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:58:35 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_input_shape(&mut self, sh: &[usize]) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:102:31 [INFO] [stdout] | [INFO] [stdout] 102 | fn forward_ocl(&mut self, params: OclParamsBlob) -> LayerOclResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 204 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID, [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 205 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 206 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 207 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW, [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 208 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU, [INFO] [stdout] 209 | _ => todo!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 213 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID_DERIV, [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 214 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH_DERIV, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 215 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU_DERIV, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 216 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU_DERIV, [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] 217 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW_DERIV, [INFO] [stdout] 218 | _ => todo!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/util/with_params.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | fn set_cfg(&mut self, args: &HashMap) { } [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> src/models/sequential.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | let mut out = None; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/models/sequential.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/models/sequential.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 285 | VariantParamArc::Array2(arr2) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 292 | VariantParamArc::Array1(arr1) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 299 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> src/models/sequential_ocl.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | let mut out = None; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/models/sequential_ocl.rs:444:30 [INFO] [stdout] | [INFO] [stdout] 444 | fn clone_from(&mut self, source: &Self) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/ocl.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn only_output(buf: Buffer, queue: Queue) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `output` is never read [INFO] [stdout] --> src/layers/dummy_layer.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct DummyLayer { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 10 | output: DataVec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DummyLayer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/abstract_layer.rs:74:23 [INFO] [stdout] | [INFO] [stdout] 74 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 74 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:168:23 [INFO] [stdout] | [INFO] [stdout] 168 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 168 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/input_layer.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 58 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:146:23 [INFO] [stdout] | [INFO] [stdout] 146 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 146 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/input_layer_ocl.rs:48:23 [INFO] [stdout] | [INFO] [stdout] 48 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 48 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:160:23 [INFO] [stdout] | [INFO] [stdout] 160 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 160 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers/softmax_loss_layer_ocl.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 136 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers_storage.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | fn iter_mut(&mut self) -> IterMut>; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 22 | fn iter_mut(&mut self) -> IterMut<'_, Box>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers_storage.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn iter_mut(&mut self) -> std::slice::IterMut> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 84 | pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/layers_storage.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 88 | pub fn iter(&self) -> std::slice::Iter<'_, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.43s [INFO] running `Command { std: "docker" "inspect" "4d8aa8fc5bca10e4c59e7e1bd8df6b85452a8df9ad4c9bac822f7c1cf3587994", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4d8aa8fc5bca10e4c59e7e1bd8df6b85452a8df9ad4c9bac822f7c1cf3587994", kill_on_drop: false }` [INFO] [stdout] 4d8aa8fc5bca10e4c59e7e1bd8df6b85452a8df9ad4c9bac822f7c1cf3587994 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8aaa62cf641093d4cb5dfe7309db52512621427ab7b20842b843b053fda57533 [INFO] running `Command { std: "docker" "start" "-a" "8aaa62cf641093d4cb5dfe7309db52512621427ab7b20842b843b053fda57533", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `info` [INFO] [stderr] --> src/layers/euclidean_loss_layer.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | use log::{debug, info}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Array1` [INFO] [stderr] --> src/layers/softmax_loss_layer.rs:11:15 [INFO] [stderr] | [INFO] [stderr] 11 | use ndarray::{Array1, Axis, Zip, indices}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `info` and `warn` [INFO] [stderr] --> src/layers/softmax_loss_layer.rs:13:18 [INFO] [stderr] | [INFO] [stderr] 13 | use log::{debug, info, warn}; [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Buffer`, `MemFlags`, and `ProQue` [INFO] [stderr] --> src/layers/abstract_layer_ocl.rs:3:11 [INFO] [stderr] | [INFO] [stderr] 3 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `MemFlags` [INFO] [stderr] --> src/layers/fc_layer_ocl.rs:10:44 [INFO] [stderr] | [INFO] [stderr] 10 | use ocl::{Buffer, Context, Device, Kernel, MemFlags, Program, Queue}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `debug` [INFO] [stderr] --> src/layers/input_layer_ocl.rs:3:11 [INFO] [stderr] | [INFO] [stderr] 3 | use log::{debug, error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DerefMut` [INFO] [stderr] --> src/layers/euclidean_loss_layer_ocl.rs:13:18 [INFO] [stderr] | [INFO] [stderr] 13 | ops::{Deref, DerefMut}, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `warn` [INFO] [stderr] --> src/layers/softmax_loss_layer_ocl.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | use log::{debug, warn}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error::Error`, `fs::File`, `io::ErrorKind`, and `io::prelude::*` [INFO] [stderr] --> src/optimizers/optim_ocl.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{error::Error, fs::File, io::prelude::*, io::ErrorKind}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Serializer` [INFO] [stderr] --> src/util/util.rs:2:18 [INFO] [stderr] | [INFO] [stderr] 2 | use serde::ser::{Serializer}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `hash::Hash` [INFO] [stderr] --> src/util/with_params.rs:1:33 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{collections::HashMap, hash::Hash}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/models/sequential.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cell::RefCell` [INFO] [stderr] --> src/models/sequential.rs:13:11 [INFO] [stderr] | [INFO] [stderr] 13 | use std::{cell::RefCell, fs}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `info` [INFO] [stderr] --> src/models/sequential.rs:15:25 [INFO] [stderr] | [INFO] [stderr] 15 | use log::{debug, error, info}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/models/model_helper.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ndarray::Array2` [INFO] [stderr] --> src/models/model_helper.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use ndarray::Array2; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `str::FromStr` [INFO] [stderr] --> src/models/model_helper.rs:4:11 [INFO] [stderr] | [INFO] [stderr] 4 | use std::{str::FromStr, sync::Arc, cell::RefCell}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TypeBuffer` [INFO] [stderr] --> src/models/model_helper.rs:6:42 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::cpu_params::{VariantParamArc, TypeBuffer}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PbBufBlob` [INFO] [stderr] --> src/models/model_helper.rs:7:32 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::models::pb::{PbBuf, PbBufBlob}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `DerefMut` and `Deref` [INFO] [stderr] --> src/models/sequential_ocl.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | ops::{Deref, DerefMut}, [INFO] [stderr] | ^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CommandQueueProperties` and `MapFlags` [INFO] [stderr] --> src/models/sequential_ocl.rs:23:18 [INFO] [stderr] | [INFO] [stderr] 23 | use ocl::flags::{CommandQueueProperties, MapFlags, MemFlags}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Event`, `Kernel`, `Program`, and `Result as OclResult` [INFO] [stderr] --> src/models/sequential_ocl.rs:24:36 [INFO] [stderr] | [INFO] [stderr] 24 | use ocl::{Buffer, Context, Device, Event, Kernel, Platform, Program, Queue, Result as OclResult}; [INFO] [stderr] | ^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stderr] --> src/models/mod.rs:6:25 [INFO] [stderr] | [INFO] [stderr] 6 | use std::{error::Error, rc::Rc, cell::RefCell}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `layers_storage::SerdeLayersStorage` [INFO] [stderr] --> src/models/mod.rs:7:60 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::{util::*, layers::AbstractLayer, cpu_params::*, layers_storage::SerdeLayersStorage}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::util::*` [INFO] [stderr] --> src/layer_fabric.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::util::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `log::debug` [INFO] [stderr] --> src/cpu_params.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use log::debug; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ndarray_rand::rand::rngs::SmallRng` [INFO] [stderr] --> src/cpu_params.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use ndarray_rand::rand::rngs::SmallRng; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ndarray_rand::rand::SeedableRng` [INFO] [stderr] --> src/cpu_params.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use ndarray_rand::rand::SeedableRng; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Distribution` [INFO] [stderr] --> src/cpu_params.rs:12:32 [INFO] [stderr] | [INFO] [stderr] 12 | use ndarray_rand::rand_distr::{Distribution, Uniform}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Float` and `WsBlob` [INFO] [stderr] --> src/cpu_params.rs:15:37 [INFO] [stderr] | [INFO] [stderr] 15 | use super::util::{Array1D, Array2D, Float, WsBlob, WsMat}; [INFO] [stderr] | ^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `debug` [INFO] [stderr] --> src/orchestra.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | use log::{debug, error, info, warn}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Axis` [INFO] [stderr] --> src/orchestra.rs:17:15 [INFO] [stderr] | [INFO] [stderr] 17 | use ndarray::{Axis, Zip}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tui::widgets::canvas::Shape` [INFO] [stderr] --> src/ocl.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use tui::widgets::canvas::Shape; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Context`, `Device`, and `ProQue` [INFO] [stderr] --> src/ocl.rs:6:19 [INFO] [stderr] | [INFO] [stderr] 6 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prev_input` [INFO] [stderr] --> src/layers/dummy_layer.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | prev_input: ParamsBlob, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_input` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/layers/dummy_layer.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | input: ParamsBlob, [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sh` [INFO] [stderr] --> src/layers/dummy_layer.rs:35:35 [INFO] [stderr] | [INFO] [stderr] 35 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sh` [INFO] [stderr] --> src/layers/input_layer.rs:41:35 [INFO] [stderr] | [INFO] [stderr] 41 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lp` [INFO] [stderr] --> src/layers/fc_layer_ocl.rs:144:34 [INFO] [stderr] | [INFO] [stderr] 144 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lp` [INFO] [stderr] --> src/layers/input_layer_ocl.rs:56:34 [INFO] [stderr] | [INFO] [stderr] 56 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sh` [INFO] [stderr] --> src/layers/input_layer_ocl.rs:58:35 [INFO] [stderr] | [INFO] [stderr] 58 | fn set_input_shape(&mut self, sh: &[usize]) {} [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params` [INFO] [stderr] --> src/layers/input_layer_ocl.rs:102:31 [INFO] [stderr] | [INFO] [stderr] 102 | fn forward_ocl(&mut self, params: OclParamsBlob) -> LayerOclResult { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stderr] | [INFO] [stderr] 209 | _ => todo!(), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stderr] | [INFO] [stderr] 204 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID, [INFO] [stderr] | -------------------------- matches some of the same values [INFO] [stderr] 205 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH, [INFO] [stderr] | ----------------------- matches some of the same values [INFO] [stderr] 206 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU, [INFO] [stderr] | ----------------------- matches some of the same values [INFO] [stderr] 207 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW, [INFO] [stderr] | ---------------------- matches some of the same values [INFO] [stderr] 208 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU, [INFO] [stderr] 209 | _ => todo!(), [INFO] [stderr] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | _ => todo!(), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 213 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID_DERIV, [INFO] [stderr] | -------------------------- matches some of the same values [INFO] [stderr] 214 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH_DERIV, [INFO] [stderr] | ----------------------- matches some of the same values [INFO] [stderr] 215 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU_DERIV, [INFO] [stderr] | ----------------------- matches some of the same values [INFO] [stderr] 216 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU_DERIV, [INFO] [stderr] | ---------------------------- matches some of the same values [INFO] [stderr] 217 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW_DERIV, [INFO] [stderr] 218 | _ => todo!(), [INFO] [stderr] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/util/with_params.rs:8:27 [INFO] [stderr] | [INFO] [stderr] 8 | fn set_cfg(&mut self, args: &HashMap) { } [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `out` is never read [INFO] [stderr] --> src/models/sequential.rs:126:17 [INFO] [stderr] | [INFO] [stderr] 126 | let mut out = None; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/models/sequential.rs:299:21 [INFO] [stderr] | [INFO] [stderr] 299 | _ => { [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/models/sequential.rs:299:21 [INFO] [stderr] | [INFO] [stderr] 285 | VariantParamArc::Array2(arr2) => { [INFO] [stderr] | ----------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 292 | VariantParamArc::Array1(arr1) => { [INFO] [stderr] | ----------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 299 | _ => { [INFO] [stderr] | ^ collectively making this unreachable [INFO] [stderr] [INFO] [stderr] warning: value assigned to `out` is never read [INFO] [stderr] --> src/models/sequential_ocl.rs:214:17 [INFO] [stderr] | [INFO] [stderr] 214 | let mut out = None; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `source` [INFO] [stderr] --> src/models/sequential_ocl.rs:444:30 [INFO] [stderr] | [INFO] [stderr] 444 | fn clone_from(&mut self, source: &Self) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `queue` [INFO] [stderr] --> src/ocl.rs:39:42 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn only_output(buf: Buffer, queue: Queue) -> Self { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stderr] [INFO] [stderr] warning: field `output` is never read [INFO] [stderr] --> src/layers/dummy_layer.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct DummyLayer { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 10 | output: DataVec, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DummyLayer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/layers/abstract_layer.rs:74:23 [INFO] [stderr] | [INFO] [stderr] 74 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 74 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/layers/softmax_loss_layer.rs:168:23 [INFO] [stderr] | [INFO] [stderr] 168 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 168 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/layers/input_layer.rs:58:23 [INFO] [stderr] | [INFO] [stderr] 58 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 58 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/layers/fc_layer_ocl.rs:146:23 [INFO] [stderr] | [INFO] [stderr] 146 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 146 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/layers/input_layer_ocl.rs:48:23 [INFO] [stderr] | [INFO] [stderr] 48 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 48 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/layers/euclidean_loss_layer_ocl.rs:160:23 [INFO] [stderr] | [INFO] [stderr] 160 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 160 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/layers/softmax_loss_layer_ocl.rs:136:23 [INFO] [stderr] | [INFO] [stderr] 136 | fn trainable_bufs(&self) -> TrainableBufsIds { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 136 | fn trainable_bufs(&self) -> TrainableBufsIds<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/layers_storage.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | fn iter_mut(&mut self) -> IterMut>; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 22 | fn iter_mut(&mut self) -> IterMut<'_, Box>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/layers_storage.rs:84:21 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn iter_mut(&mut self) -> std::slice::IterMut> { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 84 | pub fn iter_mut(&mut self) -> std::slice::IterMut<'_, Box> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/layers_storage.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 88 | pub fn iter(&self) -> std::slice::Iter<'_, Box> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `nevermind-neu` (lib) generated 61 warnings (run `cargo fix --lib -p nevermind-neu` to apply 44 suggestions) [INFO] [stderr] warning: unused import: `std::ops::DerefMut` [INFO] [stderr] --> examples/mnist/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::ops::DerefMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `print_sample_image` [INFO] [stderr] --> examples/mnist/main.rs:14:18 [INFO] [stderr] | [INFO] [stderr] 14 | use rust_mnist::{print_sample_image, Mnist}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error` and `warn` [INFO] [stderr] --> src/bin/tool/test.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | use log::{error, info, warn}; [INFO] [stderr] | ^^^^^ ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Instant` [INFO] [stderr] --> src/bin/tool/test.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::time::Instant; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Arg` [INFO] [stderr] --> src/bin/tool/train_tui.rs:1:12 [INFO] [stderr] | [INFO] [stderr] 1 | use clap::{Arg, ArgMatches}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `error` [INFO] [stderr] --> src/bin/tool/train_tui.rs:7:11 [INFO] [stderr] | [INFO] [stderr] 7 | use log::{error, info}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Corner` and `ListState` [INFO] [stderr] --> src/bin/tool/train_tui.rs:29:26 [INFO] [stderr] | [INFO] [stderr] 29 | layout::{Constraint, Corner, Direction, Layout}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 33 | widgets::{Axis, Block, Borders, Chart, Dataset, GraphType, List, ListItem, ListState}, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Backend` [INFO] [stderr] --> src/bin/tool/train_tui.rs:28:15 [INFO] [stderr] | [INFO] [stderr] 28 | backend::{Backend, CrosstermBackend}, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/tool/train_tui.rs:326:9 [INFO] [stderr] | [INFO] [stderr] 326 | sender.send(NetMsg::InitInfo(epoch_size, train_batch_size)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 326 | let _ = sender.send(NetMsg::InitInfo(epoch_size, train_batch_size)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/tool/train_tui.rs:354:13 [INFO] [stderr] | [INFO] [stderr] 354 | net.train_for_error_or_iter(*err, *max_iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 354 | let _ = net.train_for_error_or_iter(*err, *max_iter); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/tool/train_tui.rs:357:13 [INFO] [stderr] | [INFO] [stderr] 357 | net.train_for_error(*err); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 357 | let _ = net.train_for_error(*err); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/tool/train_tui.rs:360:13 [INFO] [stderr] | [INFO] [stderr] 360 | net.train_for_n_times(*max_iter); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 360 | let _ = net.train_for_n_times(*max_iter); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/bin/tool/train_tui.rs:402:5 [INFO] [stderr] | [INFO] [stderr] 402 | join_handle.join().expect("Failed to join learning thread!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 402 | let _ = join_handle.join().expect("Failed to join learning thread!"); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `nevermind-neu` (example "mnist") generated 2 warnings (run `cargo fix --example "mnist"` to apply 2 suggestions) [INFO] [stderr] warning: `nevermind-neu` (bin "tool" test) generated 11 warnings (run `cargo fix --bin "tool" --tests` to apply 5 suggestions) [INFO] [stderr] warning: `nevermind-neu` (lib test) generated 61 warnings (61 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nevermind_neu-e0aea2425be3118b) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/tool/main.rs (/opt/rustwide/target/debug/deps/tool-6f41bfa511a0874f) [INFO] [stdout] [INFO] [stderr] Doc-tests nevermind_neu [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8aaa62cf641093d4cb5dfe7309db52512621427ab7b20842b843b053fda57533", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8aaa62cf641093d4cb5dfe7309db52512621427ab7b20842b843b053fda57533", kill_on_drop: false }` [INFO] [stdout] 8aaa62cf641093d4cb5dfe7309db52512621427ab7b20842b843b053fda57533