@@ -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 = Self :: 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
@@ -517,28 +516,27 @@ impl<T, S: VecStorage<T> + ?Sized> VecInner<T, S> {
517516 /// vec.extend_from_slice(&[2, 3, 4]).unwrap();
518517 /// assert_eq!(*vec, [1, 2, 3, 4]);
519518 /// ```
520- #[ allow( clippy:: result_unit_err) ]
521- pub fn extend_from_slice ( & mut self , other : & [ T ] ) -> Result < ( ) , ( ) >
519+ pub fn extend_from_slice ( & mut self , other : & [ T ] ) -> Option < ( ) >
522520 where
523521 T : Clone ,
524522 {
525523 pub fn extend_from_slice_inner < T > (
526524 len : & mut usize ,
527525 buf : & mut [ MaybeUninit < T > ] ,
528526 other : & [ T ] ,
529- ) -> Result < ( ) , ( ) >
527+ ) -> Option < ( ) >
530528 where
531529 T : Clone ,
532530 {
533531 if * len + other. len ( ) > buf. len ( ) {
534532 // won't fit in the `Vec`; don't modify anything and return an error
535- Err ( ( ) )
533+ None
536534 } else {
537535 for elem in other {
538536 unsafe { * buf. get_unchecked_mut ( * len) = MaybeUninit :: new ( elem. clone ( ) ) }
539537 * len += 1 ;
540538 }
541- Ok ( ( ) )
539+ Some ( ( ) )
542540 }
543541 }
544542
@@ -627,13 +625,12 @@ impl<T, S: VecStorage<T> + ?Sized> VecInner<T, S> {
627625 /// new_len is less than len, the Vec is simply truncated.
628626 ///
629627 /// See also [`resize_default`](Self::resize_default).
630- #[ allow( clippy:: result_unit_err) ]
631- pub fn resize ( & mut self , new_len : usize , value : T ) -> Result < ( ) , ( ) >
628+ pub fn resize ( & mut self , new_len : usize , value : T ) -> Option < ( ) >
632629 where
633630 T : Clone ,
634631 {
635632 if new_len > self . capacity ( ) {
636- return Err ( ( ) ) ;
633+ return None ;
637634 }
638635
639636 if new_len > self . len {
@@ -644,7 +641,7 @@ impl<T, S: VecStorage<T> + ?Sized> VecInner<T, S> {
644641 self . truncate ( new_len) ;
645642 }
646643
647- Ok ( ( ) )
644+ Some ( ( ) )
648645 }
649646
650647 /// Resizes the `Vec` in-place so that `len` is equal to `new_len`.
@@ -654,8 +651,7 @@ impl<T, S: VecStorage<T> + ?Sized> VecInner<T, S> {
654651 /// If `new_len` is less than `len`, the `Vec` is simply truncated.
655652 ///
656653 /// See also [`resize`](Self::resize).
657- #[ allow( clippy:: result_unit_err) ]
658- pub fn resize_default ( & mut self , new_len : usize ) -> Result < ( ) , ( ) >
654+ pub fn resize_default ( & mut self , new_len : usize ) -> Option < ( ) >
659655 where
660656 T : Clone + Default ,
661657 {
@@ -1189,10 +1185,7 @@ where
11891185
11901186impl < S : VecStorage < u8 > + ?Sized > fmt:: Write for VecInner < u8 , S > {
11911187 fn write_str ( & mut self , s : & str ) -> fmt:: Result {
1192- match self . extend_from_slice ( s. as_bytes ( ) ) {
1193- Ok ( ( ) ) => Ok ( ( ) ) ,
1194- Err ( _) => Err ( fmt:: Error ) ,
1195- }
1188+ self . extend_from_slice ( s. as_bytes ( ) ) . ok_or ( fmt:: Error )
11961189 }
11971190}
11981191
@@ -1215,7 +1208,7 @@ impl<'a, T: Clone, const N: usize> TryFrom<&'a [T]> for Vec<T, N> {
12151208 type Error = ( ) ;
12161209
12171210 fn try_from ( slice : & ' a [ T ] ) -> Result < Self , Self :: Error > {
1218- Self :: from_slice ( slice)
1211+ Self :: from_slice ( slice) . ok_or ( ( ) )
12191212 }
12201213}
12211214
@@ -1322,7 +1315,7 @@ where
13221315 self . vec . len ( ) - self . next ,
13231316 )
13241317 } ;
1325- vec. extend_from_slice ( s) . ok ( ) ;
1318+ vec. extend_from_slice ( s) ;
13261319 }
13271320
13281321 Self { vec, next : 0 }
@@ -1836,7 +1829,7 @@ mod tests {
18361829
18371830 v. resize ( 0 , 0 ) . unwrap ( ) ;
18381831 v. resize ( 4 , 0 ) . unwrap ( ) ;
1839- v. resize ( 5 , 0 ) . expect_err ( "full" ) ;
1832+ assert ! ( v. resize( 5 , 0 ) . is_none ( ) , "full" ) ;
18401833 }
18411834
18421835 #[ test]
@@ -1916,7 +1909,7 @@ mod tests {
19161909 v. extend_from_slice ( & [ 3 ] ) . unwrap ( ) ;
19171910 assert_eq ! ( v. len( ) , 3 ) ;
19181911 assert_eq ! ( v. as_slice( ) , & [ 1 , 2 , 3 ] ) ;
1919- assert ! ( v. extend_from_slice( & [ 4 , 5 ] ) . is_err ( ) ) ;
1912+ assert ! ( v. extend_from_slice( & [ 4 , 5 ] ) . is_none ( ) ) ;
19201913 assert_eq ! ( v. len( ) , 3 ) ;
19211914 assert_eq ! ( v. as_slice( ) , & [ 1 , 2 , 3 ] ) ;
19221915 }
@@ -1929,7 +1922,7 @@ mod tests {
19291922 assert_eq ! ( v. as_slice( ) , & [ 1 , 2 , 3 ] ) ;
19301923
19311924 // Slice too large
1932- assert ! ( Vec :: <u8 , 2 >:: from_slice( & [ 1 , 2 , 3 ] ) . is_err ( ) ) ;
1925+ assert ! ( Vec :: <u8 , 2 >:: from_slice( & [ 1 , 2 , 3 ] ) . is_none ( ) ) ;
19331926 }
19341927
19351928 #[ test]
0 commit comments