[INFO] updating cached repository sidky/comical-backend [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/sidky/comical-backend [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/sidky/comical-backend" "work/ex/clippy-test-run/sources/stable/gh/sidky/comical-backend"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/sidky/comical-backend'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/sidky/comical-backend" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sidky/comical-backend"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sidky/comical-backend'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 4b79c3ca1b8d824d18cf2228f0685d41df353b0a [INFO] sha for GitHub repo sidky/comical-backend: 4b79c3ca1b8d824d18cf2228f0685d41df353b0a [INFO] validating manifest of sidky/comical-backend on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of sidky/comical-backend on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing sidky/comical-backend [INFO] finished frobbing sidky/comical-backend [INFO] frobbed toml for sidky/comical-backend written to work/ex/clippy-test-run/sources/stable/gh/sidky/comical-backend/Cargo.toml [INFO] started frobbing sidky/comical-backend [INFO] finished frobbing sidky/comical-backend [INFO] frobbed toml for sidky/comical-backend written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sidky/comical-backend/Cargo.toml [INFO] crate sidky/comical-backend has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on the registry index [INFO] linting sidky/comical-backend against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/sidky/comical-backend:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 954d0ebf0a281961cd3e9ae41c393920457e5afa47e8ca668e2ab878f30b5eb3 [INFO] running `"docker" "start" "-a" "954d0ebf0a281961cd3e9ae41c393920457e5afa47e8ca668e2ab878f30b5eb3"` [INFO] [stderr] Compiling cfg-if v0.1.2 [INFO] [stderr] Checking serde v1.0.37 [INFO] [stderr] Checking itertools v0.4.19 [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Compiling num_cpus v1.8.0 [INFO] [stderr] Checking base64 v0.5.2 [INFO] [stderr] Compiling openssl-sys v0.9.28 [INFO] [stderr] Checking regex-syntax v0.5.3 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Compiling quote v0.5.1 [INFO] [stderr] Compiling crossbeam-utils v0.2.2 [INFO] [stderr] Checking tokio-io v0.1.6 [INFO] [stderr] Checking http v0.1.5 [INFO] [stderr] Checking uuid v0.2.3 [INFO] [stderr] Checking aho-corasick v0.6.4 [INFO] [stderr] Compiling syn v0.13.1 [INFO] [stderr] Checking tokio-threadpool v0.1.2 [INFO] [stderr] Compiling crossbeam-epoch v0.3.1 [INFO] [stderr] Checking chrono v0.2.25 [INFO] [stderr] Compiling openssl v0.9.24 [INFO] [stderr] Checking url v0.5.10 [INFO] [stderr] Checking error-chain v0.10.0 [INFO] [stderr] Checking tokio-reactor v0.1.1 [INFO] [stderr] Compiling crossbeam-deque v0.2.0 [INFO] [stderr] Compiling mime_guess v1.8.4 [INFO] [stderr] Compiling rayon-core v1.4.0 [INFO] [stderr] Checking tokio-udp v0.1.0 [INFO] [stderr] Checking tokio-tcp v0.1.0 [INFO] [stderr] Checking regex v0.2.10 [INFO] [stderr] Compiling rayon v0.7.1 [INFO] [stderr] Compiling serde_derive_internals v0.23.0 [INFO] [stderr] Checking tokio v0.1.5 [INFO] [stderr] Checking iron v0.6.0 [INFO] [stderr] Checking native-tls v0.1.5 [INFO] [stderr] Compiling ring v0.11.0 [INFO] [stderr] Checking tokio-core v0.1.16 [INFO] [stderr] Checking router v0.6.0 [INFO] [stderr] Compiling serde_derive v1.0.37 [INFO] [stderr] Checking serde_urlencoded v0.5.1 [INFO] [stderr] Checking serde_json v1.0.13 [INFO] [stderr] Checking dotenv v0.9.0 [INFO] [stderr] Checking pem v0.4.1 [INFO] [stderr] Checking tokio-proto v0.1.1 [INFO] [stderr] Checking tokio-tls v0.1.4 [INFO] [stderr] Checking hyper v0.11.25 [INFO] [stderr] Checking webpki v0.14.0 [INFO] [stderr] Checking webpki-roots v0.11.0 [INFO] [stderr] Checking rustls v0.9.0 [INFO] [stderr] Checking hyper-rustls v0.6.1 [INFO] [stderr] Checking yup-oauth2 v1.0.7 [INFO] [stderr] Checking hyper-tls v0.1.3 [INFO] [stderr] Checking reqwest v0.8.5 [INFO] [stderr] Checking comical-backend v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/firebase/auth.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | FileAuth { file_name: file_name } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/firebase/auth.rs:68:25 [INFO] [stderr] | [INFO] [stderr] 68 | ConfigVarAuth { var_name: var_name } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `var_name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/firebase/db.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | token: token [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/firebase/db.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | token: token [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/firebase/db.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | database: database, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `database` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/firebase/auth.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | FileAuth { file_name: file_name } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/firebase/auth.rs:68:25 [INFO] [stderr] | [INFO] [stderr] 68 | ConfigVarAuth { var_name: var_name } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `var_name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/firebase/db.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | token: token [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/firebase/db.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | token: token [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/firebase/db.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | database: database, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `database` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stderr] --> src/firebase/auth.rs:7:17 [INFO] [stderr] | [INFO] [stderr] 7 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/firebase/auth.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Write` [INFO] [stderr] --> src/firebase/db.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::From` [INFO] [stderr] --> src/firebase/db.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::convert::From; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Request` [INFO] [stderr] --> src/firebase/db.rs:9:40 [INFO] [stderr] | [INFO] [stderr] 9 | use reqwest::{Client, Response, Error, Request}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/firebase/db.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | r [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/firebase/db.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | let r = FirebaseRef::new(self, path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `firebase::auth::*` [INFO] [stderr] --> src/main.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use firebase::auth::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stderr] --> src/firebase/auth.rs:7:17 [INFO] [stderr] | [INFO] [stderr] 7 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/firebase/auth.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Write` [INFO] [stderr] --> src/firebase/db.rs:1:21 [INFO] [stderr] | [INFO] [stderr] 1 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::From` [INFO] [stderr] --> src/firebase/db.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::convert::From; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Request` [INFO] [stderr] --> src/firebase/db.rs:9:40 [INFO] [stderr] | [INFO] [stderr] 9 | use reqwest::{Client, Response, Error, Request}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/firebase/db.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | r [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/firebase/db.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | let r = FirebaseRef::new(self, path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `firebase::auth::*` [INFO] [stderr] --> src/main.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use firebase::auth::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `core` [INFO] [stderr] --> src/firebase/auth.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | let mut core = Core::new().unwrap(); [INFO] [stderr] | ^^^^ help: consider using `_core` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/firebase/auth.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | let mut core = Core::new().unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/firebase/auth.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | let mut key = env::var(&self.var_name).unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `db_ref` [INFO] [stderr] --> src/firebase/db.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | fn db_ref(&'a self, path: &'a str) -> FirebaseRef<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/firebase/db.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | fn new<'b>(url: &'b str, service_file: &'b str) -> Result, io::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_from_variable` [INFO] [stderr] --> src/firebase/db.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / fn new_from_variable<'b>(url: &'b str, var_name: &'b str) -> [INFO] [stderr] 38 | | Result, io::Error> { [INFO] [stderr] 39 | | let auth = ConfigVarAuth::new(var_name.to_owned()); [INFO] [stderr] 40 | | let token = RefCell::new(auth.token().expect("Invalid token")); [INFO] [stderr] ... | [INFO] [stderr] 46 | | }) [INFO] [stderr] 47 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `database` [INFO] [stderr] --> src/firebase/db.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | database: &'a FirebaseDatabase<'a>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `current_ref` [INFO] [stderr] --> src/firebase/db.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | current_ref: Ref [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `db_ref` [INFO] [stderr] --> src/firebase/db.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn db_ref(&self, path: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `once` [INFO] [stderr] --> src/firebase/db.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | fn once(&self, name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set` [INFO] [stderr] --> src/firebase/db.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | fn set(&self, name: &str, data: &T) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/firebase/db.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | fn new<'b>(database: &'b FirebaseDatabase, path: &str) -> FirebaseRef<'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/firebase/reference.rs:19:33 [INFO] [stderr] | [INFO] [stderr] 19 | let splits = path.split("/"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/firebase/reference.rs:22:18 [INFO] [stderr] | [INFO] [stderr] 22 | .map(|s| String::from(s)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `String::from` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/firebase/reference.rs:21:25 [INFO] [stderr] | [INFO] [stderr] 21 | .filter(|s| s.len() > 0) [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: unused variable: `core` [INFO] [stderr] --> src/firebase/auth.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | let mut core = Core::new().unwrap(); [INFO] [stderr] | ^^^^ help: consider using `_core` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/firebase/auth.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | let mut core = Core::new().unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/firebase/auth.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | let mut key = env::var(&self.var_name).unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `db_ref` [INFO] [stderr] --> src/firebase/db.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | fn db_ref(&'a self, path: &'a str) -> FirebaseRef<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/firebase/db.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | fn new<'b>(url: &'b str, service_file: &'b str) -> Result, io::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_from_variable` [INFO] [stderr] --> src/firebase/db.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / fn new_from_variable<'b>(url: &'b str, var_name: &'b str) -> [INFO] [stderr] 38 | | Result, io::Error> { [INFO] [stderr] 39 | | let auth = ConfigVarAuth::new(var_name.to_owned()); [INFO] [stderr] 40 | | let token = RefCell::new(auth.token().expect("Invalid token")); [INFO] [stderr] ... | [INFO] [stderr] 46 | | }) [INFO] [stderr] 47 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `database` [INFO] [stderr] --> src/firebase/db.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | database: &'a FirebaseDatabase<'a>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `current_ref` [INFO] [stderr] --> src/firebase/db.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | current_ref: Ref [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `db_ref` [INFO] [stderr] --> src/firebase/db.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn db_ref(&self, path: &str) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `once` [INFO] [stderr] --> src/firebase/db.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | fn once(&self, name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set` [INFO] [stderr] --> src/firebase/db.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | fn set(&self, name: &str, data: &T) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/firebase/db.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | fn new<'b>(database: &'b FirebaseDatabase, path: &str) -> FirebaseRef<'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/firebase/reference.rs:19:33 [INFO] [stderr] | [INFO] [stderr] 19 | let splits = path.split("/"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/firebase/reference.rs:22:18 [INFO] [stderr] | [INFO] [stderr] 22 | .map(|s| String::from(s)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `String::from` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/firebase/reference.rs:21:25 [INFO] [stderr] | [INFO] [stderr] 21 | .filter(|s| s.len() > 0) [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 15s [INFO] running `"docker" "inspect" "954d0ebf0a281961cd3e9ae41c393920457e5afa47e8ca668e2ab878f30b5eb3"` [INFO] running `"docker" "rm" "-f" "954d0ebf0a281961cd3e9ae41c393920457e5afa47e8ca668e2ab878f30b5eb3"` [INFO] [stdout] 954d0ebf0a281961cd3e9ae41c393920457e5afa47e8ca668e2ab878f30b5eb3