[INFO] updating cached repository ioncodes/yolo-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/ioncodes/yolo-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/ioncodes/yolo-rs" "work/ex/clippy-test-run/sources/stable/gh/ioncodes/yolo-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/ioncodes/yolo-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/ioncodes/yolo-rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ioncodes/yolo-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ioncodes/yolo-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 500f09410e45a29be1207f97c541c267faa36536 [INFO] sha for GitHub repo ioncodes/yolo-rs: 500f09410e45a29be1207f97c541c267faa36536 [INFO] validating manifest of ioncodes/yolo-rs 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 ioncodes/yolo-rs 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 ioncodes/yolo-rs [INFO] finished frobbing ioncodes/yolo-rs [INFO] frobbed toml for ioncodes/yolo-rs written to work/ex/clippy-test-run/sources/stable/gh/ioncodes/yolo-rs/Cargo.toml [INFO] started frobbing ioncodes/yolo-rs [INFO] finished frobbing ioncodes/yolo-rs [INFO] frobbed toml for ioncodes/yolo-rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ioncodes/yolo-rs/Cargo.toml [INFO] crate ioncodes/yolo-rs 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 ioncodes/yolo-rs 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/ioncodes/yolo-rs:/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] a17ae167b1256cb9e9694be56e96a92870f50fdd383dfd48bd36aec90d0940b6 [INFO] running `"docker" "start" "-a" "a17ae167b1256cb9e9694be56e96a92870f50fdd383dfd48bd36aec90d0940b6"` [INFO] [stderr] Checking shared_library v0.1.7 [INFO] [stderr] Checking inotify v0.3.0 [INFO] [stderr] Checking filetime v0.1.10 [INFO] [stderr] Compiling miniz-sys v0.1.9 [INFO] [stderr] Checking net2 v0.2.31 [INFO] [stderr] Checking nix v0.5.1 [INFO] [stderr] Compiling phf_generator v0.7.21 [INFO] [stderr] Compiling wayland-scanner v0.9.9 [INFO] [stderr] Checking tempfile v2.1.6 [INFO] [stderr] Compiling phf_codegen v0.7.21 [INFO] [stderr] Checking x11-dl v2.14.0 [INFO] [stderr] Compiling glium v0.17.0 [INFO] [stderr] Checking fs2 v0.2.5 [INFO] [stderr] Checking walkdir v0.1.8 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking backtrace v0.2.3 [INFO] [stderr] Checking miow v0.1.5 [INFO] [stderr] Compiling target_build_utils v0.3.1 [INFO] [stderr] Compiling wayland-client v0.9.9 [INFO] [stderr] Checking memmap v0.4.0 [INFO] [stderr] Checking flate2 v0.2.19 [INFO] [stderr] Checking mio v0.5.1 [INFO] [stderr] Checking notify v4.0.1 [INFO] [stderr] Compiling libloading v0.3.4 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.9.9 [INFO] [stderr] Checking wayland-window v0.6.1 [INFO] [stderr] Checking wayland-kbd v0.9.1 [INFO] [stderr] Checking winit v0.7.5 [INFO] [stderr] Checking glutin v0.9.2 [INFO] [stderr] Checking yolo v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/window.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | resolution: resolution, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `resolution` [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/window.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | title: title, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `title` [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/window.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | vsync: vsync, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `vsync` [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/window.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | msaa: msaa, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `msaa` [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/window.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | borderless: borderless, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `borderless` [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/window.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | fullscreen: fullscreen, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `fullscreen` [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: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/main.rs:424:5 [INFO] [stderr] | [INFO] [stderr] 424 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/window.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | resolution: resolution, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `resolution` [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/window.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | title: title, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `title` [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/window.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | vsync: vsync, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `vsync` [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/window.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | msaa: msaa, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `msaa` [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/window.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | borderless: borderless, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `borderless` [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/window.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | fullscreen: fullscreen, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `fullscreen` [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: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/main.rs:424:5 [INFO] [stderr] | [INFO] [stderr] 424 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | const DEFAULT_VERTEX: &'static str = include_str!("shaders/default.vert"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | const DEFAULT_VERTEX: &'static str = include_str!("shaders/default.vert"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/window.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | / let window: WindowBuilder; [INFO] [stderr] 37 | | if self.fullscreen { [INFO] [stderr] 38 | | window = WindowBuilder::new().with_title("yolo").with_fullscreen( [INFO] [stderr] 39 | | glium::glutin::get_available_monitors().nth(0).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 45 | | .with_decorations(!self.borderless); [INFO] [stderr] 46 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] help: it is more idiomatic to write [INFO] [stderr] | [INFO] [stderr] 36 | let window = if self.fullscreen { WindowBuilder::new().with_title("yolo").with_fullscreen( [INFO] [stderr] 37 | glium::glutin::get_available_monitors().nth(0).unwrap(), [INFO] [stderr] 38 | ) } else { WindowBuilder::new() [INFO] [stderr] 39 | .with_dimensions(self.resolution[0], self.resolution[1]) [INFO] [stderr] 40 | .with_title("yolo") [INFO] [stderr] 41 | .with_decorations(!self.borderless) }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | / let mut vertex_shader = DEFAULT_VERTEX.to_string(); [INFO] [stderr] 29 | | if config.1 != "" { [INFO] [stderr] 30 | | vertex_shader = read_shader(config.1); [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let vertex_shader = if config.1 != "" { read_shader(config.1) } else { DEFAULT_VERTEX.to_string() };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/main.rs:111:1 [INFO] [stderr] | [INFO] [stderr] 111 | / fn setup_window(resolution: [u32; 2], add_time: f32, vsync: bool, vertex_shader: String, fragment_shader: String, rx: mpsc::Receiver, shader_receiver: mpsc::Receiver, debug: bool, msaa: u16, borderless: bool, fullscreen: bool) { [INFO] [stderr] 112 | | let mut window = window::Window::new(resolution, "yolo".to_owned(), vsync, msaa, borderless, fullscreen); [INFO] [stderr] 113 | | let display = window.build_display(); [INFO] [stderr] 114 | | [INFO] [stderr] ... | [INFO] [stderr] 210 | | } [INFO] [stderr] 211 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [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/main.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | / match event { [INFO] [stderr] 201 | | glutin::Event::WindowEvent{ event, .. } => match event { [INFO] [stderr] 202 | | glutin::WindowEvent::Closed => closed = true, [INFO] [stderr] 203 | | glutin::WindowEvent::MouseMoved { position, .. } => mouse = [position.0 as f32 / resolution[0] as f32, 1.0 - position.1 as f32 / resolution[1] as f32], [INFO] [stderr] ... | [INFO] [stderr] 206 | | _ => () [INFO] [stderr] 207 | | } [INFO] [stderr] | |_________________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 200 | if let glutin::Event::WindowEvent{ event, .. } = event { match event { [INFO] [stderr] 201 | glutin::WindowEvent::Closed => closed = true, [INFO] [stderr] 202 | glutin::WindowEvent::MouseMoved { position, .. } => mouse = [position.0 as f32 / resolution[0] as f32, 1.0 - position.1 as f32 / resolution[1] as f32], [INFO] [stderr] 203 | _ => () [INFO] [stderr] 204 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:213:16 [INFO] [stderr] | [INFO] [stderr] 213 | fn config() -> (String, String, u32, u32, bool, f32, bool, bool, bool, String, u16, bool, bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:316:5 [INFO] [stderr] | [INFO] [stderr] 316 | / let mut config_vsync = false; [INFO] [stderr] 317 | | if matches.is_present("vsync") { [INFO] [stderr] 318 | | println!("vsync enabled!"); [INFO] [stderr] 319 | | config_vsync = true; [INFO] [stderr] 320 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_vsync = if matches.is_present("vsync") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:328:5 [INFO] [stderr] | [INFO] [stderr] 328 | / let mut config_interactive = false; [INFO] [stderr] 329 | | if matches.is_present("interactive") { [INFO] [stderr] 330 | | println!("interactive enabled!"); [INFO] [stderr] 331 | | config_interactive = true; [INFO] [stderr] 332 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_interactive = if matches.is_present("interactive") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:334:5 [INFO] [stderr] | [INFO] [stderr] 334 | / let mut config_debug = false; [INFO] [stderr] 335 | | if matches.is_present("debug") { [INFO] [stderr] 336 | | println!("debug mode enabled!"); [INFO] [stderr] 337 | | config_debug = true; [INFO] [stderr] 338 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_debug = if matches.is_present("debug") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:340:5 [INFO] [stderr] | [INFO] [stderr] 340 | / let mut config_reload = false; [INFO] [stderr] 341 | | if matches.is_present("reload") { [INFO] [stderr] 342 | | println!("reload mode enabled!"); [INFO] [stderr] 343 | | config_reload = true; [INFO] [stderr] 344 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_reload = if matches.is_present("reload") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:346:5 [INFO] [stderr] | [INFO] [stderr] 346 | / let mut config_borderless = false; [INFO] [stderr] 347 | | if matches.is_present("borderless") { [INFO] [stderr] 348 | | println!("borderless mode enabled!"); [INFO] [stderr] 349 | | config_borderless = true; [INFO] [stderr] 350 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_borderless = if matches.is_present("borderless") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:352:5 [INFO] [stderr] | [INFO] [stderr] 352 | / let mut config_fullscreen = false; [INFO] [stderr] 353 | | if matches.is_present("fullscreen") { [INFO] [stderr] 354 | | println!("fullscreen mode enabled!"); [INFO] [stderr] 355 | | config_fullscreen = true; [INFO] [stderr] 356 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_fullscreen = if matches.is_present("fullscreen") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/window.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | / let window: WindowBuilder; [INFO] [stderr] 37 | | if self.fullscreen { [INFO] [stderr] 38 | | window = WindowBuilder::new().with_title("yolo").with_fullscreen( [INFO] [stderr] 39 | | glium::glutin::get_available_monitors().nth(0).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 45 | | .with_decorations(!self.borderless); [INFO] [stderr] 46 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] help: it is more idiomatic to write [INFO] [stderr] | [INFO] [stderr] 36 | let window = if self.fullscreen { WindowBuilder::new().with_title("yolo").with_fullscreen( [INFO] [stderr] 37 | glium::glutin::get_available_monitors().nth(0).unwrap(), [INFO] [stderr] 38 | ) } else { WindowBuilder::new() [INFO] [stderr] 39 | .with_dimensions(self.resolution[0], self.resolution[1]) [INFO] [stderr] 40 | .with_title("yolo") [INFO] [stderr] 41 | .with_decorations(!self.borderless) }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | / let mut vertex_shader = DEFAULT_VERTEX.to_string(); [INFO] [stderr] 29 | | if config.1 != "" { [INFO] [stderr] 30 | | vertex_shader = read_shader(config.1); [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let vertex_shader = if config.1 != "" { read_shader(config.1) } else { DEFAULT_VERTEX.to_string() };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/main.rs:111:1 [INFO] [stderr] | [INFO] [stderr] 111 | / fn setup_window(resolution: [u32; 2], add_time: f32, vsync: bool, vertex_shader: String, fragment_shader: String, rx: mpsc::Receiver, shader_receiver: mpsc::Receiver, debug: bool, msaa: u16, borderless: bool, fullscreen: bool) { [INFO] [stderr] 112 | | let mut window = window::Window::new(resolution, "yolo".to_owned(), vsync, msaa, borderless, fullscreen); [INFO] [stderr] 113 | | let display = window.build_display(); [INFO] [stderr] 114 | | [INFO] [stderr] ... | [INFO] [stderr] 210 | | } [INFO] [stderr] 211 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [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/main.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | / match event { [INFO] [stderr] 201 | | glutin::Event::WindowEvent{ event, .. } => match event { [INFO] [stderr] 202 | | glutin::WindowEvent::Closed => closed = true, [INFO] [stderr] 203 | | glutin::WindowEvent::MouseMoved { position, .. } => mouse = [position.0 as f32 / resolution[0] as f32, 1.0 - position.1 as f32 / resolution[1] as f32], [INFO] [stderr] ... | [INFO] [stderr] 206 | | _ => () [INFO] [stderr] 207 | | } [INFO] [stderr] | |_________________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 200 | if let glutin::Event::WindowEvent{ event, .. } = event { match event { [INFO] [stderr] 201 | glutin::WindowEvent::Closed => closed = true, [INFO] [stderr] 202 | glutin::WindowEvent::MouseMoved { position, .. } => mouse = [position.0 as f32 / resolution[0] as f32, 1.0 - position.1 as f32 / resolution[1] as f32], [INFO] [stderr] 203 | _ => () [INFO] [stderr] 204 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:213:16 [INFO] [stderr] | [INFO] [stderr] 213 | fn config() -> (String, String, u32, u32, bool, f32, bool, bool, bool, String, u16, bool, bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:316:5 [INFO] [stderr] | [INFO] [stderr] 316 | / let mut config_vsync = false; [INFO] [stderr] 317 | | if matches.is_present("vsync") { [INFO] [stderr] 318 | | println!("vsync enabled!"); [INFO] [stderr] 319 | | config_vsync = true; [INFO] [stderr] 320 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_vsync = if matches.is_present("vsync") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:328:5 [INFO] [stderr] | [INFO] [stderr] 328 | / let mut config_interactive = false; [INFO] [stderr] 329 | | if matches.is_present("interactive") { [INFO] [stderr] 330 | | println!("interactive enabled!"); [INFO] [stderr] 331 | | config_interactive = true; [INFO] [stderr] 332 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_interactive = if matches.is_present("interactive") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:334:5 [INFO] [stderr] | [INFO] [stderr] 334 | / let mut config_debug = false; [INFO] [stderr] 335 | | if matches.is_present("debug") { [INFO] [stderr] 336 | | println!("debug mode enabled!"); [INFO] [stderr] 337 | | config_debug = true; [INFO] [stderr] 338 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_debug = if matches.is_present("debug") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:340:5 [INFO] [stderr] | [INFO] [stderr] 340 | / let mut config_reload = false; [INFO] [stderr] 341 | | if matches.is_present("reload") { [INFO] [stderr] 342 | | println!("reload mode enabled!"); [INFO] [stderr] 343 | | config_reload = true; [INFO] [stderr] 344 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_reload = if matches.is_present("reload") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:346:5 [INFO] [stderr] | [INFO] [stderr] 346 | / let mut config_borderless = false; [INFO] [stderr] 347 | | if matches.is_present("borderless") { [INFO] [stderr] 348 | | println!("borderless mode enabled!"); [INFO] [stderr] 349 | | config_borderless = true; [INFO] [stderr] 350 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_borderless = if matches.is_present("borderless") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:352:5 [INFO] [stderr] | [INFO] [stderr] 352 | / let mut config_fullscreen = false; [INFO] [stderr] 353 | | if matches.is_present("fullscreen") { [INFO] [stderr] 354 | | println!("fullscreen mode enabled!"); [INFO] [stderr] 355 | | config_fullscreen = true; [INFO] [stderr] 356 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let config_fullscreen = if matches.is_present("fullscreen") { ..; true } else { false };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 54.24s [INFO] running `"docker" "inspect" "a17ae167b1256cb9e9694be56e96a92870f50fdd383dfd48bd36aec90d0940b6"` [INFO] running `"docker" "rm" "-f" "a17ae167b1256cb9e9694be56e96a92870f50fdd383dfd48bd36aec90d0940b6"` [INFO] [stdout] a17ae167b1256cb9e9694be56e96a92870f50fdd383dfd48bd36aec90d0940b6