Refactor #496
clippy
21 warnings
Details
Results
Message level | Amount |
---|---|
Internal compiler error | 0 |
Error | 0 |
Warning | 21 |
Note | 0 |
Help | 0 |
Versions
- rustc 1.75.0 (82e1608df 2023-12-21)
- cargo 1.75.0 (1d8b05cdd 2023-11-20)
- clippy 0.1.75 (82e1608 2023-12-21)
Annotations
Check warning on line 102 in src/font/mod.rs
github-actions / clippy
called `map(..).flatten()` on `Iterator`
warning: called `map(..).flatten()` on `Iterator`
--> src/font/mod.rs:101:22
|
101 | .map(|table| table.scripts)
| ______________________^
102 | | .flatten()
| |______________________________^ help: try replacing `map` with `flat_map` and remove the `.flatten()`: `flat_map(|table| table.scripts)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten
= note: `#[warn(clippy::map_flatten)]` on by default
Check warning on line 201 in src/font/fallback/mod.rs
github-actions / clippy
used `assert_eq!` with a literal bool
warning: used `assert_eq!` with a literal bool
--> src/font/fallback/mod.rs:201:33
|
201 | ... assert_eq!(self.monospace_fallbacks.insert(fallback_info), true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
help: replace it with `assert!(..)`
|
201 - assert_eq!(self.monospace_fallbacks.insert(fallback_info), true);
201 + assert!(self.monospace_fallbacks.insert(fallback_info));
|
Check warning on line 167 in src/font/fallback/mod.rs
github-actions / clippy
used `assert_eq!` with a literal bool
warning: used `assert_eq!` with a literal bool
--> src/font/fallback/mod.rs:167:29
|
167 | ... assert_eq!(self.monospace_fallbacks.insert(fallback_info), true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
= note: `#[warn(clippy::bool_assert_comparison)]` on by default
help: replace it with `assert!(..)`
|
167 - assert_eq!(self.monospace_fallbacks.insert(fallback_info), true);
167 + assert!(self.monospace_fallbacks.insert(fallback_info));
|
Check warning on line 293 in src/edit/mod.rs
github-actions / clippy
item in documentation is missing backticks
warning: item in documentation is missing backticks
--> src/edit/mod.rs:293:56
|
293 | /// Insert text at specified cursor with specified attrs_list
| ^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
note: the lint level is defined here
--> src/lib.rs:84:9
|
84 | #![warn(clippy::doc_markdown)]
| ^^^^^^^^^^^^^^^^^^^^
help: try
|
293 | /// Insert text at specified cursor with specified `attrs_list`
| ~~~~~~~~~~~~
Check warning on line 190 in src/edit/mod.rs
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/edit/mod.rs:190:9
|
190 | self.with_buffer_mut(|buffer| buffer.set_redraw(redraw))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `self.with_buffer_mut(|buffer| buffer.set_redraw(redraw));`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
Check warning on line 1113 in src/edit/vi.rs
github-actions / clippy
docs for function returning `Result` missing `# Errors` section
warning: docs for function returning `Result` missing `# Errors` section
--> src/edit/vi.rs:1109:5
|
1109 | / pub fn load_text<P: AsRef<std::path::Path>>(
1110 | | &mut self,
1111 | | path: P,
1112 | | attrs: crate::Attrs,
1113 | | ) -> std::io::Result<()> {
| |____________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
Check warning on line 1080 in src/edit/vi.rs
github-actions / clippy
manual implementation of `Option::map`
warning: manual implementation of `Option::map`
--> src/edit/vi.rs:1074:37
|
1074 | / ... if let Some(last) = layout_runs.last() {
1075 | | ... Some(Action::Motion(Motion::GotoLine(
1076 | | ... (last.line_i + first.line_i) / 2,
1077 | | ... )))
1078 | | ... } else {
1079 | | ... None
1080 | | ... }
| |_______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map
= note: `#[warn(clippy::manual_map)]` on by default
help: try
|
1074 ~ layout_runs.last().map(|last| Action::Motion(Motion::GotoLine(
1075 + (last.line_i + first.line_i) / 2,
1076 + )))
|
Check warning on line 964 in src/edit/vi.rs
github-actions / clippy
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> src/edit/vi.rs:947:37
|
947 | / ... match text[..cursor.index]
948 | | ... .char_indices()
949 | | ... .filter_map(|(i, c)| {
950 | | ... if c == find_c {
... |
963 | | ... None => {}
964 | | ... }
| |_______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
|
947 ~ if let Some(i) = text[..cursor.index]
948 + .char_indices()
949 + .filter_map(|(i, c)| {
950 + if c == find_c {
951 + let end = i + c.len_utf8();
952 + if end < cursor.index {
953 + return Some(end);
954 + }
955 + }
956 + None
957 + })
958 + .last() {
959 + cursor.index = i;
960 + }
|
Check warning on line 936 in src/edit/vi.rs
github-actions / clippy
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> src/edit/vi.rs:927:37
|
927 | / ... match text[..cursor.index]
928 | | ... .char_indices()
929 | | ... .filter(|&(_, c)| c == find_c)
930 | | ... .last()
... |
935 | | ... None => {}
936 | | ... }
| |_______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
|
927 ~ if let Some((i, _)) = text[..cursor.index]
928 + .char_indices()
929 + .filter(|&(_, c)| c == find_c)
930 + .last() {
931 + cursor.index = i;
932 + }
|
Check warning on line 824 in src/edit/vi.rs
github-actions / clippy
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> src/edit/vi.rs:821:43
|
821 | ... match text[cursor.index..]
| _____________________________^
822 | | ... .char_indices()
823 | | ... .filter(|&(i, c)| i > 0 && c == find_c)
824 | | ... .next()
| |_________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
= note: `#[warn(clippy::filter_next)]` on by default
help: try
|
821 ~ match text[cursor.index..]
822 + .char_indices().find(|&(i, c)| i > 0 && c == find_c)
|
Check warning on line 830 in src/edit/vi.rs
github-actions / clippy
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> src/edit/vi.rs:821:37
|
821 | / ... match text[cursor.index..]
822 | | ... .char_indices()
823 | | ... .filter(|&(i, c)| i > 0 && c == find_c)
824 | | ... .next()
... |
829 | | ... None => {}
830 | | ... }
| |_______________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
|
821 ~ if let Some((i, _)) = text[cursor.index..]
822 + .char_indices()
823 + .filter(|&(i, c)| i > 0 && c == find_c)
824 + .next() {
825 + cursor.index += i;
826 + }
|
Check warning on line 600 in src/edit/vi.rs
github-actions / clippy
match expression looks like `matches!` macro
warning: match expression looks like `matches!` macro
--> src/edit/vi.rs:597:29
|
597 | let has_selection = match editor.selection() {
| _____________________________^
598 | | Selection::None => false,
599 | | _ => true,
600 | | };
| |_________^ help: try: `!matches!(editor.selection(), Selection::None)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro
= note: `#[warn(clippy::match_like_matches_macro)]` on by default
Check warning on line 197 in src/edit/vi.rs
github-actions / clippy
docs for function returning `Result` missing `# Errors` section
warning: docs for function returning `Result` missing `# Errors` section
--> src/edit/vi.rs:192:5
|
192 | / pub fn load_text<P: AsRef<std::path::Path>>(
193 | | &mut self,
194 | | font_system: &mut FontSystem,
195 | | path: P,
196 | | attrs: crate::Attrs,
197 | | ) -> std::io::Result<()> {
| |____________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
note: the lint level is defined here
--> src/lib.rs:86:9
|
86 | #![warn(clippy::missing_errors_doc)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
Check warning on line 128 in src/edit/syntect.rs
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/edit/syntect.rs:128:13
|
128 | buffer.set_text(font_system, &text, attrs, Shaping::Advanced)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `buffer.set_text(font_system, &text, attrs, Shaping::Advanced);`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
note: the lint level is defined here
--> src/lib.rs:90:9
|
90 | #![warn(clippy::semicolon_if_nothing_returned)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Check warning on line 517 in src/edit/editor.rs
github-actions / clippy
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
--> src/edit/editor.rs:507:9
|
507 | / match self.change.take() {
508 | | Some(pending) => {
509 | | if !pending.items.is_empty() {
510 | | //TODO: is this a good idea?
... |
516 | | None => {}
517 | | }
| |_________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
= note: `#[warn(clippy::single_match)]` on by default
help: try
|
507 ~ if let Some(pending) = self.change.take() {
508 + if !pending.items.is_empty() {
509 + //TODO: is this a good idea?
510 + log::warn!("pending change caused apply_change to be ignored!");
511 + self.change = Some(pending);
512 + return false;
513 + }
514 + }
|
Check warning on line 208 in src/buffer_line.rs
github-actions / clippy
docs for function which may panic missing `# Panics` section
warning: docs for function which may panic missing `# Panics` section
--> src/buffer_line.rs:200:5
|
200 | / pub fn layout_in_buffer(
201 | | &mut self,
202 | | scratch: &mut ShapeBuffer,
203 | | font_system: &mut FontSystem,
... |
207 | | match_mono_width: Option<f32>,
208 | | ) -> &[LayoutLine] {
| |______________________^
|
note: first possible panic found here
--> src/buffer_line.rs:224:9
|
224 | self.layout_opt.as_ref().expect("layout not found")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
Check warning on line 161 in src/buffer_line.rs
github-actions / clippy
docs for function which may panic missing `# Panics` section
warning: docs for function which may panic missing `# Panics` section
--> src/buffer_line.rs:157:5
|
157 | / pub fn shape_in_buffer(
158 | | &mut self,
159 | | scratch: &mut ShapeBuffer,
160 | | font_system: &mut FontSystem,
161 | | ) -> &ShapeLine {
| |___________________^
|
note: first possible panic found here
--> src/buffer_line.rs:172:9
|
172 | self.shape_opt.as_ref().expect("shape not found")
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
Check warning on line 379 in src/buffer.rs
github-actions / clippy
docs for function which may panic missing `# Panics` section
warning: docs for function which may panic missing `# Panics` section
--> src/buffer.rs:379:5
|
379 | pub fn shape_until_scroll(&mut self, font_system: &mut FontSystem, prune: bool) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: first possible panic found here
--> src/buffer.rs:417:30
|
417 | let layout = self
| ______________________________^
418 | | .line_layout(font_system, line_i)
419 | | .expect("shape_until_scroll invalid line");
| |______________________________________________________________^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
Check warning on line 336 in src/buffer.rs
github-actions / clippy
docs for function which may panic missing `# Panics` section
warning: docs for function which may panic missing `# Panics` section
--> src/buffer.rs:331:5
|
331 | / pub fn shape_until_cursor(
332 | | &mut self,
333 | | font_system: &mut FontSystem,
334 | | cursor: Cursor,
335 | | prune: bool,
336 | | ) {
| |_____^
|
note: first possible panic found here
--> src/buffer.rs:339:29
|
339 | let layout_cursor = self
| _____________________________^
340 | | .layout_cursor(font_system, cursor)
341 | | .expect("shape_until_cursor invalid cursor");
| |________________________________________________________^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
Check warning on line 38 in src/buffer.rs
github-actions / clippy
docs for function which may panic missing `# Panics` section
warning: docs for function which may panic missing `# Panics` section
--> src/buffer.rs:38:5
|
38 | pub fn highlight(&self, cursor_start: Cursor, cursor_end: Cursor) -> Option<(f32, f32)> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: first possible panic found here
--> src/buffer.rs:60:25
|
60 | let x_end = x_end.expect("end of cursor not found");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
Check warning on line 286 in src/attrs.rs
github-actions / clippy
docs for function which may panic missing `# Panics` section
warning: docs for function which may panic missing `# Panics` section
--> src/attrs.rs:286:5
|
286 | pub fn split_off(&mut self, index: usize) -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: first possible panic found here
--> src/attrs.rs:302:34
|
302 | let (range, attrs) = self
| __________________________________^
303 | | .spans
304 | | .get_key_value(&key.start)
305 | | .map(|v| (v.0.clone(), v.1.clone()))
306 | | .expect("attrs span not found");
| |_______________________________________________^
= 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:88:9
|
88 | #![warn(clippy::missing_panics_doc)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^