[INFO] updating cached repository bpglaser/rusty_dice [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/bpglaser/rusty_dice [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/bpglaser/rusty_dice" "work/ex/clippy-test-run/sources/stable/gh/bpglaser/rusty_dice"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/bpglaser/rusty_dice'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/bpglaser/rusty_dice" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bpglaser/rusty_dice"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bpglaser/rusty_dice'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e255447264c4e43d8e493b73aac3e04d42a5f129 [INFO] sha for GitHub repo bpglaser/rusty_dice: e255447264c4e43d8e493b73aac3e04d42a5f129 [INFO] validating manifest of bpglaser/rusty_dice 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 bpglaser/rusty_dice 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 bpglaser/rusty_dice [INFO] finished frobbing bpglaser/rusty_dice [INFO] frobbed toml for bpglaser/rusty_dice written to work/ex/clippy-test-run/sources/stable/gh/bpglaser/rusty_dice/Cargo.toml [INFO] started frobbing bpglaser/rusty_dice [INFO] finished frobbing bpglaser/rusty_dice [INFO] frobbed toml for bpglaser/rusty_dice written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bpglaser/rusty_dice/Cargo.toml [INFO] crate bpglaser/rusty_dice 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 bpglaser/rusty_dice against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/bpglaser/rusty_dice:/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 -Dclippy::into_iter_on_array" "-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] f7a5112e08f57a7cd38cde9568b9ed21c2d3cef961e64315301960e74cbecdb2 [INFO] running `"docker" "start" "-a" "f7a5112e08f57a7cd38cde9568b9ed21c2d3cef961e64315301960e74cbecdb2"` [INFO] [stderr] Checking clap v2.19.3 [INFO] [stderr] Checking rusty_dice v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/alias.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `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/alias.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | roll: roll, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `roll` [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/result.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [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/result.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | rolls: rolls, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `rolls` [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/roll.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/roll.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | min: min, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `min` [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/roll.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | max: max, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `max` [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/roll.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | modifier: modifier, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `modifier` [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/alias.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `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/alias.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | roll: roll, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `roll` [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/result.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [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/result.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | rolls: rolls, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `rolls` [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/roll.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/roll.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | min: min, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `min` [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/roll.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | max: max, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `max` [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/roll.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | modifier: modifier, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `modifier` [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: needlessly taken reference of left operand [INFO] [stderr] --> src/alias.rs:126:61 [INFO] [stderr] | [INFO] [stderr] 126 | if let Some(index) = self.items.iter().position(|a| &a.name == name) { [INFO] [stderr] | -------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `a.name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/alias.rs:135:36 [INFO] [stderr] | [INFO] [stderr] 135 | self.items.iter().find(|a| &a.name == name).map(|a| a.roll) [INFO] [stderr] | -------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `a.name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/alias.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | try!(writeable.write(s.as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/alias.rs:184:17 [INFO] [stderr] | [INFO] [stderr] 184 | try!(writeable.write("\n".as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/macros.rs:9:19 [INFO] [stderr] | [INFO] [stderr] 9 | ($e:expr) => (match $e { [INFO] [stderr] | ___________________^ [INFO] [stderr] 10 | | Some(_) => return None, [INFO] [stderr] 11 | | None => {} [INFO] [stderr] 12 | | }); [INFO] [stderr] | |_____^ help: try this: `if let Some(_) = left { expect_none!(left); }` [INFO] [stderr] | [INFO] [stderr] ::: src/parse.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | expect_none!(left); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/result.rs:25:26 [INFO] [stderr] | [INFO] [stderr] 25 | self.rolls.iter().fold(0, |acc, &x| acc + x) + self.source.modifier.unwrap_or(0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.sum()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_fold)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/result.rs:34:36 [INFO] [stderr] | [INFO] [stderr] 34 | explaination.push_str(&self.rolls.get(i).unwrap().to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.rolls[i]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/result.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | explaination = explaination + format!("=> {}", self.total()).as_str(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `explaination += format!("=> {}", self.total()).as_str()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/stream.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | / pub fn from_str(s: &str) -> TokenStream { [INFO] [stderr] 33 | | TokenStream::new(&s.to_string()) [INFO] [stderr] 34 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `next` on this type; consider implementing the `std::iter::Iterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/stream.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn next(&mut self) -> Option { [INFO] [stderr] 38 | | if self.index < self.source.len() { [INFO] [stderr] 39 | | let c = self.source[self.index]; [INFO] [stderr] 40 | | let token = Token::tokenize(c); [INFO] [stderr] ... | [INFO] [stderr] 44 | | } [INFO] [stderr] 45 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rusty_dice`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/alias.rs:126:61 [INFO] [stderr] | [INFO] [stderr] 126 | if let Some(index) = self.items.iter().position(|a| &a.name == name) { [INFO] [stderr] | -------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `a.name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/alias.rs:135:36 [INFO] [stderr] | [INFO] [stderr] 135 | self.items.iter().find(|a| &a.name == name).map(|a| a.roll) [INFO] [stderr] | -------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `a.name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/alias.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | try!(writeable.write(s.as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/alias.rs:184:17 [INFO] [stderr] | [INFO] [stderr] 184 | try!(writeable.write("\n".as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/macros.rs:9:19 [INFO] [stderr] | [INFO] [stderr] 9 | ($e:expr) => (match $e { [INFO] [stderr] | ___________________^ [INFO] [stderr] 10 | | Some(_) => return None, [INFO] [stderr] 11 | | None => {} [INFO] [stderr] 12 | | }); [INFO] [stderr] | |_____^ help: try this: `if let Some(_) = left { expect_none!(left); }` [INFO] [stderr] | [INFO] [stderr] ::: src/parse.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | expect_none!(left); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/result.rs:25:26 [INFO] [stderr] | [INFO] [stderr] 25 | self.rolls.iter().fold(0, |acc, &x| acc + x) + self.source.modifier.unwrap_or(0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.sum()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_fold)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/result.rs:34:36 [INFO] [stderr] | [INFO] [stderr] 34 | explaination.push_str(&self.rolls.get(i).unwrap().to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.rolls[i]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/result.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | explaination = explaination + format!("=> {}", self.total()).as_str(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `explaination += format!("=> {}", self.total()).as_str()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/stream.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | / pub fn from_str(s: &str) -> TokenStream { [INFO] [stderr] 33 | | TokenStream::new(&s.to_string()) [INFO] [stderr] 34 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `next` on this type; consider implementing the `std::iter::Iterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/stream.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn next(&mut self) -> Option { [INFO] [stderr] 38 | | if self.index < self.source.len() { [INFO] [stderr] 39 | | let c = self.source[self.index]; [INFO] [stderr] 40 | | let token = Token::tokenize(c); [INFO] [stderr] ... | [INFO] [stderr] 44 | | } [INFO] [stderr] 45 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rusty_dice`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "f7a5112e08f57a7cd38cde9568b9ed21c2d3cef961e64315301960e74cbecdb2"` [INFO] running `"docker" "rm" "-f" "f7a5112e08f57a7cd38cde9568b9ed21c2d3cef961e64315301960e74cbecdb2"` [INFO] [stdout] f7a5112e08f57a7cd38cde9568b9ed21c2d3cef961e64315301960e74cbecdb2