pub enum Err {
Len,
Prefix,
DuplicateName,
UnknownName,
UnknownMetric,
MissingMandatoryMetrics,
UnknownSeverity,
InvalidMacroVector,
UnknownVersion,
UnknownNomenclature,
}Expand description
Parse or conversion error.
§Examples
Try to parse an invalid vector string:
// try to parse invalid vector string, then the check result
assert_eq!("asdf".parse::<Vector>(), Err(Err::Len));Convert an Err to a printable string:
assert_eq!(Err::DuplicateName.to_string(), "Vector string contains a duplicate metric name");Variants§
Len
String is too short to contain a CVSS vector string.
§Example
// parse invalid string as vector, then check result
assert_eq!("asdf".parse::<Vector>(), Err(Err::Len));Prefix
String does not begin with a CVSS: prefix.
§Example
// parse invalid string as vector, then check result
assert_eq!("CVSS:foo/".parse::<Vector>(), Err(Err::Prefix));DuplicateName
Vector string contains a duplicate metric name.
§Example
// parse invalid string as vector, then check result
assert_eq!("CVSS:4.0/AV:N/AV:N".parse::<Vector>(), Err(Err::DuplicateName));UnknownName
Unknown metric name.
§Example
// parse unknown metric name, check result
assert_eq!("asdf".parse::<Name>(), Err(Err::UnknownName));UnknownMetric
Vector string contains an unknown metric.
§Example
// parse vector string with unknown metric value, then check result
assert_eq!("CVSS:4.0/AV:Z".parse::<Vector>(), Err(Err::UnknownMetric));
// parse vector string with unknown metric name, then check result
assert_eq!("CVSS:4.0/ZZ:Z".parse::<Vector>(), Err(Err::UnknownMetric));MissingMandatoryMetrics
Vector string is missing mandatory metrics.
§Example
// vector string missing mandatory metric
let s = "CVSS:4.0/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H";
// parse string, check result
assert_eq!(s.parse::<Vector>(), Err(Err::MissingMandatoryMetrics));UnknownSeverity
Unknown severity name.
§Example
// vector string missing mandatory metric
let s = "asdf";
// parse string, check result
assert_eq!(s.parse::<Severity>(), Err(Err::UnknownSeverity));InvalidMacroVector
Invalid v4::MacroVector digit.
A digit of a v4::MacroVector is out of range.
§Example
// parse unknown CVSS version, check result
assert_eq!(MacroVector::try_from(123456), Err(Err::InvalidMacroVector));UnknownVersion
Unknown CVSS version.
§Example
// parse unknown CVSS version, check result
assert_eq!("asdf".parse::<Version>(), Err(Err::UnknownVersion));UnknownNomenclature
Unknown v4::Nomenclature.
§Example
// parse unknown CVSS v4 nomenclature, check result
assert_eq!("asdf".parse::<Nomenclature>(), Err(Err::UnknownNomenclature));Trait Implementations§
impl Copy for Err
impl Eq for Err
impl StructuralPartialEq for Err
Auto Trait Implementations§
impl Freeze for Err
impl RefUnwindSafe for Err
impl Send for Err
impl Sync for Err
impl Unpin for Err
impl UnwindSafe for Err
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more