[INFO] updating cached repository l3kn/Plotter [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/l3kn/Plotter [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/l3kn/Plotter" "work/ex/clippy-test-run/sources/stable/gh/l3kn/Plotter"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/l3kn/Plotter'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/l3kn/Plotter" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/l3kn/Plotter"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/l3kn/Plotter'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] a2d9f53cf7eb8737560b09158d838a30fbe1cc77 [INFO] sha for GitHub repo l3kn/Plotter: a2d9f53cf7eb8737560b09158d838a30fbe1cc77 [INFO] validating manifest of l3kn/Plotter 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 l3kn/Plotter 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 l3kn/Plotter [INFO] finished frobbing l3kn/Plotter [INFO] frobbed toml for l3kn/Plotter written to work/ex/clippy-test-run/sources/stable/gh/l3kn/Plotter/Cargo.toml [INFO] started frobbing l3kn/Plotter [INFO] finished frobbing l3kn/Plotter [INFO] frobbed toml for l3kn/Plotter written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/l3kn/Plotter/Cargo.toml [INFO] crate l3kn/Plotter 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 l3kn/Plotter against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/l3kn/Plotter:/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] 03ae84011a647a22c4f586a5103a252fe9d76663c15b3dc28e100ac95f10625c [INFO] running `"docker" "start" "-a" "03ae84011a647a22c4f586a5103a252fe9d76663c15b3dc28e100ac95f10625c"` [INFO] [stderr] Blocking waiting for file lock on the registry index [INFO] [stderr] Checking ioctl-rs v0.1.6 [INFO] [stderr] Checking serial-core v0.4.0 [INFO] [stderr] Checking termios v0.2.2 [INFO] [stderr] Checking stb_truetype v0.2.5 [INFO] [stderr] Checking rand v0.5.5 [INFO] [stderr] Checking num-integer v0.1.36 [INFO] [stderr] Checking serial-unix v0.4.0 [INFO] [stderr] Checking num-bigint v0.1.43 [INFO] [stderr] Checking num-iter v0.1.35 [INFO] [stderr] Checking rusttype v0.7.3 [INFO] [stderr] Checking serial v0.4.0 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking nalgebra v0.16.11 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking plotter v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/hpgl/hp7550.rs:255:76 [INFO] [stderr] | [INFO] [stderr] 255 | fn set_buffer_sizes(&mut self, i: usize, p: usize, c: usize, r: usize, v: usize) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lisp/lexer.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/lisp/lexer.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | error: error, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `error` [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/lisp/lexer.rs:256:21 [INFO] [stderr] | [INFO] [stderr] 256 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/lisp/lexer.rs:362:33 [INFO] [stderr] | [INFO] [stderr] 362 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/hpgl/hp7550.rs:255:76 [INFO] [stderr] | [INFO] [stderr] 255 | fn set_buffer_sizes(&mut self, i: usize, p: usize, c: usize, r: usize, v: usize) { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lisp/lexer.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/lisp/lexer.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | error: error, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `error` [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/lisp/lexer.rs:256:21 [INFO] [stderr] | [INFO] [stderr] 256 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/lisp/lexer.rs:362:33 [INFO] [stderr] | [INFO] [stderr] 362 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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] error[E0432]: unresolved import `crate::hpgl::LabelOrigin` [INFO] [stderr] --> src/drawable.rs:1:34 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::hpgl::{HPGLInterface, LabelOrigin}; [INFO] [stderr] | ^^^^^^^^^^^ no `LabelOrigin` in `hpgl` [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Rng`, `thread_rng` [INFO] [stderr] --> src/motion_planner.rs:1:12 [INFO] [stderr] | [INFO] [stderr] 1 | use rand::{thread_rng, Rng}; [INFO] [stderr] | ^^^^^^^^^^ ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::hpgl::LabelOrigin` [INFO] [stderr] --> src/drawable.rs:1:34 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::hpgl::{HPGLInterface, LabelOrigin}; [INFO] [stderr] | ^^^^^^^^^^^ no `LabelOrigin` in `hpgl` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/parser.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lisp/lexer.rs:195:20 [INFO] [stderr] | [INFO] [stderr] 195 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 196 | | if let Some(n) = self.next() { [INFO] [stderr] 197 | | res.push(n); [INFO] [stderr] 198 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 203 | | } [INFO] [stderr] 204 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 195 | } else if let Some(n) = self.next() { [INFO] [stderr] 196 | res.push(n); [INFO] [stderr] 197 | } else { [INFO] [stderr] 198 | // This should never happen, [INFO] [stderr] 199 | // if input.peek() was None, [INFO] [stderr] 200 | // is_peek_delimiter would have returned true [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lisp/lexer.rs:376:28 [INFO] [stderr] | [INFO] [stderr] 376 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 377 | | if self.is_peek_digit() { [INFO] [stderr] 378 | | let body = self.read_to_delimiter(); [INFO] [stderr] 379 | | self.make_token(start, Literal::Number(true, 10, body)) [INFO] [stderr] ... | [INFO] [stderr] 382 | | } [INFO] [stderr] 383 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 376 | } else if self.is_peek_digit() { [INFO] [stderr] 377 | let body = self.read_to_delimiter(); [INFO] [stderr] 378 | self.make_token(start, Literal::Number(true, 10, body)) [INFO] [stderr] 379 | } else { [INFO] [stderr] 380 | self.make_error(start, InvalidIdentifier) [INFO] [stderr] 381 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lisp/lexer.rs:390:28 [INFO] [stderr] | [INFO] [stderr] 390 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 391 | | if self.is_peek_digit() { [INFO] [stderr] 392 | | let body = self.read_to_delimiter(); [INFO] [stderr] 393 | | self.make_token(start, Literal::Number(false, 10, body)) [INFO] [stderr] ... | [INFO] [stderr] 396 | | } [INFO] [stderr] 397 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 390 | } else if self.is_peek_digit() { [INFO] [stderr] 391 | let body = self.read_to_delimiter(); [INFO] [stderr] 392 | self.make_token(start, Literal::Number(false, 10, body)) [INFO] [stderr] 393 | } else { [INFO] [stderr] 394 | self.make_error(start, InvalidIdentifier) [INFO] [stderr] 395 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lisp/parser.rs:185:20 [INFO] [stderr] | [INFO] [stderr] 185 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 186 | | if let Some(n) = self.next_expression()? { [INFO] [stderr] 187 | | res.push(n); [INFO] [stderr] 188 | | } else { [INFO] [stderr] 189 | | panic!("Unexpected end of input") [INFO] [stderr] 190 | | } [INFO] [stderr] 191 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 185 | } else if let Some(n) = self.next_expression()? { [INFO] [stderr] 186 | res.push(n); [INFO] [stderr] 187 | } else { [INFO] [stderr] 188 | panic!("Unexpected end of input") [INFO] [stderr] 189 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lisp/parser.rs:216:20 [INFO] [stderr] | [INFO] [stderr] 216 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 217 | | if let Some(n) = self.next_expression()? { [INFO] [stderr] 218 | | res.push(n); [INFO] [stderr] 219 | | } else { [INFO] [stderr] 220 | | panic!("Unexpected end of input") [INFO] [stderr] 221 | | } [INFO] [stderr] 222 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 216 | } else if let Some(n) = self.next_expression()? { [INFO] [stderr] 217 | res.push(n); [INFO] [stderr] 218 | } else { [INFO] [stderr] 219 | panic!("Unexpected end of input") [INFO] [stderr] 220 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lisp/evaluator_2d.rs:592:17 [INFO] [stderr] | [INFO] [stderr] 592 | return (name, val); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(name, val)` [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: unused import: `std::f64::consts::PI` [INFO] [stderr] --> src/lisp/evaluator_3d.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::f64::consts::PI; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lisp/evaluator_3d.rs:533:17 [INFO] [stderr] | [INFO] [stderr] 533 | return (name, val); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(name, val)` [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: unused imports: `Rng`, `thread_rng` [INFO] [stderr] --> src/motion_planner.rs:1:12 [INFO] [stderr] | [INFO] [stderr] 1 | use rand::{thread_rng, Rng}; [INFO] [stderr] | ^^^^^^^^^^ ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/parser.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lisp/lexer.rs:195:20 [INFO] [stderr] | [INFO] [stderr] 195 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 196 | | if let Some(n) = self.next() { [INFO] [stderr] 197 | | res.push(n); [INFO] [stderr] 198 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 203 | | } [INFO] [stderr] 204 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 195 | } else if let Some(n) = self.next() { [INFO] [stderr] 196 | res.push(n); [INFO] [stderr] 197 | } else { [INFO] [stderr] 198 | // This should never happen, [INFO] [stderr] 199 | // if input.peek() was None, [INFO] [stderr] 200 | // is_peek_delimiter would have returned true [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lisp/lexer.rs:376:28 [INFO] [stderr] | [INFO] [stderr] 376 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 377 | | if self.is_peek_digit() { [INFO] [stderr] 378 | | let body = self.read_to_delimiter(); [INFO] [stderr] 379 | | self.make_token(start, Literal::Number(true, 10, body)) [INFO] [stderr] ... | [INFO] [stderr] 382 | | } [INFO] [stderr] 383 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 376 | } else if self.is_peek_digit() { [INFO] [stderr] 377 | let body = self.read_to_delimiter(); [INFO] [stderr] 378 | self.make_token(start, Literal::Number(true, 10, body)) [INFO] [stderr] 379 | } else { [INFO] [stderr] 380 | self.make_error(start, InvalidIdentifier) [INFO] [stderr] 381 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lisp/lexer.rs:390:28 [INFO] [stderr] | [INFO] [stderr] 390 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 391 | | if self.is_peek_digit() { [INFO] [stderr] 392 | | let body = self.read_to_delimiter(); [INFO] [stderr] 393 | | self.make_token(start, Literal::Number(false, 10, body)) [INFO] [stderr] ... | [INFO] [stderr] 396 | | } [INFO] [stderr] 397 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 390 | } else if self.is_peek_digit() { [INFO] [stderr] 391 | let body = self.read_to_delimiter(); [INFO] [stderr] 392 | self.make_token(start, Literal::Number(false, 10, body)) [INFO] [stderr] 393 | } else { [INFO] [stderr] 394 | self.make_error(start, InvalidIdentifier) [INFO] [stderr] 395 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lisp/parser.rs:185:20 [INFO] [stderr] | [INFO] [stderr] 185 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 186 | | if let Some(n) = self.next_expression()? { [INFO] [stderr] 187 | | res.push(n); [INFO] [stderr] 188 | | } else { [INFO] [stderr] 189 | | panic!("Unexpected end of input") [INFO] [stderr] 190 | | } [INFO] [stderr] 191 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 185 | } else if let Some(n) = self.next_expression()? { [INFO] [stderr] 186 | res.push(n); [INFO] [stderr] 187 | } else { [INFO] [stderr] 188 | panic!("Unexpected end of input") [INFO] [stderr] 189 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lisp/parser.rs:216:20 [INFO] [stderr] | [INFO] [stderr] 216 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 217 | | if let Some(n) = self.next_expression()? { [INFO] [stderr] 218 | | res.push(n); [INFO] [stderr] 219 | | } else { [INFO] [stderr] 220 | | panic!("Unexpected end of input") [INFO] [stderr] 221 | | } [INFO] [stderr] 222 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 216 | } else if let Some(n) = self.next_expression()? { [INFO] [stderr] 217 | res.push(n); [INFO] [stderr] 218 | } else { [INFO] [stderr] 219 | panic!("Unexpected end of input") [INFO] [stderr] 220 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lisp/evaluator_2d.rs:592:17 [INFO] [stderr] | [INFO] [stderr] 592 | return (name, val); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(name, val)` [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: unused import: `std::f64::consts::PI` [INFO] [stderr] --> src/lisp/evaluator_3d.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::f64::consts::PI; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lisp/evaluator_3d.rs:533:17 [INFO] [stderr] | [INFO] [stderr] 533 | return (name, val); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(name, val)` [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] error[E0599]: no method named `absolute_direction` found for type `&mut dyn hpgl::HPGLInterface` in the current scope [INFO] [stderr] --> src/drawable.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 238 | plotter.absolute_direction(self.direction); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `label_origin` found for type `&mut dyn hpgl::HPGLInterface` in the current scope [INFO] [stderr] --> src/drawable.rs:240:17 [INFO] [stderr] | [INFO] [stderr] 240 | plotter.label_origin(&self.origin); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `label` found for type `&mut dyn hpgl::HPGLInterface` in the current scope [INFO] [stderr] --> src/drawable.rs:241:17 [INFO] [stderr] | [INFO] [stderr] 241 | plotter.label(&self.text); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `absolute_direction` found for type `&mut dyn hpgl::HPGLInterface` in the current scope [INFO] [stderr] --> src/drawable.rs:238:21 [INFO] [stderr] | [INFO] [stderr] 238 | plotter.absolute_direction(self.direction); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `label_origin` found for type `&mut dyn hpgl::HPGLInterface` in the current scope [INFO] [stderr] --> src/drawable.rs:240:17 [INFO] [stderr] | [INFO] [stderr] 240 | plotter.label_origin(&self.origin); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `label` found for type `&mut dyn hpgl::HPGLInterface` in the current scope [INFO] [stderr] --> src/drawable.rs:241:17 [INFO] [stderr] | [INFO] [stderr] 241 | plotter.label(&self.text); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] Some errors occurred: E0432, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0432`. [INFO] [stderr] error: Could not compile `plotter`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] Some errors occurred: E0432, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0432`. [INFO] [stderr] error: Could not compile `plotter`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "03ae84011a647a22c4f586a5103a252fe9d76663c15b3dc28e100ac95f10625c"` [INFO] running `"docker" "rm" "-f" "03ae84011a647a22c4f586a5103a252fe9d76663c15b3dc28e100ac95f10625c"` [INFO] [stdout] 03ae84011a647a22c4f586a5103a252fe9d76663c15b3dc28e100ac95f10625c