[INFO] updating cached repository nathanial/mocra [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/nathanial/mocra [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/nathanial/mocra" "work/ex/clippy-test-run/sources/stable/gh/nathanial/mocra"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/nathanial/mocra'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/nathanial/mocra" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nathanial/mocra"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nathanial/mocra'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5298b8775296b0baeb10e13be77289c444c759f4 [INFO] sha for GitHub repo nathanial/mocra: 5298b8775296b0baeb10e13be77289c444c759f4 [INFO] validating manifest of nathanial/mocra 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 nathanial/mocra 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 nathanial/mocra [INFO] finished frobbing nathanial/mocra [INFO] frobbed toml for nathanial/mocra written to work/ex/clippy-test-run/sources/stable/gh/nathanial/mocra/Cargo.toml [INFO] started frobbing nathanial/mocra [INFO] finished frobbing nathanial/mocra [INFO] frobbed toml for nathanial/mocra written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nathanial/mocra/Cargo.toml [INFO] crate nathanial/mocra 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 nathanial/mocra against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/nathanial/mocra:/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] 08de9d354d3672cb9bda5d0b05bba2b15d803ed39ae55e80ddd8ab684e90cca3 [INFO] running `"docker" "start" "-a" "08de9d354d3672cb9bda5d0b05bba2b15d803ed39ae55e80ddd8ab684e90cca3"` [INFO] [stderr] Compiling gio v0.4.0 [INFO] [stderr] Compiling cairo-rs v0.4.1 [INFO] [stderr] Compiling gdk-pixbuf v0.4.0 [INFO] [stderr] Checking c_vec v1.3.0 [INFO] [stderr] Compiling gdk v0.8.0 [INFO] [stderr] Compiling glib-sys v0.6.0 [INFO] [stderr] Compiling gobject-sys v0.6.0 [INFO] [stderr] Compiling gio-sys v0.6.0 [INFO] [stderr] Compiling gdk-pixbuf-sys v0.6.0 [INFO] [stderr] Compiling pango-sys v0.6.0 [INFO] [stderr] Compiling cairo-sys-rs v0.6.0 [INFO] [stderr] Compiling gdk-sys v0.6.0 [INFO] [stderr] Compiling log v0.4.1 [INFO] [stderr] Checking winit v0.11.3 [INFO] [stderr] Compiling gl_generator v0.9.0 [INFO] [stderr] Compiling glutin v0.13.1 [INFO] [stderr] Compiling gl v0.10.0 [INFO] [stderr] Checking glib v0.5.0 [INFO] [stderr] Checking pango v0.4.0 [INFO] [stderr] Checking mocra v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/widgets.rs:172:88 [INFO] [stderr] | [INFO] [stderr] 172 | let settings = TextRenderSettings {bounds: *bounds, font_settings: *font_settings, content: content}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `content` [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/widgets.rs:172:88 [INFO] [stderr] | [INFO] [stderr] 172 | let settings = TextRenderSettings {bounds: *bounds, font_settings: *font_settings, content: content}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `content` [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: long literal lacking separators [INFO] [stderr] --> src/widgets.rs:131:19 [INFO] [stderr] | [INFO] [stderr] 131 | fill: 0xFFFFFF, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00FF_FFFF` [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/widgets.rs:132:21 [INFO] [stderr] | [INFO] [stderr] 132 | stroke: 0xFF0000, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00FF_0000` [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/widgets.rs:138:28 [INFO] [stderr] | [INFO] [stderr] 138 | color: 0x000000, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_0000` [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: unneeded return statement [INFO] [stderr] --> src/widgets.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | return texture; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `texture` [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: `VisualTreeNode` [INFO] [stderr] --> src/main.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use widgets::{VisualTreeNode, render, Button, Bounds, Widget}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `texture` [INFO] [stderr] --> src/widgets.rs:163:20 [INFO] [stderr] | [INFO] [stderr] 163 | fn gl_draw_texture(texture: Texture, bounds: &Bounds){ [INFO] [stderr] | ^^^^^^^ help: consider using `_texture` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bounds` [INFO] [stderr] --> src/widgets.rs:163:38 [INFO] [stderr] | [INFO] [stderr] 163 | fn gl_draw_texture(texture: Texture, bounds: &Bounds){ [INFO] [stderr] | ^^^^^^ help: consider using `_bounds` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `font_settings` [INFO] [stderr] --> src/widgets.rs:167:24 [INFO] [stderr] | [INFO] [stderr] 167 | fn create_text_texture(font_settings: &TextRenderSettings) -> Texture { [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_font_settings` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bounds` [INFO] [stderr] --> src/widgets.rs:194:37 [INFO] [stderr] | [INFO] [stderr] 194 | &VisualTreeNode::Rectangle {bounds, ref children, stroke_width, stroke, fill } => { [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `bounds: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stroke_width` [INFO] [stderr] --> src/widgets.rs:194:59 [INFO] [stderr] | [INFO] [stderr] 194 | &VisualTreeNode::Rectangle {bounds, ref children, stroke_width, stroke, fill } => { [INFO] [stderr] | ^^^^^^^^^^^^ help: try ignoring the field: `stroke_width: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stroke` [INFO] [stderr] --> src/widgets.rs:194:73 [INFO] [stderr] | [INFO] [stderr] 194 | &VisualTreeNode::Rectangle {bounds, ref children, stroke_width, stroke, fill } => { [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `stroke: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fill` [INFO] [stderr] --> src/widgets.rs:194:81 [INFO] [stderr] | [INFO] [stderr] 194 | &VisualTreeNode::Rectangle {bounds, ref children, stroke_width, stroke, fill } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `fill: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `color` [INFO] [stderr] --> src/widgets.rs:200:45 [INFO] [stderr] | [INFO] [stderr] 200 | &VisualTreeNode::Text { ref bounds, color, ref font_settings, ref content } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `color: _` [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/widgets.rs:131:19 [INFO] [stderr] | [INFO] [stderr] 131 | fill: 0xFFFFFF, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00FF_FFFF` [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/widgets.rs:132:21 [INFO] [stderr] | [INFO] [stderr] 132 | stroke: 0xFF0000, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00FF_0000` [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/widgets.rs:138:28 [INFO] [stderr] | [INFO] [stderr] 138 | color: 0x000000, [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_0000` [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: unneeded return statement [INFO] [stderr] --> src/widgets.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | return texture; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `texture` [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: `VisualTreeNode` [INFO] [stderr] --> src/main.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use widgets::{VisualTreeNode, render, Button, Bounds, Widget}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Empty` [INFO] [stderr] --> src/widgets.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | Empty, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Rectangle` [INFO] [stderr] --> src/widgets.rs:52:1 [INFO] [stderr] | [INFO] [stderr] 52 | pub struct Rectangle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Light` [INFO] [stderr] --> src/widgets.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | Light, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Bold` [INFO] [stderr] --> src/widgets.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | Bold [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Text` [INFO] [stderr] --> src/widgets.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | pub struct Text { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/widgets.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | self.bounds.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.bounds` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/widgets.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | self.bounds.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.bounds` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/widgets.rs:171:48 [INFO] [stderr] | [INFO] [stderr] 171 | fn render_text(bounds: &Bounds, font_settings: &FontSettings, content: String) -> Texture { [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider passing by value instead: `FontSettings` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/widgets.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | / match cache.get(&settings) { [INFO] [stderr] 176 | | Some(texture) => { [INFO] [stderr] 177 | | return *texture; [INFO] [stderr] 178 | | }, [INFO] [stderr] 179 | | None => {} [INFO] [stderr] 180 | | } [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] 175 | if let Some(texture) = cache.get(&settings) { [INFO] [stderr] 176 | return *texture; [INFO] [stderr] 177 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/widgets.rs:190:5 [INFO] [stderr] | [INFO] [stderr] 190 | / match root { [INFO] [stderr] 191 | | &VisualTreeNode::Empty => { [INFO] [stderr] 192 | | println!("Render {:?}", root); [INFO] [stderr] 193 | | }, [INFO] [stderr] ... | [INFO] [stderr] 203 | | } [INFO] [stderr] 204 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 190 | match *root { [INFO] [stderr] 191 | VisualTreeNode::Empty => { [INFO] [stderr] 192 | println!("Render {:?}", root); [INFO] [stderr] 193 | }, [INFO] [stderr] 194 | VisualTreeNode::Rectangle {bounds, ref children, stroke_width, stroke, fill } => { [INFO] [stderr] 195 | println!("Render {:?}", root); [INFO] [stderr] ... [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:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | / match event { [INFO] [stderr] 38 | | glutin::Event::WindowEvent{ event, .. } => match event { [INFO] [stderr] 39 | | glutin::WindowEvent::Closed => running = false, [INFO] [stderr] 40 | | glutin::WindowEvent::Resized(w, h) => gl_window.resize(w, h), [INFO] [stderr] ... | [INFO] [stderr] 43 | | _ => () [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 37 | if let glutin::Event::WindowEvent{ event, .. } = event { match event { [INFO] [stderr] 38 | glutin::WindowEvent::Closed => running = false, [INFO] [stderr] 39 | glutin::WindowEvent::Resized(w, h) => gl_window.resize(w, h), [INFO] [stderr] 40 | _ => () [INFO] [stderr] 41 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `texture` [INFO] [stderr] --> src/widgets.rs:163:20 [INFO] [stderr] | [INFO] [stderr] 163 | fn gl_draw_texture(texture: Texture, bounds: &Bounds){ [INFO] [stderr] | ^^^^^^^ help: consider using `_texture` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bounds` [INFO] [stderr] --> src/widgets.rs:163:38 [INFO] [stderr] | [INFO] [stderr] 163 | fn gl_draw_texture(texture: Texture, bounds: &Bounds){ [INFO] [stderr] | ^^^^^^ help: consider using `_bounds` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `font_settings` [INFO] [stderr] --> src/widgets.rs:167:24 [INFO] [stderr] | [INFO] [stderr] 167 | fn create_text_texture(font_settings: &TextRenderSettings) -> Texture { [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_font_settings` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bounds` [INFO] [stderr] --> src/widgets.rs:194:37 [INFO] [stderr] | [INFO] [stderr] 194 | &VisualTreeNode::Rectangle {bounds, ref children, stroke_width, stroke, fill } => { [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `bounds: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stroke_width` [INFO] [stderr] --> src/widgets.rs:194:59 [INFO] [stderr] | [INFO] [stderr] 194 | &VisualTreeNode::Rectangle {bounds, ref children, stroke_width, stroke, fill } => { [INFO] [stderr] | ^^^^^^^^^^^^ help: try ignoring the field: `stroke_width: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stroke` [INFO] [stderr] --> src/widgets.rs:194:73 [INFO] [stderr] | [INFO] [stderr] 194 | &VisualTreeNode::Rectangle {bounds, ref children, stroke_width, stroke, fill } => { [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `stroke: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fill` [INFO] [stderr] --> src/widgets.rs:194:81 [INFO] [stderr] | [INFO] [stderr] 194 | &VisualTreeNode::Rectangle {bounds, ref children, stroke_width, stroke, fill } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `fill: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `color` [INFO] [stderr] --> src/widgets.rs:200:45 [INFO] [stderr] | [INFO] [stderr] 200 | &VisualTreeNode::Text { ref bounds, color, ref font_settings, ref content } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `color: _` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Empty` [INFO] [stderr] --> src/widgets.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | Empty, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Rectangle` [INFO] [stderr] --> src/widgets.rs:52:1 [INFO] [stderr] | [INFO] [stderr] 52 | pub struct Rectangle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Light` [INFO] [stderr] --> src/widgets.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | Light, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Bold` [INFO] [stderr] --> src/widgets.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | Bold [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Text` [INFO] [stderr] --> src/widgets.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | pub struct Text { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/widgets.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | self.bounds.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.bounds` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/widgets.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | self.bounds.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.bounds` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/widgets.rs:171:48 [INFO] [stderr] | [INFO] [stderr] 171 | fn render_text(bounds: &Bounds, font_settings: &FontSettings, content: String) -> Texture { [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider passing by value instead: `FontSettings` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/widgets.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | / match cache.get(&settings) { [INFO] [stderr] 176 | | Some(texture) => { [INFO] [stderr] 177 | | return *texture; [INFO] [stderr] 178 | | }, [INFO] [stderr] 179 | | None => {} [INFO] [stderr] 180 | | } [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] 175 | if let Some(texture) = cache.get(&settings) { [INFO] [stderr] 176 | return *texture; [INFO] [stderr] 177 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/widgets.rs:190:5 [INFO] [stderr] | [INFO] [stderr] 190 | / match root { [INFO] [stderr] 191 | | &VisualTreeNode::Empty => { [INFO] [stderr] 192 | | println!("Render {:?}", root); [INFO] [stderr] 193 | | }, [INFO] [stderr] ... | [INFO] [stderr] 203 | | } [INFO] [stderr] 204 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 190 | match *root { [INFO] [stderr] 191 | VisualTreeNode::Empty => { [INFO] [stderr] 192 | println!("Render {:?}", root); [INFO] [stderr] 193 | }, [INFO] [stderr] 194 | VisualTreeNode::Rectangle {bounds, ref children, stroke_width, stroke, fill } => { [INFO] [stderr] 195 | println!("Render {:?}", root); [INFO] [stderr] ... [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:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | / match event { [INFO] [stderr] 38 | | glutin::Event::WindowEvent{ event, .. } => match event { [INFO] [stderr] 39 | | glutin::WindowEvent::Closed => running = false, [INFO] [stderr] 40 | | glutin::WindowEvent::Resized(w, h) => gl_window.resize(w, h), [INFO] [stderr] ... | [INFO] [stderr] 43 | | _ => () [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 37 | if let glutin::Event::WindowEvent{ event, .. } = event { match event { [INFO] [stderr] 38 | glutin::WindowEvent::Closed => running = false, [INFO] [stderr] 39 | glutin::WindowEvent::Resized(w, h) => gl_window.resize(w, h), [INFO] [stderr] 40 | _ => () [INFO] [stderr] 41 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 53.82s [INFO] running `"docker" "inspect" "08de9d354d3672cb9bda5d0b05bba2b15d803ed39ae55e80ddd8ab684e90cca3"` [INFO] running `"docker" "rm" "-f" "08de9d354d3672cb9bda5d0b05bba2b15d803ed39ae55e80ddd8ab684e90cca3"` [INFO] [stdout] 08de9d354d3672cb9bda5d0b05bba2b15d803ed39ae55e80ddd8ab684e90cca3