Skip to main content

TextileData

Struct TextileData 

Source
pub struct TextileData {
Show 26 fields pub gtin: Gtin, pub fibre_composition: Vec<FibreEntry>, pub country_of_origin: String, pub care_instructions: String, pub chemical_compliance_standard: String, pub recycled_content_pct: Option<f64>, pub carbon_footprint_kg_co2e: Option<f64>, pub water_use_litres: Option<f64>, pub microplastic_shedding_mg_per_wash: Option<f64>, pub repair_score: Option<f64>, pub durability_score: Option<f64>, pub expected_wash_cycles: Option<u32>, pub country_of_raw_material_origin: Option<String>, pub svhc_substances: Option<Vec<SvhcSubstance>>, pub allergens: Option<Vec<String>>, pub substances_of_concern: Option<Vec<String>>, pub recyclability_class: Option<String>, pub end_of_life_instructions: Option<String>, pub reuse_condition: Option<String>, pub prior_use_cycles: Option<u32>, pub disassembly_instructions: Option<String>, pub spare_parts_available: Option<bool>, pub product_weight_grams: Option<f64>, pub repair_history_url: Option<String>, pub repair_count: Option<u32>, pub pef_score: Option<f64>,
}
Expand description

Textile-specific fields for EU textile DPP compliance.

Based on the anticipated EU Textile DPP delegated act (~Q2 2027 adoption). Fields marked as Option are optional under v1.0.0 but may become mandatory once the delegated act is finalised.

Fields§

§gtin: Gtin

14-digit GTIN identifying the textile product.

§fibre_composition: Vec<FibreEntry>

List of fibres and their percentage composition. Must sum to ~100%.

§country_of_origin: String

ISO 3166-1 alpha-2 country code where the textile was manufactured.

§care_instructions: String

ISO 3758 care symbols or free text care instructions.

§chemical_compliance_standard: String

Chemical compliance standard, e.g. "OEKO-TEX 100", "REACH", "GOTS".

§recycled_content_pct: Option<f64>

Total recycled content as a percentage of total weight (0.0–100.0).

§carbon_footprint_kg_co2e: Option<f64>

Carbon footprint in kg CO₂e per unit.

§water_use_litres: Option<f64>

Water consumption in litres per unit produced.

§microplastic_shedding_mg_per_wash: Option<f64>

Microplastic fibre shedding in milligrams per wash cycle.

Measured per ISO/DIS 4484 or equivalent. Relevant for synthetic textiles where microplastic release is a growing regulatory concern.

§repair_score: Option<f64>

Repairability score (0.0–10.0) per EU methodology.

§durability_score: Option<f64>

Durability score (0.0–10.0) measuring resistance to pilling, colour fastness, dimensional stability, and seam strength.

§expected_wash_cycles: Option<u32>

Expected number of wash cycles before significant quality degradation.

§country_of_raw_material_origin: Option<String>

ISO 3166-1 alpha-2 country of raw material origin (product-level fallback). Per-fibre origin on FibreEntry.country_of_origin takes precedence when present.

§svhc_substances: Option<Vec<SvhcSubstance>>

List of SVHC substances present above the 0.1% w/w threshold.

Required by REACH Article 33 and linked to the ECHA SCIP database. An empty vec means the manufacturer has checked and found no SVHCs. None means the check has not yet been performed.

§allergens: Option<Vec<String>>

Allergens or sensitising substances present in the textile. Covers contact allergens regulated under REACH Annex XVII entry 72 (e.g. certain disperse dyes, chromium VI, nickel in accessories).

§substances_of_concern: Option<Vec<String>>

Restricted substances present that are not classified as SVHC but are regulated under sector-specific rules (e.g. PFASs, flame retardants, biocides). Each entry is a free-text substance identifier.

§recyclability_class: Option<String>

Recyclability classification, e.g. "mono-material", "multi-material", "not-recyclable". Based on design-for-recycling assessment.

§end_of_life_instructions: Option<String>

End-of-life instructions: how to dispose of or recycle the product. Free text or URL pointing to take-back/collection point information.

§reuse_condition: Option<String>

Whether the product has been refurbished or reused, and if so its condition grade (e.g. "like-new", "good", "fair").

§prior_use_cycles: Option<u32>

Number of prior ownership cycles (0 for new products).

§disassembly_instructions: Option<String>

Free-text or structured disassembly / deconstruction instructions. Classified Disclosure::Restricted (Verifiable Credential required).

§spare_parts_available: Option<bool>

Whether spare parts or replacement components are available from the manufacturer.

§product_weight_grams: Option<f64>

Product net weight in grams (used for per-unit environmental calculations).

§repair_history_url: Option<String>

URL or structured log of repair events performed on this specific item. Relevant for products sold with a repair history (e.g. certified pre-owned programmes).

§repair_count: Option<u32>

Number of completed professional repairs on this item.

§pef_score: Option<f64>

Environmental impact score per garment lifecycle (PEF/OEF methodology). Dimensionless single score aggregating multiple impact categories.

Trait Implementations§

Source§

impl Clone for TextileData

Source§

fn clone(&self) -> TextileData

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TextileData

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for TextileData

Source§

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 TextileData

Source§

fn eq(&self, other: &TextileData) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for TextileData

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for TextileData

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more