From 8b0ae3d27912799d59e4948ff11d3a5428e32ce4 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Sat, 25 Nov 2023 04:55:49 -0800 Subject: bump MSRV to 1.70.0 (#8877) * rust-toolchain.toml: bump MSRV to 1.70.0 With Firefox 120 released on 21 November 2023, the MSRV is now 1.70.0. * Fix cargo fmt with Rust 1.70.0 * Fix cargo clippy with Rust 1.70.0 * Fix cargo doc with Rust 1.70.0 * rust-toolchain.toml: add clippy component * .github: bump dtolnay/rust-toolchain to 1.70 * helix-term: bump rust-version to 1.70 * helix-view/gutter: use checked_ilog10 to count digits * helix-core/syntax: use MAIN_SEPARATOR_STR constant * helix-view/handlers/dap: use Display impl for displaying process spawn error * WIP: helix-term/commands: use checked math to assert ranges cannot overlap--- helix-view/src/editor.rs | 11 +++-------- helix-view/src/gutter.rs | 3 +-- helix-view/src/handlers/dap.rs | 4 +--- 3 files changed, 5 insertions(+), 13 deletions(-) (limited to 'helix-view/src') diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs index 7af28ccc..5a81cb5d 100644 --- a/helix-view/src/editor.rs +++ b/helix-view/src/editor.rs @@ -727,7 +727,7 @@ pub struct WhitespaceCharacters { impl Default for WhitespaceCharacters { fn default() -> Self { Self { - space: '·', // U+00B7 + space: '·', // U+00B7 nbsp: '⍽', // U+237D tab: '→', // U+2192 newline: '⏎', // U+23CE @@ -755,12 +755,13 @@ impl Default for IndentGuidesConfig { } /// Line ending configuration. -#[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Default, Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "lowercase")] pub enum LineEndingConfig { /// The platform's native line ending. /// /// `crlf` on Windows, otherwise `lf`. + #[default] Native, /// Line feed. LF, @@ -777,12 +778,6 @@ pub enum LineEndingConfig { Nel, } -impl Default for LineEndingConfig { - fn default() -> Self { - LineEndingConfig::Native - } -} - impl From for LineEnding { fn from(line_ending: LineEndingConfig) -> Self { match line_ending { diff --git a/helix-view/src/gutter.rs b/helix-view/src/gutter.rs index 397dff4f..ebdac9e2 100644 --- a/helix-view/src/gutter.rs +++ b/helix-view/src/gutter.rs @@ -9,8 +9,7 @@ use crate::{ }; fn count_digits(n: usize) -> usize { - // TODO: use checked_log10 when MSRV reaches 1.67 - std::iter::successors(Some(n), |&n| (n >= 10).then_some(n / 10)).count() + (usize::checked_ilog10(n).unwrap_or(0) + 1) as usize } pub type GutterFn<'doc> = Box Option