Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,7 @@ impl NamedCharset {
name,
bytes,
// SAFETY: The named charset is guaranteed to have only ascii bytes.
// TODO: replace with `.unwrap()`, when `Option::unwrap` will be stable in `const fn`
// https://github.com/rust-lang/rust/issues/67441
ascii_char_set: match AsciiCharSet::from_bytes(bytes) {
Some(ascii_char_set) => ascii_char_set,
None => unreachable!(),
},
ascii_char_set: AsciiCharSet::from_bytes(bytes).unwrap(),
}
}
}
Expand Down
15 changes: 3 additions & 12 deletions crates/ruff_source_file/src/line_index.rs
Original file line number Diff line number Diff line change
Expand Up @@ -562,11 +562,11 @@ pub struct OneIndexed(NonZeroUsize);

impl OneIndexed {
/// The largest value that can be represented by this integer type
pub const MAX: Self = unwrap(Self::new(usize::MAX));
pub const MAX: Self = Self::new(usize::MAX).unwrap();
// SAFETY: These constants are being initialized with non-zero values
/// The smallest value that can be represented by this integer type.
pub const MIN: Self = unwrap(Self::new(1));
pub const ONE: NonZeroUsize = unwrap(NonZeroUsize::new(1));
pub const MIN: Self = Self::new(1).unwrap();
pub const ONE: NonZeroUsize = NonZeroUsize::new(1).unwrap();

/// Creates a non-zero if the given value is not zero.
pub const fn new(value: usize) -> Option<Self> {
Expand Down Expand Up @@ -636,15 +636,6 @@ impl fmt::Display for OneIndexed {
}
}

/// A const `Option::unwrap` without nightly features:
/// [Tracking issue](https://github.com/rust-lang/rust/issues/67441)
const fn unwrap<T: Copy>(option: Option<T>) -> T {
match option {
Some(value) => value,
None => panic!("unwrapping None"),
}
}

impl FromStr for OneIndexed {
type Err = ParseIntError;
fn from_str(s: &str) -> Result<Self, Self::Err> {
Expand Down
Loading