#[non_exhaustive]pub enum CraProductClass {
Default,
ImportantClass1,
ImportantClass2,
Critical,
}Expand description
CRA product class per Regulation (EU) 2024/2847 Annex III/IV.
The class drives the conformity-assessment route and the severity calibration of compliance checks (per CRA-P3.2 calibration table): stricter classes upgrade Warning→Error and add EUCC / attestation expectations.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Default
Default — neither Annex III nor Annex IV. Module A self-assessment.
ImportantClass1
Annex III items 1–11 (Important Class I). Module A or B+C.
ImportantClass2
Annex III items 12–17 (Important Class II). Module B+C, H, or EUCC.
Critical
Annex IV (Critical). EUCC mandatory.
Implementations§
Source§impl CraProductClass
impl CraProductClass
Sourcepub fn parse_cli(s: &str) -> Option<Self>
pub fn parse_cli(s: &str) -> Option<Self>
Parse from the CLI-friendly kebab-case form. Accepts a few aliases.
Sourcepub const fn default_route(self) -> ConformityRoute
pub const fn default_route(self) -> ConformityRoute
The conformity-assessment route the regulation expects (or strictly requires) for this class. Manufacturers may choose a stricter route.
Trait Implementations§
Source§impl Clone for CraProductClass
impl Clone for CraProductClass
Source§fn clone(&self) -> CraProductClass
fn clone(&self) -> CraProductClass
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CraProductClass
impl Debug for CraProductClass
Source§impl<'de> Deserialize<'de> for CraProductClass
impl<'de> Deserialize<'de> for CraProductClass
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for CraProductClass
impl PartialEq for CraProductClass
Source§fn eq(&self, other: &CraProductClass) -> bool
fn eq(&self, other: &CraProductClass) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for CraProductClass
impl Serialize for CraProductClass
impl Copy for CraProductClass
impl Eq for CraProductClass
impl StructuralPartialEq for CraProductClass
Auto Trait Implementations§
impl Freeze for CraProductClass
impl RefUnwindSafe for CraProductClass
impl Send for CraProductClass
impl Sync for CraProductClass
impl Unpin for CraProductClass
impl UnsafeUnpin for CraProductClass
impl UnwindSafe for CraProductClass
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more