pub struct RepairabilityIndexDeclaration {
pub disassembly_depth: PriorityPartScores,
pub fasteners: PriorityPartScores,
pub tools: PriorityPartScores,
pub spare_parts: u8,
pub software_updates: u8,
pub repair_information: u8,
}Expand description
The complete Annex IV point 5 input set for one smartphone or slate tablet.
Three part-level parameters carrying per-part scores, and three product-level parameters that are single 1–5 scores. Every rubric below is Annex IV’s.
Fields§
§disassembly_depth: PriorityPartScoresSDD — disassembly depth, scored per part from the number of steps: ≤2 steps scores 5, >15 steps scores 1.
Annex IV’s counting rules apply, including the five-step penalty where reassembly needs a remote serial-number authorisation.
fasteners: PriorityPartScoresSF — fasteners: reusable 5, resupplied 3, removable 1.
tools: PriorityPartScoresST — tools: none 5, basic 4, supplied with the spare part 3, supplied with the product 2, commercially available 1.
spare_parts: u8SSP — spare-part availability, product level, 1–5.
software_updates: u8SSU — operating-system update duration, product level: ≥7 years scores 5, 6 years scores 3, 5 years scores 1.
repair_information: u8SRI — repair-information availability, product level, 1–5.
Implementations§
Source§impl RepairabilityIndexDeclaration
impl RepairabilityIndexDeclaration
Sourcepub const fn foldable_is_consistent(&self) -> bool
pub const fn foldable_is_consistent(&self) -> bool
Whether the three part-level parameters agree on whether the product folds.
Annex IV selects between two weight sets on the presence of the hinge assembly, so a declaration scoring FM under one parameter and omitting it under another does not describe any product the annex can grade. Checked rather than assumed, because the failure is silent: the index would be computed against whichever weight set the first parameter happened to suggest.
Sourcepub fn scores_are_in_range(&self) -> bool
pub fn scores_are_in_range(&self) -> bool
Whether every score, part-level and product-level, is within 1–5.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RepairabilityIndexDeclaration
impl<'de> Deserialize<'de> for RepairabilityIndexDeclaration
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>,
impl Eq for RepairabilityIndexDeclaration
impl StructuralPartialEq for RepairabilityIndexDeclaration
Auto Trait Implementations§
impl Freeze for RepairabilityIndexDeclaration
impl RefUnwindSafe for RepairabilityIndexDeclaration
impl Send for RepairabilityIndexDeclaration
impl Sync for RepairabilityIndexDeclaration
impl Unpin for RepairabilityIndexDeclaration
impl UnsafeUnpin for RepairabilityIndexDeclaration
impl UnwindSafe for RepairabilityIndexDeclaration
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
key and return true if they are equal.