mirror of
				https://github.com/astral-sh/ruff.git
				synced 2025-10-31 12:05:57 +00:00 
			
		
		
		
	Option::unwrap is now const (#20007)
				
					
				
			Summary -- I noticed while working on #20006 that we had a custom `unwrap` function for `Option`. This has been const on stable since 1.83 ([docs](https://doc.rust-lang.org/std/option/enum.Option.html#method.unwrap), [release notes](https://blog.rust-lang.org/2024/11/28/Rust-1.83.0/)), so I think it's safe to use now. I grepped a bit for related todos and found this one for `AsciiCharSet` but no others. Test Plan -- Existing tests
This commit is contained in:
		
							parent
							
								
									ddd4bab67c
								
							
						
					
					
						commit
						1a38831d53
					
				
					 2 changed files with 4 additions and 18 deletions
				
			
		|  | @ -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> { | ||||
|  | @ -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> { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Brent Westbrook
						Brent Westbrook