Skip to content

This version does not work, singleton is incorrect

Jort van Waes 0379adc
Sign in for the full log view
GitHub Actions / clippy succeeded Sep 19, 2023 in 0s

clippy

22 warnings

Details

Results

Message level Amount
Internal compiler error 0
Error 0
Warning 22
Note 0
Help 0

Versions

  • rustc 1.72.0 (5680fa18f 2023-08-23)
  • cargo 1.72.0 (103a7ff2e 2023-08-15)
  • clippy 0.1.72 (5680fa1 2023-08-23)

Annotations

Check warning on line 1 in src/main.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

unused import: `std::env`

warning: unused import: `std::env`
 --> src/main.rs:1:5
  |
1 | use std::env;
  |     ^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

Check warning on line 555 in src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

this function has too many lines (122/100)

warning: this function has too many lines (122/100)
   --> src/lib.rs:411:1
    |
411 | / pub fn run(config: &Config) -> Result<(), Box<dyn Error>> {
412 | |     //Coloring function
413 | |     let mut coloring_function = COLORING_FUNCTION;
414 | |     //Color channel mapping
...   |
554 | |     Ok(())
555 | | }
    | |_^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_lines

Check warning on line 345 in src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

consider adding a `;` to the last statement for consistent formatting

warning: consider adding a `;` to the last statement for consistent formatting
   --> src/lib.rs:345:13
    |
345 |             self.previous.store(current, Ordering::Relaxed)
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `self.previous.store(current, Ordering::Relaxed);`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned

Check warning on line 255 in src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

consider adding a `;` to the last statement for consistent formatting

warning: consider adding a `;` to the last statement for consistent formatting
   --> src/lib.rs:255:17
    |
255 |                 println!("translation_amount: {}", MandelbrotModel::get_instance().vars.translation_amount)
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `println!("translation_amount: {}", MandelbrotModel::get_instance().vars.translation_amount);`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned

Check warning on line 241 in src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

consider adding a `;` to the last statement for consistent formatting

warning: consider adding a `;` to the last statement for consistent formatting
   --> src/lib.rs:238:17
    |
238 | /                 *coloring_function = pick_option(&[
239 | |                     ("HSV", TrueColor::new_from_hsv_colors),
240 | |                     ("Bernstein polynomials", TrueColor::new_from_bernstein_polynomials),
241 | |                 ])
    | |__________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
    = note: `#[warn(clippy::semicolon_if_nothing_returned)]` implied by `#[warn(clippy::pedantic)]`
help: add a `;` here
    |
238 ~                 *coloring_function = pick_option(&[
239 +                     ("HSV", TrueColor::new_from_hsv_colors),
240 +                     ("Bernstein polynomials", TrueColor::new_from_bernstein_polynomials),
241 +                 ]);
    |

Check warning on line 213 in src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

strict comparison of `f32` or `f64`

warning: strict comparison of `f32` or `f64`
   --> src/lib.rs:213:20
    |
213 |                 if config.window_scale == 1.0 {
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some margin of error: `(config.window_scale - 1.0).abs() < error_margin`
    |
    = note: `f32::EPSILON` and `f64::EPSILON` are available for the `error_margin`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp
    = note: `#[warn(clippy::float_cmp)]` implied by `#[warn(clippy::pedantic)]`

Check warning on line 287 in src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

this function has too many lines (143/100)

warning: this function has too many lines (143/100)
   --> src/lib.rs:132:1
    |
132 | / fn handle_key_events(
133 | |     window: &Window,
134 | |     c: &mut ComplexPlane,
135 | |     p: &mut PixelBuffer,
...   |
286 | |     }
287 | | }
    | |_^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_lines
    = note: `#[warn(clippy::too_many_lines)]` implied by `#[warn(clippy::pedantic)]`

Check warning on line 143 in src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

this function has too many arguments (10/7)

warning: this function has too many arguments (10/7)
   --> src/lib.rs:132:1
    |
