Skip to content

Commit 848b50d

Browse files
don't match on a slice for compatability with old rustc versions
1 parent f55fae8 commit 848b50d

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/lib.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,14 @@ impl FromStr for LlvmVersion {
114114
let mut parts = s
115115
.split('.')
116116
.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()?)
122125
}
123126
});
124127
let major = parts.next().unwrap()?;

0 commit comments

Comments
 (0)