[INFO] updating cached repository DanielReimer/Reminder-Bot [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/DanielReimer/Reminder-Bot [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/DanielReimer/Reminder-Bot" "work/ex/clippy-test-run/sources/stable/gh/DanielReimer/Reminder-Bot"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/DanielReimer/Reminder-Bot'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/DanielReimer/Reminder-Bot" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/DanielReimer/Reminder-Bot"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/DanielReimer/Reminder-Bot'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 26b6dd248bc94bbd17eacc663cf423f109e74c1b [INFO] sha for GitHub repo DanielReimer/Reminder-Bot: 26b6dd248bc94bbd17eacc663cf423f109e74c1b [INFO] validating manifest of DanielReimer/Reminder-Bot 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 DanielReimer/Reminder-Bot 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 DanielReimer/Reminder-Bot [INFO] finished frobbing DanielReimer/Reminder-Bot [INFO] frobbed toml for DanielReimer/Reminder-Bot written to work/ex/clippy-test-run/sources/stable/gh/DanielReimer/Reminder-Bot/Cargo.toml [INFO] started frobbing DanielReimer/Reminder-Bot [INFO] finished frobbing DanielReimer/Reminder-Bot [INFO] frobbed toml for DanielReimer/Reminder-Bot written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/DanielReimer/Reminder-Bot/Cargo.toml [INFO] crate DanielReimer/Reminder-Bot 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] linting DanielReimer/Reminder-Bot against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/DanielReimer/Reminder-Bot:/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] 3acab89dca7f27c481a9474c37982389ae3c9712dd155f5efc6fcc17a3183432 [INFO] running `"docker" "start" "-a" "3acab89dca7f27c481a9474c37982389ae3c9712dd155f5efc6fcc17a3183432"` [INFO] [stderr] Checking atoi v0.2.3 [INFO] [stderr] Checking tokio-mockstream v1.1.0 [INFO] [stderr] Checking dotenv v0.9.0 [INFO] [stderr] Checking diesel v1.2.2 [INFO] [stderr] Checking tokio-tls v0.1.4 [INFO] [stderr] Checking irc v0.13.5 [INFO] [stderr] Checking reminder_bot v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | nick: nick, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `nick` [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/lib.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/lib.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | set_time: set_time, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `set_time` [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/lib.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | remind_time: remind_time, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remind_time` [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/lib.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | remind_message: remind_message, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remind_message` [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/lib.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | nick: nick, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `nick` [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/lib.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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/lib.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | set_time: set_time, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `set_time` [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/lib.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | remind_time: remind_time, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remind_time` [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/lib.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | remind_message: remind_message, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `remind_message` [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: cannot find type `table` in this scope [INFO] [stderr] --> <::diesel::macros::table_body macros>:165:33 [INFO] [stderr] | [INFO] [stderr] 165 | derive ( Debug , Clone , Copy , QueryId ) ] /// The actual table struct [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = note: #[warn(proc_macro_derive_resolution_fallback)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `table` in this scope [INFO] [stderr] --> <::diesel::macros::table_body macros>:165:33 [INFO] [stderr] | [INFO] [stderr] 165 | derive ( Debug , Clone , Copy , QueryId ) ] /// The actual table struct [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `id` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `nick` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `channel` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `set_time` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `remind_time` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `reminded` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `remind_message` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `Reminder` in this scope [INFO] [stderr] --> src/models.rs:9:10 [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Queryable)] [INFO] [stderr] | ^^^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `reminders` in this scope [INFO] [stderr] --> src/models.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | #[derive(Insertable)] [INFO] [stderr] | ^^^^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `NewReminder` in this scope [INFO] [stderr] --> src/models.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | #[derive(Insertable)] [INFO] [stderr] | ^^^^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:144:50 [INFO] [stderr] | [INFO] [stderr] 144 | Ok((reminder_time, reminder_message)) => return Ok((reminder_time+current_time(), reminder_message)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((reminder_time+current_time(), reminder_message))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:145:19 [INFO] [stderr] | [INFO] [stderr] 145 | Err(e) => return Err(e), [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Err(e)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:193:30 [INFO] [stderr] | [INFO] [stderr] 193 | "seconds" => return Ok((s, fields[2])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((s, fields[2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:194:30 [INFO] [stderr] | [INFO] [stderr] 194 | "minutes" => return Ok((s*60, fields[2])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((s*60, fields[2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:195:28 [INFO] [stderr] | [INFO] [stderr] 195 | "hours" => return Ok((s*3600, fields[2])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((s*3600, fields[2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:196:27 [INFO] [stderr] | [INFO] [stderr] 196 | "days" => return Ok((s*86400, fields[2])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((s*86400, fields[2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:197:28 [INFO] [stderr] | [INFO] [stderr] 197 | "weeks" => return Ok((s*604800, fields[2])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((s*604800, fields[2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:198:22 [INFO] [stderr] | [INFO] [stderr] 198 | _ => return Err("Expected time specifier"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Expected time specifier")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:201:17 [INFO] [stderr] | [INFO] [stderr] 201 | None => return Err("expected number"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("expected number")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:197:41 [INFO] [stderr] | [INFO] [stderr] 197 | "weeks" => return Ok((s*604800, fields[2])), [INFO] [stderr] | ^^^^^^ help: consider: `604_800` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: cannot find type `table` in this scope [INFO] [stderr] --> <::diesel::macros::table_body macros>:165:33 [INFO] [stderr] | [INFO] [stderr] 165 | derive ( Debug , Clone , Copy , QueryId ) ] /// The actual table struct [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = note: #[warn(proc_macro_derive_resolution_fallback)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `table` in this scope [INFO] [stderr] --> <::diesel::macros::table_body macros>:165:33 [INFO] [stderr] | [INFO] [stderr] 165 | derive ( Debug , Clone , Copy , QueryId ) ] /// The actual table struct [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `id` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `nick` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `channel` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `set_time` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `remind_time` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `reminded` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `remind_message` in this scope [INFO] [stderr] --> <::diesel::macros::__diesel_column macros>:5:33 [INFO] [stderr] | [INFO] [stderr] 5 | derive ( Debug , Clone , Copy , QueryId , Default ) ] pub struct $ column_name [INFO] [stderr] | ^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `Reminder` in this scope [INFO] [stderr] --> src/models.rs:9:10 [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Queryable)] [INFO] [stderr] | ^^^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `reminders` in this scope [INFO] [stderr] --> src/models.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | #[derive(Insertable)] [INFO] [stderr] | ^^^^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: cannot find type `NewReminder` in this scope [INFO] [stderr] --> src/models.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | #[derive(Insertable)] [INFO] [stderr] | ^^^^^^^^^^ names from parent modules are not accessible without an explicit import [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #50504 [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:144:50 [INFO] [stderr] | [INFO] [stderr] 144 | Ok((reminder_time, reminder_message)) => return Ok((reminder_time+current_time(), reminder_message)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((reminder_time+current_time(), reminder_message))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:145:19 [INFO] [stderr] | [INFO] [stderr] 145 | Err(e) => return Err(e), [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Err(e)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:193:30 [INFO] [stderr] | [INFO] [stderr] 193 | "seconds" => return Ok((s, fields[2])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((s, fields[2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:194:30 [INFO] [stderr] | [INFO] [stderr] 194 | "minutes" => return Ok((s*60, fields[2])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((s*60, fields[2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:195:28 [INFO] [stderr] | [INFO] [stderr] 195 | "hours" => return Ok((s*3600, fields[2])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((s*3600, fields[2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:196:27 [INFO] [stderr] | [INFO] [stderr] 196 | "days" => return Ok((s*86400, fields[2])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((s*86400, fields[2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:197:28 [INFO] [stderr] | [INFO] [stderr] 197 | "weeks" => return Ok((s*604800, fields[2])), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((s*604800, fields[2]))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:198:22 [INFO] [stderr] | [INFO] [stderr] 198 | _ => return Err("Expected time specifier"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Expected time specifier")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:201:17 [INFO] [stderr] | [INFO] [stderr] 201 | None => return Err("expected number"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("expected number")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:197:41 [INFO] [stderr] | [INFO] [stderr] 197 | "weeks" => return Ok((s*604800, fields[2])), [INFO] [stderr] | ^^^^^^ help: consider: `604_800` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:215:24 [INFO] [stderr] | [INFO] [stderr] 215 | assert!(time > 1528679549); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_528_679_549` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:225:36 [INFO] [stderr] | [INFO] [stderr] 225 | (current_time()+360000, "to never to do something")); [INFO] [stderr] | ^^^^^^ help: consider: `360_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib.rs:248:70 [INFO] [stderr] | [INFO] [stderr] 248 | assert_eq!(extract_in_time("3 weeks to say hi").unwrap(), (3*604800, "to say hi")); [INFO] [stderr] | ^^^^^^ help: consider: `604_800` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/lib.rs:30:44 [INFO] [stderr] | [INFO] [stderr] 30 | PgConnection::establish(&database_url).expect(&format!("Error connecting to {}", database_url)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Error connecting to {}", database_url))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:43:88 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn create_post<'a>(conn: &PgConnection, nick: &'a str, channel: &'a str, set_time: &'a i64, remind_time: &'a i64, remind_message: &'a str) -> Reminder { [INFO] [stderr] | ^^^^^^^ help: consider passing by value instead: `i64` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:43:110 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn create_post<'a>(conn: &PgConnection, nick: &'a str, channel: &'a str, set_time: &'a i64, remind_time: &'a i64, remind_message: &'a str) -> Reminder { [INFO] [stderr] | ^^^^^^^ help: consider passing by value instead: `i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/lib.rs:30:44 [INFO] [stderr] | [INFO] [stderr] 30 | PgConnection::establish(&database_url).expect(&format!("Error connecting to {}", database_url)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Error connecting to {}", database_url))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:43:88 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn create_post<'a>(conn: &PgConnection, nick: &'a str, channel: &'a str, set_time: &'a i64, remind_time: &'a i64, remind_message: &'a str) -> Reminder { [INFO] [stderr] | ^^^^^^^ help: consider passing by value instead: `i64` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:43:110 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn create_post<'a>(conn: &PgConnection, nick: &'a str, channel: &'a str, set_time: &'a i64, remind_time: &'a i64, remind_message: &'a str) -> Reminder { [INFO] [stderr] | ^^^^^^^ help: consider passing by value instead: `i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 48.98s [INFO] running `"docker" "inspect" "3acab89dca7f27c481a9474c37982389ae3c9712dd155f5efc6fcc17a3183432"` [INFO] running `"docker" "rm" "-f" "3acab89dca7f27c481a9474c37982389ae3c9712dd155f5efc6fcc17a3183432"` [INFO] [stdout] 3acab89dca7f27c481a9474c37982389ae3c9712dd155f5efc6fcc17a3183432