@@ -192,14 +192,13 @@ impl<T, const N: usize> Vec<T, N> {
192192 /// let mut v: Vec<u8, 16> = Vec::new();
193193 /// v.extend_from_slice(&[1, 2, 3]).unwrap();
194194 /// ```
195- #[ allow( clippy:: result_unit_err) ]
196- pub fn from_slice ( other : & [ T ] ) -> Result < Self , ( ) >
195+ pub fn from_slice ( other : & [ T ] ) -> Option < Self >
197196 where
198197 T : Clone ,
199198 {
200199 let mut v = Vec :: new ( ) ;
201200 v. extend_from_slice ( other) ?;
202- Ok ( v)
201+ Some ( v)
203202 }
204203
205204 /// Constructs a new vector with a fixed capacity of `N`, initializing
@@ -524,28 +523,27 @@ impl<T, S: VecStorage<T> + ?Sized> VecInner<T, S> {
524523 /// vec.extend_from_slice(&[2, 3, 4]).unwrap();
525524 /// assert_eq!(*vec, [1, 2, 3, 4]);
526525 /// ```
527- #[ allow( clippy:: result_unit_err) ]
528- pub fn extend_from_slice ( & mut self , other : & [ T ] ) -> Result < ( ) , ( ) >
526+ pub fn extend_from_slice ( & mut self , other : & [ T ] ) -> Option < ( ) >
529527 where
530528 T : Clone ,
531529 {
532530 pub fn extend_from_slice_inner < T > (
533531 len : & mut usize ,
534532 buf : & mut [ MaybeUninit < T > ] ,
535533 other : & [ T ] ,
536- ) -> Result < ( ) , ( ) >
534+ ) -> Option < ( ) >
537535 where
538536 T : Clone ,
539537 {
540538 if * len + other. len ( ) > buf. len ( ) {
541539 // won't fit in the `Vec`; don't modify anything and return an error
542- Err ( ( ) )
540+ None
543541 } else {
544542 for elem in other {
545543 unsafe { * buf. get_unchecked_mut ( * len) = MaybeUninit :: new ( elem. clone ( ) ) }
546544 * len += 1 ;
547545 }
548- Ok ( ( ) )
546+ Some ( ( ) )
549547 }
550548 }
551549
@@ -634,13 +632,12 @@ impl<T, S: VecStorage<T> + ?Sized> VecInner<T, S> {
634632 /// new_len is less than len, the Vec is simply truncated.
635633 ///
636634 /// See also [`resize_default`](Self::resize_default).
637- #[ allow( clippy:: result_unit_err) ]
638- pub fn resize ( & mut self , new_len : usize , value : T ) -> Result < ( ) , ( ) >
635+ pub fn resize ( & mut self , new_len : usize , value : T ) -> Option < ( ) >
639636 where
640637 T : Clone ,
641638 {
642639 if new_len > self . storage_capacity ( ) {
643- return Err ( ( ) ) ;
640+ return None ;
644641 }
645642
646643 if new_len > self . len {
@@ -651,7 +648,7 @@ impl<T, S: VecStorage<T> + ?Sized> VecInner<T, S> {
651648 self . truncate ( new_len) ;
652649 }
653650
654- Ok ( ( ) )
651+ Some ( ( ) )
655652 }
656653
657654 /// Resizes the `Vec` in-place so that `len` is equal to `new_len`.
@@ -661,8 +658,7 @@ impl<T, S: VecStorage<T> + ?Sized> VecInner<T, S> {
661658 /// If `new_len` is less than `len`, the `Vec` is simply truncated.
662659 ///
663660 /// See also [`resize`](Self::resize).
664- #[ allow( clippy:: result_unit_err) ]
665- pub fn resize_default ( & mut self , new_len : usize ) -> Result < ( ) , ( ) >
661+ pub fn resize_default ( & mut self , new_len : usize ) -> Option < ( ) >
666662 where
667663 T : Clone + Default ,
668664 {
@@ -1196,10 +1192,7 @@ where
11961192
11971193impl < S : VecStorage < u8 > + ?Sized > fmt:: Write for VecInner < u8 , S > {
11981194 fn write_str ( & mut self , s : & str ) -> fmt:: Result {
1199- match self . extend_from_slice ( s. as_bytes ( ) ) {
1200- Ok ( ( ) ) => Ok ( ( ) ) ,
1201- Err ( _) => Err ( fmt:: Error ) ,
1202- }
1195+ self . extend_from_slice ( s. as_bytes ( ) ) . ok_or ( fmt:: Error )
12031196 }
12041197}
12051198
@@ -1222,7 +1215,7 @@ impl<'a, T: Clone, const N: usize> TryFrom<&'a [T]> for Vec<T, N> {
12221215 type Error = ( ) ;
12231216
12241217 fn try_from ( slice : & ' a [ T ] ) -> Result < Self , Self :: Error > {
1225- Vec :: from_slice ( slice)
1218+ Vec :: from_slice ( slice) . ok_or ( ( ) )
12261219 }
12271220}
12281221
@@ -1329,7 +1322,7 @@ where
13291322 self . vec . len ( ) - self . next ,
13301323 )
13311324 } ;
1332- vec. extend_from_slice ( s) . ok ( ) ;
1325+ vec. extend_from_slice ( s) ;
13331326 }
13341327
13351328 Self { vec, next : 0 }
@@ -1843,7 +1836,7 @@ mod tests {
18431836
18441837 v. resize ( 0 , 0 ) . unwrap ( ) ;
18451838 v. resize ( 4 , 0 ) . unwrap ( ) ;
1846- v. resize ( 5 , 0 ) . expect_err ( "full" ) ;
1839+ assert ! ( v. resize( 5 , 0 ) . is_none ( ) , "full" ) ;
18471840 }
18481841
18491842 #[ test]
@@ -1923,7 +1916,7 @@ mod tests {
19231916 v. extend_from_slice ( & [ 3 ] ) . unwrap ( ) ;
19241917 assert_eq ! ( v. len( ) , 3 ) ;
19251918 assert_eq ! ( v. as_slice( ) , & [ 1 , 2 , 3 ] ) ;
1926- assert ! ( v. extend_from_slice( & [ 4 , 5 ] ) . is_err ( ) ) ;
1919+ assert ! ( v. extend_from_slice( & [ 4 , 5 ] ) . is_none ( ) ) ;
19271920 assert_eq ! ( v. len( ) , 3 ) ;
19281921 assert_eq ! ( v. as_slice( ) , & [ 1 , 2 , 3 ] ) ;
19291922 }
@@ -1936,7 +1929,7 @@ mod tests {
19361929 assert_eq ! ( v. as_slice( ) , & [ 1 , 2 , 3 ] ) ;
19371930
19381931 // Slice too large
1939- assert ! ( Vec :: <u8 , 2 >:: from_slice( & [ 1 , 2 , 3 ] ) . is_err ( ) ) ;
1932+ assert ! ( Vec :: <u8 , 2 >:: from_slice( & [ 1 , 2 , 3 ] ) . is_none ( ) ) ;
19401933 }
19411934
19421935 #[ test]
0 commit comments