132 | / fn handle_key_events(
133 | |     window: &Window,
134 | |     c: &mut ComplexPlane,
135 | |     p: &mut PixelBuffer,
...   |
142 | |     config: &Config,
143 | | ) {
    | |__^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
    = note: `#[warn(clippy::too_many_arguments)]` implied by `#[warn(clippy::complexity)]`

Check warning on line 123 in src/view/coloring.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function which may panic missing `# Panics` section

warning: docs for function which may panic missing `# Panics` section
   --> src/view/coloring.rs:123:5
    |
123 |     pub fn get_color(&self, color: char) -> u8 {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: first possible panic found here
   --> src/view/coloring.rs:124:9
    |
124 | /         assert!(
125 | |             color == 'R' || color == 'G' || color == 'B',
126 | |             "Error: color should be equal to R, G, or B, color = {}",
127 | |             color
128 | |         );
    | |_________^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc

Check warning on line 43 in src/view/coloring.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function returning `Result` missing `# Errors` section

warning: docs for function returning `Result` missing `# Errors` section
  --> src/view/coloring.rs:43:5
   |
43 |     pub fn new(r_g_b: &str) -> Result<ColorChannelMapping, String> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
   = note: `#[warn(clippy::missing_errors_doc)]` implied by `#[warn(clippy::pedantic)]`

Check warning on line 10 in src/view/coloring.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

item in documentation is missing backticks

warning: item in documentation is missing backticks
  --> src/view/coloring.rs:10:10
   |
10 | /// E.g: Ok(ColorChannelMapping::BGR) means that red will get the value of blue, green the value of green, and blue the value of red:
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
help: try
   |
10 | /// E.g: `Ok(ColorChannelMapping::BGR`) means that red will get the value of blue, green the value of green, and blue the value of red:
   |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Check warning on line 8 in src/view/coloring.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

item in documentation is missing backticks

warning: item in documentation is missing backticks
 --> src/view/coloring.rs:8:19
  |
8 | ///A mapping from ColorChannelMapping -> RGB, the first character denotes the new red channel, the second character the new green channel,
  |                   ^^^^^^^^^^^^^^^^^^^
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
help: try
  |
8 | ///A mapping from `ColorChannelMapping` -> RGB, the first character denotes the new red channel, the second character the new green channel,
  |                   ~~~~~~~~~~~~~~~~~~~~~

Check warning on line 114 in src/model/rendering.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the function has a cognitive complexity of (7/5)

warning: the function has a cognitive complexity of (7/5)
   --> src/model/rendering.rs:114:41
    |
114 |         let handle = thread::spawn(move || {
    |                                         ^^
    |
    = help: you could split it up into multiple smaller functions
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cognitive_complexity
note: the lint level is defined here
   --> src/lib.rs:4:5
    |
4   |     clippy::nursery,
    |     ^^^^^^^^^^^^^^^
    = note: `#[warn(clippy::cognitive_complexity)]` implied by `#[warn(clippy::nursery)]`

Check warning on line 41 in src/model/mandelbrot_model.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function which may panic missing `# Panics` section

warning: docs for function which may panic missing `# Panics` section
  --> src/model/mandelbrot_model.rs:41:5
   |
41 |     pub fn get_instance() -> MutexGuard<'static, MandelbrotModel> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
note: first possible panic found here
  --> src/model/mandelbrot_model.rs:42:9
   |
42 |         MANDELBROT_MODEL_INSTANCE.lock().unwrap()
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc

Check warning on line 40 in src/model/mandelbrot_model.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

item in documentation is missing backticks

warning: item in documentation is missing backticks
  --> src/model/mandelbrot_model.rs:40:31
   |
40 |     /// Returns the singleton MandelbrotModel instance.
   |                               ^^^^^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
   = note: `#[warn(clippy::doc_markdown)]` implied by `#[warn(clippy::pedantic)]`
help: try
   |
40 |     /// Returns the singleton `MandelbrotModel` instance.
   |                               ~~~~~~~~~~~~~~~~~

Check warning on line 31 in src/model/mandelbrot_model.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

using `clone` on type `Config` which implements the `Copy` trait

warning: using `clone` on type `Config` which implements the `Copy` trait
  --> src/model/mandelbrot_model.rs:31:21
   |
31 |             config: config.clone(),
   |                     ^^^^^^^^^^^^^^ help: try removing the `clone` call: `config`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
note: the lint level is defined here
  --> src/lib.rs:9:5
   |
9  |     clippy::complexity
   |     ^^^^^^^^^^^^^^^^^^
   = note: `#[warn(clippy::clone_on_copy)]` implied by `#[warn(clippy::complexity)]`

Check warning on line 38 in src/model/mandelbrot_model.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

you should consider adding a `Default` implementation for `MandelbrotModel`

warning: you should consider adding a `Default` implementation for `MandelbrotModel`
  --> src/model/mandelbrot_model.rs:25:5
   |
25 | /     pub fn new() -> MandelbrotModel {
26 | |         let config = Config::build(env::args()).unwrap_or_else(|err| {
27 | |             eprintln!("Problem parsing arguments: {}", err);
28 | |             process::exit(1);
...  |
37 | |         }
38 | |     }
   | |_____^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
help: try adding this
   |
24 + impl Default for MandelbrotModel {
25 +     fn default() -> Self {
26 +         Self::new()
27 +     }
28 + }
   |

Check warning on line 31 in src/controller/user_input.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function which may panic missing `# Panics` section

warning: docs for function which may panic missing `# Panics` section
  --> src/controller/user_input.rs:31:1
   |
31 | pub fn get_user_input_untrimmed() -> String {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
note: first possible panic found here
  --> src/controller/user_input.rs:34:5
   |
34 | /     io::stdin()
35 | |         .read_line(&mut user_input)
36 | |         .expect("Error: Failed to read the user's input from stdin.");
   | |_____________________________________________________________________^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
note: the lint level is defined here
  --> src/lib.rs:3:5
   |
3  |     clippy::pedantic,
   |     ^^^^^^^^^^^^^^^^
   = note: `#[warn(clippy::missing_panics_doc)]` implied by `#[warn(clippy::pedantic)]`

Check warning on line 43 in src/controller/config.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

you should consider adding a `Default` implementation for `Config`

warning: you should consider adding a `Default` implementation for `Config`
  --> src/controller/config.rs:32:5
   |
32 | /     pub fn new() -> Config {
33 | |         Config {
34 | |             window_width: WIDTH,
35 | |             window_height: HEIGHT,
...  |
42 | |         }
43 | |     }
   | |_____^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default
note: the lint level is defined here
  --> src/lib.rs:2:5
   |
2  |     clippy::all,
   |     ^^^^^^^^^^^
   = note: `#[warn(clippy::new_without_default)]` implied by `#[warn(clippy::all)]`
help: try adding this
   |
31 + impl Default for Config {
32 +     fn default() -> Self {
33 +         Self::new()
34 +     }
35 + }
   |

Check warning on line 56 in src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

static `COLOR_CHANNEL_MAPPING` is never used

warning: static `COLOR_CHANNEL_MAPPING` is never used
  --> src/lib.rs:56:8
   |
56 | static COLOR_CHANNEL_MAPPING: ColorChannelMapping = ColorChannelMapping::RGB;
   |        ^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` on by default

Check warning on line 293 in src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

unused variable: `c`

warning: unused variable: `c`
   --> src/lib.rs:293:46
    |
293 | fn handle_left_mouse_clicked(x: f32, y: f32, c: &ComplexPlane) {
    |                                              ^ help: if this is intentional, prefix it with an underscore: `_c`

Check warning on line 137 in src/lib.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

unused variable: `vars`

warning: unused variable: `vars`
   --> src/lib.rs:137:5
    |
137 |     vars: &mut InteractionVariables,
    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_vars`
    |
    = note: `#[warn(unused_variables)]` on by default