File tree Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Original file line number Diff line number Diff line change @@ -114,11 +114,14 @@ impl FromStr for LlvmVersion {
114
114
let mut parts = s
115
115
. split ( '.' )
116
116
. map ( |part| -> Result < u64 , LlvmVersionParseError > {
117
- match part. as_bytes ( ) {
118
- // check for at least 2 characters to avoid erroring on "0"
119
- [ b'0' , _, ..] => Err ( LlvmVersionParseError :: ComponentMustNotHaveLeadingZeros ) ,
120
- [ b'-' , ..] | [ b'+' , ..] => Err ( LlvmVersionParseError :: ComponentMustNotHaveSign ) ,
121
- _ => Ok ( part. parse ( ) ?) ,
117
+ if part == "0" {
118
+ Ok ( 0 )
119
+ } else if part. starts_with ( '0' ) {
120
+ Err ( LlvmVersionParseError :: ComponentMustNotHaveLeadingZeros )
121
+ } else if part. starts_with ( '-' ) || part. starts_with ( '+' ) {
122
+ Err ( LlvmVersionParseError :: ComponentMustNotHaveSign )
123
+ } else {
124
+ Ok ( part. parse ( ) ?)
122
125
}
123
126
} ) ;
124
127
let major = parts. next ( ) . unwrap ( ) ?;
You can’t perform that action at this time.
0 commit comments