Skip to content

first line indent

first line indent #3

Triggered via push June 21, 2024 20:47
Status Failure
Total duration 3m 28s
Artifacts

rust.yml

on: push
Fit to window
Zoom out
Zoom in

Annotations

1 error and 85 warnings
build
Process completed with exit code 101.
cargo-deny
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
item in documentation is missing backticks: src/shape_run_cache.rs#L36
warning: item in documentation is missing backticks --> src/shape_run_cache.rs:36:61 | 36 | /// Remove anything in the cache with an age older than keep_ages | ^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 36 | /// Remove anything in the cache with an age older than `keep_ages` | ~~~~~~~~~~~
manual saturating arithmetic: src/shape.rs#L385
warning: manual saturating arithmetic --> src/shape.rs:385:19 | 385 | let end = min(attrs_range.end, end_run) | ___________________^ 386 | | .checked_sub(start_run) 387 | | .unwrap_or(0); | |_________________________^ help: consider using `saturating_sub`: `min(attrs_range.end, end_run).saturating_sub(start_run)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_saturating_arithmetic
manual saturating arithmetic: src/shape.rs#L382
warning: manual saturating arithmetic --> src/shape.rs:382:21 | 382 | let start = max(attrs_range.start, start_run) | _____________________^ 383 | | .checked_sub(start_run) 384 | | .unwrap_or(0); | |_________________________^ help: consider using `saturating_sub`: `max(attrs_range.start, start_run).saturating_sub(start_run)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_saturating_arithmetic = note: `#[warn(clippy::manual_saturating_arithmetic)]` on by default
single-character string constant used as pattern: src/line_ending.rs#L66
warning: single-character string constant used as pattern --> src/line_ending.rs:66:45 | 66 | } else if after.starts_with("\r") { | ^^^^ help: consider using a `char`: `'\r'` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
single-character string constant used as pattern: src/line_ending.rs#L64
warning: single-character string constant used as pattern --> src/line_ending.rs:64:45 | 64 | } else if after.starts_with("\n") { | ^^^^ help: consider using a `char`: `'\n'` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern = note: `#[warn(clippy::single_char_pattern)]` on by default
the borrowed expression implements the required traits: src/line_ending.rs#L55
warning: the borrowed expression implements the required traits --> src/line_ending.rs:55:49 | 55 | match self.string[start..self.end].find(&['\r', '\n']) { | ^^^^^^^^^^^^^ help: change this to: `['\r', '\n']` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default
item in documentation is missing backticks: src/layout.rs#L61
warning: item in documentation is missing backticks --> src/layout.rs:61:25 | 61 | /// Cache key, see [CacheKey] | ^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 61 | /// Cache key, see [`CacheKey`] | ~~~~~~~~~~
item in documentation is missing backticks: src/layout.rs#L31
warning: item in documentation is missing backticks --> src/layout.rs:31:17 | 31 | /// Unicode BiDi embedding level, character is left-to-right if `level` is divisible by 2 | ^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 31 | /// Unicode `BiDi` embedding level, character is left-to-right if `level` is divisible by 2 | ~~~~~~
current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0`: src/font/fallback/mod.rs#L251
warning: current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0` --> src/font/fallback/mod.rs:251:67 | 251 | if let Some(fallback_info) = self.monospace_fallbacks.pop_first() { | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0`: src/font/fallback/mod.rs#L148
warning: current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0` --> src/font/fallback/mod.rs:148:63 | 148 | if let Some(fallback_info) = self.monospace_fallbacks.pop_first() { | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv = note: `#[warn(clippy::incompatible_msrv)]` on by default
item in documentation is missing backticks: src/edit/mod.rs#L293
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 help: try | 293 | /// Insert text at specified cursor with specified `attrs_list` | ~~~~~~~~~~~~
consider adding a `;` to the last statement for consistent formatting: src/edit/mod.rs#L190
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
docs for function returning `Result` missing `# Errors` section: src/edit/vi.rs#L1175
warning: docs for function returning `Result` missing `# Errors` section --> src/edit/vi.rs:1175:5 | 1175 | / pub fn load_text<P: AsRef<std::path::Path>>( 1176 | | &mut self, 1177 | | path: P, 1178 | | attrs: crate::Attrs, 1179 | | ) -> std::io::Result<()> { | |____________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
manual implementation of `Option::map`: src/edit/vi.rs#L1136
warning: manual implementation of `Option::map` --> src/edit/vi.rs:1136:37 | 1136 | / ... if let Some(last) = layout_runs.last() { 1137 | | ... Some(Action::Motion(Motion::GotoLine( 1138 | | ... (last.line_i + first.line_i) / 2, 1139 | | ... ))) 1140 | | ... } else { 1141 | | ... None 1142 | | ... } | |_______________________^ | = 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 | 1136 ~ layout_runs.last().map(|last| Action::Motion(Motion::GotoLine( 1137 + (last.line_i + first.line_i) / 2, 1138 + ))) |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: src/edit/vi.rs#L1009
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/edit/vi.rs:1009:37 | 1009 | / ... match text[..cursor.index] 1010 | | ... .char_indices() 1011 | | ... .filter_map(|(i, c)| { 1012 | | ... if c == find_c { ... | 1025 | | ... None => {} 1026 | | ... } | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try | 1009 ~ if let Some(i) = text[..cursor.index] 1010 + .char_indices() 1011 + .filter_map(|(i, c)| { 1012 + if c == find_c { 1013 + let end = i + c.len_utf8(); 1014 + if end < cursor.index { 1015 + return Some(end); 1016 + } 1017 + } 1018 + None 1019 + }) 1020 + .last() { 1021 + cursor.index = i; 1022 + } |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: src/edit/vi.rs#L989
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/edit/vi.rs:989:37 | 989 | / ... match text[..cursor.index] 990 | | ... .char_indices() 991 | | ... .filter(|&(_, c)| c == find_c) 992 | | ... .last() ... | 997 | | ... None => {} 998 | | ... } | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try | 989 ~ if let Some((i, _)) = text[..cursor.index] 990 + .char_indices() 991 + .filter(|&(_, c)| c == find_c) 992 + .last() { 993 + cursor.index = i; 994 + } |
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead: src/edit/vi.rs#L883
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead --> src/edit/vi.rs:883:43 | 883 | ... match text[cursor.index..] | _____________________________^ 884 | | ... .char_indices() 885 | | ... .filter(|&(i, c)| i > 0 && c == find_c) 886 | | ... .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 | 883 ~ match text[cursor.index..] 884 + .char_indices().find(|&(i, c)| i > 0 && c == find_c) |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: src/edit/vi.rs#L883
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/edit/vi.rs:883:37 | 883 | / ... match text[cursor.index..] 884 | | ... .char_indices() 885 | | ... .filter(|&(i, c)| i > 0 && c == find_c) 886 | | ... .next() ... | 891 | | ... None => {} 892 | | ... } | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try | 883 ~ if let Some((i, _)) = text[cursor.index..] 884 + .char_indices() 885 + .filter(|&(i, c)| i > 0 && c == find_c) 886 + .next() { 887 + cursor.index += i; 888 + } |
match expression looks like `matches!` macro: src/edit/vi.rs#L649
warning: match expression looks like `matches!` macro --> src/edit/vi.rs:649:29 | 649 | let has_selection = match editor.selection() { | _____________________________^ 650 | | Selection::None => false, 651 | | _ => true, 652 | | }; | |_________^ 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
docs for function returning `Result` missing `# Errors` section: src/edit/vi.rs#L213
warning: docs for function returning `Result` missing `# Errors` section --> src/edit/vi.rs:213:5 | 213 | / pub fn load_text<P: AsRef<std::path::Path>>( 214 | | &mut self, 215 | | font_system: &mut FontSystem, 216 | | path: P, 217 | | attrs: crate::Attrs, 218 | | ) -> 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)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
consider adding a `;` to the last statement for consistent formatting: src/edit/syntect.rs#L128
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)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: src/edit/editor.rs#L530
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/edit/editor.rs:530:9 | 530 | / match self.change.take() { 531 | | Some(pending) => { 532 | | if !pending.items.is_empty() { 533 | | //TODO: is this a good idea? ... | 539 | | None => {} 540 | | } | |_________^ | = 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 | 530 ~ if let Some(pending) = self.change.take() { 531 + if !pending.items.is_empty() { 532 + //TODO: is this a good idea? 533 + log::warn!("pending change caused apply_change to be ignored!"); 534 + self.change = Some(pending); 535 + return false; 536 + } 537 + } |
this function has too many arguments (8/7): src/edit/editor.rs#L112
warning: this function has too many arguments (8/7) --> src/edit/editor.rs:112:5 | 112 | / pub fn draw<F>( 113 | | &self, 114 | | font_system: &mut FontSystem, 115 | | cache: &mut crate::SwashCache, ... | 120 | | mut f: F, 121 | | ) where | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
item in documentation is missing backticks: src/cursor.rs#L92
warning: item in documentation is missing backticks --> src/cursor.rs:92:63 | 92 | /// Move cursor to next character ([Self::Right] in LTR, [Self::Left] in RTL) | ^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 92 | /// Move cursor to next character ([Self::Right] in LTR, [`Self::Left`] in RTL) | ~~~~~~~~~~~~
item in documentation is missing backticks: src/cursor.rs#L92
warning: item in documentation is missing backticks --> src/cursor.rs:92:41 | 92 | /// Move cursor to next character ([Self::Right] in LTR, [Self::Left] in RTL) | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 92 | /// Move cursor to next character ([`Self::Right`] in LTR, [Self::Left] in RTL) | ~~~~~~~~~~~~~
item in documentation is missing backticks: src/cursor.rs#L90
warning: item in documentation is missing backticks --> src/cursor.rs:90:66 | 90 | /// Move cursor to previous character ([Self::Left] in LTR, [Self::Right] in RTL) | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 90 | /// Move cursor to previous character ([Self::Left] in LTR, [`Self::Right`] in RTL) | ~~~~~~~~~~~~~
item in documentation is missing backticks: src/cursor.rs#L90
warning: item in documentation is missing backticks --> src/cursor.rs:90:45 | 90 | /// Move cursor to previous character ([Self::Left] in LTR, [Self::Right] in RTL) | ^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 90 | /// Move cursor to previous character ([`Self::Left`] in LTR, [Self::Right] in RTL) | ~~~~~~~~~~~~
this function has too many arguments (9/7): src/buffer_line.rs#L239
warning: this function has too many arguments (9/7) --> src/buffer_line.rs:239:5 | 239 | / pub fn layout_in_buffer( 240 | | &mut self, 241 | | scratch: &mut ShapeBuffer, 242 | | font_system: &mut FontSystem, ... | 248 | | tab_width: u16, 249 | | ) -> &[LayoutLine] { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
docs for function which may panic missing `# Panics` section: src/buffer_line.rs#L239
warning: docs for function which may panic missing `# Panics` section --> src/buffer_line.rs:239:5 | 239 | / pub fn layout_in_buffer( 240 | | &mut self, 241 | | scratch: &mut ShapeBuffer, 242 | | font_system: &mut FontSystem, ... | 248 | | tab_width: u16, 249 | | ) -> &[LayoutLine] { | |______________________^ | note: first possible panic found here --> src/buffer_line.rs:266:9 | 266 | 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
this function has too many arguments (8/7): src/buffer_line.rs#L216
warning: this function has too many arguments (8/7) --> src/buffer_line.rs:216:5 | 216 | / pub fn layout( 217 | | &mut self, 218 | | font_system: &mut FontSystem, 219 | | font_size: f32, ... | 224 | | tab_width: u16, 225 | | ) -> &[LayoutLine] { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
docs for function which may panic missing `# Panics` section: src/buffer_line.rs#L190
warning: docs for function which may panic missing `# Panics` section --> src/buffer_line.rs:190:5 | 190 | / pub fn shape_in_buffer( 191 | | &mut self, 192 | | scratch: &mut ShapeBuffer, 193 | | font_system: &mut FontSystem, 194 | | tab_width: u16, 195 | | ) -> &ShapeLine { | |___________________^ | note: first possible panic found here --> src/buffer_line.rs:207:9 | 207 | 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
usage of a legacy numeric method: src/buffer.rs#L1130
warning: usage of a legacy numeric method --> src/buffer.rs:1130:46 | 1130 | layout_cursor.glyph = usize::max_value(); | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants help: use the associated constant instead | 1130 | layout_cursor.glyph = usize::MAX; | ~~~
usage of a legacy numeric method: src/buffer.rs#L1061
warning: usage of a legacy numeric method --> src/buffer.rs:1061:51 | 1061 | layout_cursor.layout = usize::max_value(); | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants = note: `#[warn(clippy::legacy_numeric_constants)]` on by default help: use the associated constant instead | 1061 | layout_cursor.layout = usize::MAX; | ~~~
docs for function which may panic missing `# Panics` section: src/buffer.rs#L409
warning: docs for function which may panic missing `# Panics` section --> src/buffer.rs:409:5 | 409 | pub fn shape_until_scroll(&mut self, font_system: &mut FontSystem, prune: bool) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: first possible panic found here --> src/buffer.rs:458:30 | 458 | let layout = self | ______________________________^ 459 | | .line_layout(font_system, line_i) 460 | | .expect("shape_until_scroll invalid line"); | |______________________________________________________________^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
the loop variable `layout_i` is only used to index `layout`: src/buffer.rs#L336
warning: the loop variable `layout_i` is only used to index `layout` --> src/buffer.rs:336:29 | 336 | for layout_i in 0..layout_cursor.layout { | ^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop = note: `#[warn(clippy::needless_range_loop)]` on by default help: consider using an iterator | 336 | for <item> in layout.iter().take(layout_cursor.layout) { | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
docs for function which may panic missing `# Panics` section: src/buffer.rs#L318
warning: docs for function which may panic missing `# Panics` section --> src/buffer.rs:318:5 | 318 | / pub fn shape_until_cursor( 319 | | &mut self, 320 | | font_system: &mut FontSystem, 321 | | cursor: Cursor, 322 | | prune: bool, 323 | | ) { | |_____^ | note: first possible panic found here --> src/buffer.rs:327:29 | 327 | let layout_cursor = self | _____________________________^ 328 | | .layout_cursor(font_system, cursor) 329 | | .expect("shape_until_cursor invalid cursor"); | |________________________________________________________^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
item in documentation is missing backticks: src/buffer.rs#L205
warning: item in documentation is missing backticks --> src/buffer.rs:205:10 | 205 | /// [BufferLine]s (or paragraphs) of text in the buffer | ^^^^^^^^^^ | = 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 | 205 | /// [`BufferLine`]s (or paragraphs) of text in the buffer | ~~~~~~~~~~~~
docs for function which may panic missing `# Panics` section: src/buffer.rs#L40
warning: docs for function which may panic missing `# Panics` section --> src/buffer.rs:40:5 | 40 | pub fn highlight(&self, cursor_start: Cursor, cursor_end: Cursor) -> Option<(f32, f32)> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: first possible panic found here --> src/buffer.rs:62:25 | 62 | 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
docs for function which may panic missing `# Panics` section: src/attrs.rs#L340
warning: docs for function which may panic missing `# Panics` section --> src/attrs.rs:340:5 | 340 | pub fn split_off(&mut self, index: usize) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: first possible panic found here --> src/attrs.rs:356:34 | 356 | let (range, attrs) = self | __________________________________^ 357 | | .spans 358 | | .get_key_value(&key.start) 359 | | .map(|v| (v.0.clone(), v.1.clone())) 360 | | .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)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
this `else { if .. }` block can be collapsed: src/shape.rs#L1557
warning: this `else { if .. }` block can be collapsed --> src/shape.rs:1557:20 | 1557 | } else { | ____________________^ 1558 | | if self.rtl { 1559 | | start_x - x 1560 | | } else { 1561 | | x 1562 | | } 1563 | | }; | |_____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if = note: `#[warn(clippy::collapsible_else_if)]` on by default help: collapse nested if block | 1557 ~ } else if self.rtl { 1558 + start_x - x 1559 + } else { 1560 + x 1561 ~ }; |
this `if` statement can be collapsed: src/buffer.rs#L611
warning: this `if` statement can be collapsed --> src/buffer.rs:611:17 | 611 | / if line.shape_opt().is_some() { 612 | | if line.text().contains('\t') { 613 | | line.reset_shaping(); 614 | | } 615 | | } | |_________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if = note: `#[warn(clippy::collapsible_if)]` on by default help: collapse nested if block | 611 ~ if line.shape_opt().is_some() && line.text().contains('\t') { 612 + line.reset_shaping(); 613 + } |
build
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions-rs/clippy-check@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
build
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
item in documentation is missing backticks: src/shape_run_cache.rs#L36
warning: item in documentation is missing backticks --> src/shape_run_cache.rs:36:61 | 36 | /// Remove anything in the cache with an age older than keep_ages | ^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 36 | /// Remove anything in the cache with an age older than `keep_ages` | ~~~~~~~~~~~
manual saturating arithmetic: src/shape.rs#L385
warning: manual saturating arithmetic --> src/shape.rs:385:19 | 385 | let end = min(attrs_range.end, end_run) | ___________________^ 386 | | .checked_sub(start_run) 387 | | .unwrap_or(0); | |_________________________^ help: consider using `saturating_sub`: `min(attrs_range.end, end_run).saturating_sub(start_run)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_saturating_arithmetic
manual saturating arithmetic: src/shape.rs#L382
warning: manual saturating arithmetic --> src/shape.rs:382:21 | 382 | let start = max(attrs_range.start, start_run) | _____________________^ 383 | | .checked_sub(start_run) 384 | | .unwrap_or(0); | |_________________________^ help: consider using `saturating_sub`: `max(attrs_range.start, start_run).saturating_sub(start_run)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_saturating_arithmetic = note: `#[warn(clippy::manual_saturating_arithmetic)]` on by default
single-character string constant used as pattern: src/line_ending.rs#L66
warning: single-character string constant used as pattern --> src/line_ending.rs:66:45 | 66 | } else if after.starts_with("\r") { | ^^^^ help: consider using a `char`: `'\r'` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
single-character string constant used as pattern: src/line_ending.rs#L64
warning: single-character string constant used as pattern --> src/line_ending.rs:64:45 | 64 | } else if after.starts_with("\n") { | ^^^^ help: consider using a `char`: `'\n'` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern = note: `#[warn(clippy::single_char_pattern)]` on by default
the borrowed expression implements the required traits: src/line_ending.rs#L55
warning: the borrowed expression implements the required traits --> src/line_ending.rs:55:49 | 55 | match self.string[start..self.end].find(&['\r', '\n']) { | ^^^^^^^^^^^^^ help: change this to: `['\r', '\n']` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default
item in documentation is missing backticks: src/layout.rs#L61
warning: item in documentation is missing backticks --> src/layout.rs:61:25 | 61 | /// Cache key, see [CacheKey] | ^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 61 | /// Cache key, see [`CacheKey`] | ~~~~~~~~~~
item in documentation is missing backticks: src/layout.rs#L31
warning: item in documentation is missing backticks --> src/layout.rs:31:17 | 31 | /// Unicode BiDi embedding level, character is left-to-right if `level` is divisible by 2 | ^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 31 | /// Unicode `BiDi` embedding level, character is left-to-right if `level` is divisible by 2 | ~~~~~~
current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0`: src/font/fallback/mod.rs#L251
warning: current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0` --> src/font/fallback/mod.rs:251:67 | 251 | if let Some(fallback_info) = self.monospace_fallbacks.pop_first() { | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0`: src/font/fallback/mod.rs#L148
warning: current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0` --> src/font/fallback/mod.rs:148:63 | 148 | if let Some(fallback_info) = self.monospace_fallbacks.pop_first() { | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv = note: `#[warn(clippy::incompatible_msrv)]` on by default
item in documentation is missing backticks: src/edit/mod.rs#L293
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 help: try | 293 | /// Insert text at specified cursor with specified `attrs_list` | ~~~~~~~~~~~~
consider adding a `;` to the last statement for consistent formatting: src/edit/mod.rs#L190
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
docs for function returning `Result` missing `# Errors` section: src/edit/vi.rs#L1175
warning: docs for function returning `Result` missing `# Errors` section --> src/edit/vi.rs:1175:5 | 1175 | / pub fn load_text<P: AsRef<std::path::Path>>( 1176 | | &mut self, 1177 | | path: P, 1178 | | attrs: crate::Attrs, 1179 | | ) -> std::io::Result<()> { | |____________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
manual implementation of `Option::map`: src/edit/vi.rs#L1136
warning: manual implementation of `Option::map` --> src/edit/vi.rs:1136:37 | 1136 | / ... if let Some(last) = layout_runs.last() { 1137 | | ... Some(Action::Motion(Motion::GotoLine( 1138 | | ... (last.line_i + first.line_i) / 2, 1139 | | ... ))) 1140 | | ... } else { 1141 | | ... None 1142 | | ... } | |_______________________^ | = 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 | 1136 ~ layout_runs.last().map(|last| Action::Motion(Motion::GotoLine( 1137 + (last.line_i + first.line_i) / 2, 1138 + ))) |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: src/edit/vi.rs#L1009
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/edit/vi.rs:1009:37 | 1009 | / ... match text[..cursor.index] 1010 | | ... .char_indices() 1011 | | ... .filter_map(|(i, c)| { 1012 | | ... if c == find_c { ... | 1025 | | ... None => {} 1026 | | ... } | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try | 1009 ~ if let Some(i) = text[..cursor.index] 1010 + .char_indices() 1011 + .filter_map(|(i, c)| { 1012 + if c == find_c { 1013 + let end = i + c.len_utf8(); 1014 + if end < cursor.index { 1015 + return Some(end); 1016 + } 1017 + } 1018 + None 1019 + }) 1020 + .last() { 1021 + cursor.index = i; 1022 + } |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: src/edit/vi.rs#L989
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/edit/vi.rs:989:37 | 989 | / ... match text[..cursor.index] 990 | | ... .char_indices() 991 | | ... .filter(|&(_, c)| c == find_c) 992 | | ... .last() ... | 997 | | ... None => {} 998 | | ... } | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try | 989 ~ if let Some((i, _)) = text[..cursor.index] 990 + .char_indices() 991 + .filter(|&(_, c)| c == find_c) 992 + .last() { 993 + cursor.index = i; 994 + } |
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead: src/edit/vi.rs#L883
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead --> src/edit/vi.rs:883:43 | 883 | ... match text[cursor.index..] | _____________________________^ 884 | | ... .char_indices() 885 | | ... .filter(|&(i, c)| i > 0 && c == find_c) 886 | | ... .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 | 883 ~ match text[cursor.index..] 884 + .char_indices().find(|&(i, c)| i > 0 && c == find_c) |
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: src/edit/vi.rs#L883
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/edit/vi.rs:883:37 | 883 | / ... match text[cursor.index..] 884 | | ... .char_indices() 885 | | ... .filter(|&(i, c)| i > 0 && c == find_c) 886 | | ... .next() ... | 891 | | ... None => {} 892 | | ... } | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match help: try | 883 ~ if let Some((i, _)) = text[cursor.index..] 884 + .char_indices() 885 + .filter(|&(i, c)| i > 0 && c == find_c) 886 + .next() { 887 + cursor.index += i; 888 + } |
match expression looks like `matches!` macro: src/edit/vi.rs#L649
warning: match expression looks like `matches!` macro --> src/edit/vi.rs:649:29 | 649 | let has_selection = match editor.selection() { | _____________________________^ 650 | | Selection::None => false, 651 | | _ => true, 652 | | }; | |_________^ 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
docs for function returning `Result` missing `# Errors` section: src/edit/vi.rs#L213
warning: docs for function returning `Result` missing `# Errors` section --> src/edit/vi.rs:213:5 | 213 | / pub fn load_text<P: AsRef<std::path::Path>>( 214 | | &mut self, 215 | | font_system: &mut FontSystem, 216 | | path: P, 217 | | attrs: crate::Attrs, 218 | | ) -> 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)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
consider adding a `;` to the last statement for consistent formatting: src/edit/syntect.rs#L128
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)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: src/edit/editor.rs#L530
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/edit/editor.rs:530:9 | 530 | / match self.change.take() { 531 | | Some(pending) => { 532 | | if !pending.items.is_empty() { 533 | | //TODO: is this a good idea? ... | 539 | | None => {} 540 | | } | |_________^ | = 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 | 530 ~ if let Some(pending) = self.change.take() { 531 + if !pending.items.is_empty() { 532 + //TODO: is this a good idea? 533 + log::warn!("pending change caused apply_change to be ignored!"); 534 + self.change = Some(pending); 535 + return false; 536 + } 537 + } |
this function has too many arguments (8/7): src/edit/editor.rs#L112
warning: this function has too many arguments (8/7) --> src/edit/editor.rs:112:5 | 112 | / pub fn draw<F>( 113 | | &self, 114 | | font_system: &mut FontSystem, 115 | | cache: &mut crate::SwashCache, ... | 120 | | mut f: F, 121 | | ) where | |_____^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
item in documentation is missing backticks: src/cursor.rs#L92
warning: item in documentation is missing backticks --> src/cursor.rs:92:63 | 92 | /// Move cursor to next character ([Self::Right] in LTR, [Self::Left] in RTL) | ^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 92 | /// Move cursor to next character ([Self::Right] in LTR, [`Self::Left`] in RTL) | ~~~~~~~~~~~~
item in documentation is missing backticks: src/cursor.rs#L92
warning: item in documentation is missing backticks --> src/cursor.rs:92:41 | 92 | /// Move cursor to next character ([Self::Right] in LTR, [Self::Left] in RTL) | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 92 | /// Move cursor to next character ([`Self::Right`] in LTR, [Self::Left] in RTL) | ~~~~~~~~~~~~~
item in documentation is missing backticks: src/cursor.rs#L90
warning: item in documentation is missing backticks --> src/cursor.rs:90:66 | 90 | /// Move cursor to previous character ([Self::Left] in LTR, [Self::Right] in RTL) | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 90 | /// Move cursor to previous character ([Self::Left] in LTR, [`Self::Right`] in RTL) | ~~~~~~~~~~~~~
item in documentation is missing backticks: src/cursor.rs#L90
warning: item in documentation is missing backticks --> src/cursor.rs:90:45 | 90 | /// Move cursor to previous character ([Self::Left] in LTR, [Self::Right] in RTL) | ^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown help: try | 90 | /// Move cursor to previous character ([`Self::Left`] in LTR, [Self::Right] in RTL) | ~~~~~~~~~~~~
this function has too many arguments (9/7): src/buffer_line.rs#L239
warning: this function has too many arguments (9/7) --> src/buffer_line.rs:239:5 | 239 | / pub fn layout_in_buffer( 240 | | &mut self, 241 | | scratch: &mut ShapeBuffer, 242 | | font_system: &mut FontSystem, ... | 248 | | tab_width: u16, 249 | | ) -> &[LayoutLine] { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
docs for function which may panic missing `# Panics` section: src/buffer_line.rs#L239
warning: docs for function which may panic missing `# Panics` section --> src/buffer_line.rs:239:5 | 239 | / pub fn layout_in_buffer( 240 | | &mut self, 241 | | scratch: &mut ShapeBuffer, 242 | | font_system: &mut FontSystem, ... | 248 | | tab_width: u16, 249 | | ) -> &[LayoutLine] { | |______________________^ | note: first possible panic found here --> src/buffer_line.rs:266:9 | 266 | 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
this function has too many arguments (8/7): src/buffer_line.rs#L216
warning: this function has too many arguments (8/7) --> src/buffer_line.rs:216:5 | 216 | / pub fn layout( 217 | | &mut self, 218 | | font_system: &mut FontSystem, 219 | | font_size: f32, ... | 224 | | tab_width: u16, 225 | | ) -> &[LayoutLine] { | |______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
docs for function which may panic missing `# Panics` section: src/buffer_line.rs#L190
warning: docs for function which may panic missing `# Panics` section --> src/buffer_line.rs:190:5 | 190 | / pub fn shape_in_buffer( 191 | | &mut self, 192 | | scratch: &mut ShapeBuffer, 193 | | font_system: &mut FontSystem, 194 | | tab_width: u16, 195 | | ) -> &ShapeLine { | |___________________^ | note: first possible panic found here --> src/buffer_line.rs:207:9 | 207 | 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
usage of a legacy numeric method: src/buffer.rs#L1130
warning: usage of a legacy numeric method --> src/buffer.rs:1130:46 | 1130 | layout_cursor.glyph = usize::max_value(); | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants help: use the associated constant instead | 1130 | layout_cursor.glyph = usize::MAX; | ~~~
usage of a legacy numeric method: src/buffer.rs#L1061
warning: usage of a legacy numeric method --> src/buffer.rs:1061:51 | 1061 | layout_cursor.layout = usize::max_value(); | ^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants = note: `#[warn(clippy::legacy_numeric_constants)]` on by default help: use the associated constant instead | 1061 | layout_cursor.layout = usize::MAX; | ~~~
docs for function which may panic missing `# Panics` section: src/buffer.rs#L409
warning: docs for function which may panic missing `# Panics` section --> src/buffer.rs:409:5 | 409 | pub fn shape_until_scroll(&mut self, font_system: &mut FontSystem, prune: bool) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: first possible panic found here --> src/buffer.rs:458:30 | 458 | let layout = self | ______________________________^ 459 | | .line_layout(font_system, line_i) 460 | | .expect("shape_until_scroll invalid line"); | |______________________________________________________________^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
the loop variable `layout_i` is only used to index `layout`: src/buffer.rs#L336
warning: the loop variable `layout_i` is only used to index `layout` --> src/buffer.rs:336:29 | 336 | for layout_i in 0..layout_cursor.layout { | ^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop = note: `#[warn(clippy::needless_range_loop)]` on by default help: consider using an iterator | 336 | for <item> in layout.iter().take(layout_cursor.layout) { | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
docs for function which may panic missing `# Panics` section: src/buffer.rs#L318
warning: docs for function which may panic missing `# Panics` section --> src/buffer.rs:318:5 | 318 | / pub fn shape_until_cursor( 319 | | &mut self, 320 | | font_system: &mut FontSystem, 321 | | cursor: Cursor, 322 | | prune: bool, 323 | | ) { | |_____^ | note: first possible panic found here --> src/buffer.rs:327:29 | 327 | let layout_cursor = self | _____________________________^ 328 | | .layout_cursor(font_system, cursor) 329 | | .expect("shape_until_cursor invalid cursor"); | |________________________________________________________^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
item in documentation is missing backticks: src/buffer.rs#L205
warning: item in documentation is missing backticks --> src/buffer.rs:205:10 | 205 | /// [BufferLine]s (or paragraphs) of text in the buffer | ^^^^^^^^^^ | = 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 | 205 | /// [`BufferLine`]s (or paragraphs) of text in the buffer | ~~~~~~~~~~~~
docs for function which may panic missing `# Panics` section: src/buffer.rs#L40
warning: docs for function which may panic missing `# Panics` section --> src/buffer.rs:40:5 | 40 | pub fn highlight(&self, cursor_start: Cursor, cursor_end: Cursor) -> Option<(f32, f32)> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: first possible panic found here --> src/buffer.rs:62:25 | 62 | 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
docs for function which may panic missing `# Panics` section: src/attrs.rs#L340
warning: docs for function which may panic missing `# Panics` section --> src/attrs.rs:340:5 | 340 | pub fn split_off(&mut self, index: usize) -> Self { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: first possible panic found here --> src/attrs.rs:356:34 | 356 | let (range, attrs) = self | __________________________________^ 357 | | .spans 358 | | .get_key_value(&key.start) 359 | | .map(|v| (v.0.clone(), v.1.clone())) 360 | | .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)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^
this `else { if .. }` block can be collapsed: src/shape.rs#L1557
warning: this `else { if .. }` block can be collapsed --> src/shape.rs:1557:20 | 1557 | } else { | ____________________^ 1558 | | if self.rtl { 1559 | | start_x - x 1560 | | } else { 1561 | | x 1562 | | } 1563 | | }; | |_____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if = note: `#[warn(clippy::collapsible_else_if)]` on by default help: collapse nested if block | 1557 ~ } else if self.rtl { 1558 + start_x - x 1559 + } else { 1560 + x 1561 ~ }; |
this `if` statement can be collapsed: src/buffer.rs#L611
warning: this `if` statement can be collapsed --> src/buffer.rs:611:17 | 611 | / if line.shape_opt().is_some() { 612 | | if line.text().contains('\t') { 613 | | line.reset_shaping(); 614 | | } 615 | | } | |_________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if = note: `#[warn(clippy::collapsible_if)]` on by default help: collapse nested if block | 611 ~ if line.shape_opt().is_some() && line.text().contains('\t') { 612 + line.reset_shaping(); 613 + } |