fn parse_words(words: &mutdyn Iterator<Item = &str>) -> Option<Version> { letmut version_channel = words.next()?.split('-'); let version = version_channel.next()?; let channel = version_channel.next();
letmut digits = version.split('.'); let major = digits.next()?; if major != "1" { return None;
} let minor = digits.next()?.parse().ok()?; let patch = digits.next().unwrap_or("0").parse().ok()?;
let channel = match channel {
None => Stable,
Some("dev") => Dev,
Some(channel) if channel.starts_with("beta") => Beta,
Some("nightly") => match words.next() {
Some(hash) if hash.starts_with('(') => match words.next() {
None if hash.ends_with(')') => Dev,
Some(date) if date.ends_with(')') => { letmut date = date[..date.len() - 1].split('-'); let year = date.next()?.parse().ok()?; let month = date.next()?.parse().ok()?; let day = date.next()?.parse().ok()?; match date.next() {
None => Nightly(Date { year, month, day }),
Some(_) => return None,
}
}
None | Some(_) => return None,
},
Some(_) => return None,
None => Dev,
},
Some(_) => return None,
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.