File tree Expand file tree Collapse file tree 1 file changed +7
-10
lines changed Expand file tree Collapse file tree 1 file changed +7
-10
lines changed Original file line number Diff line number Diff line change @@ -25,13 +25,14 @@ impl FromStr for StupidVersion {
25
25
type Err = anyhow:: Error ;
26
26
27
27
fn from_str ( s : & str ) -> Result < Self , Self :: Err > {
28
- let mut ver_str = s
28
+ let ver_str = s
29
29
. strip_prefix ( "git version " )
30
30
. ok_or_else ( || anyhow ! ( "failed to parse git version" ) ) ?;
31
31
32
- if let Some ( ( triplet, _extra) ) = ver_str. split_once ( ' ' ) {
33
- ver_str = triplet;
34
- } ;
32
+ let ver_str = ver_str
33
+ . split_once ( ' ' )
34
+ . map ( |( ver_str, _supplement) | ver_str)
35
+ . unwrap_or ( ver_str) ;
35
36
36
37
let ( dotted, extra) = if let Some ( ( dotted, extra) ) = ver_str. split_once ( '-' ) {
37
38
( dotted, Some ( extra. to_string ( ) ) )
@@ -97,12 +98,8 @@ mod tests {
97
98
) ,
98
99
] {
99
100
let version_str = format ! ( "git version {version_str}" ) ;
100
- assert_eq ! (
101
- version,
102
- version_str
103
- . parse:: <StupidVersion >( )
104
- . unwrap_or_else( |_| panic!( "{}" , version_str) )
105
- ) ;
101
+ let parsed_version = version_str. parse :: < StupidVersion > ( ) . expect ( & version_str) ;
102
+ assert_eq ! ( version, parsed_version) ;
106
103
}
107
104
}
108
105
You can’t perform that action at this time.
0 commit comments