@@ -93,7 +93,7 @@ impl MacAddr {
93
93
}
94
94
95
95
/// Create a `MacAddr` from a slice.
96
- /// An error will occur if the slice length is different from `MAC_ADDR_LEN`.
96
+ /// This method will return None if the slice length is different from `MAC_ADDR_LEN`.
97
97
/// # Arguments
98
98
///
99
99
/// * `src` - slice from which to copy MAC address content.
@@ -105,11 +105,11 @@ impl MacAddr {
105
105
/// println!("{}", mac.to_string());
106
106
/// ```
107
107
#[ inline]
108
- pub fn from_bytes ( src : & [ u8 ] ) -> Result < MacAddr , ( ) > {
108
+ pub fn from_bytes ( src : & [ u8 ] ) -> Option < MacAddr > {
109
109
if src. len ( ) != MAC_ADDR_LEN {
110
- return Err ( ( ) ) ;
110
+ return None ;
111
111
}
112
- Ok ( MacAddr :: from_bytes_unchecked ( src) )
112
+ Some ( MacAddr :: from_bytes_unchecked ( src) )
113
113
}
114
114
115
115
/// Return the underlying content of this `MacAddr` in bytes.
@@ -177,12 +177,12 @@ mod tests {
177
177
let src2 = [ 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 ] ;
178
178
let src3 = [ 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 ] ;
179
179
180
- assert ! ( MacAddr :: from_bytes( & src1[ ..] ) . is_err ( ) ) ;
180
+ assert ! ( MacAddr :: from_bytes( & src1[ ..] ) . is_none ( ) ) ;
181
181
182
182
let x = MacAddr :: from_bytes ( & src2[ ..] ) . unwrap ( ) ;
183
183
assert_eq ! ( x. to_string( ) , String :: from( "01:02:03:04:05:06" ) ) ;
184
184
185
- assert ! ( MacAddr :: from_bytes( & src3[ ..] ) . is_err ( ) ) ;
185
+ assert ! ( MacAddr :: from_bytes( & src3[ ..] ) . is_none ( ) ) ;
186
186
}
187
187
188
188
#[ test]
0 commit comments