pub struct Vehicle {Show 29 fields
pub vin: String,
pub wmi: String,
pub make: Option<String>,
pub model: Option<String>,
pub series: Option<String>,
pub trim: Option<String>,
pub model_year: Option<u32>,
pub body_class: Option<BodyClass>,
pub fuel_primary: Option<FuelType>,
pub fuel_secondary: Option<FuelType>,
pub doors: Option<u8>,
pub engine_cylinders: Option<u8>,
pub engine_model: Option<String>,
pub engine_configuration: Option<String>,
pub engine_manufacturer: Option<String>,
pub displacement_l: Option<f32>,
pub turbo: Option<bool>,
pub drive_type: Option<String>,
pub transmission: Option<String>,
pub battery_type: Option<String>,
pub charger_level: Option<String>,
pub ev_drive_unit: Option<String>,
pub brake_system: Option<String>,
pub gvwr: Option<String>,
pub plant_country: Option<String>,
pub plant_city: Option<String>,
pub plant_state: Option<String>,
pub manufacturer: Option<String>,
pub region: Option<String>,
}Expand description
Fully decoded vehicle attributes derived from a single VIN.
Every field is Option<_> — vPIC coverage is uneven, especially for
non-US-market vehicles. Always check what you got before unwrapping.
Fields§
§vin: StringOriginal VIN string (uppercase).
wmi: StringWorld Manufacturer Identifier (first 3 chars of the VIN).
make: Option<String>Make name (e.g. "Honda").
model: Option<String>Model name (e.g. "Civic").
series: Option<String>Series identifier (sometimes used as a finer model variant).
trim: Option<String>Trim level / package.
model_year: Option<u32>Model year (1980-2039, decoded from year code + position-7 disambiguator).
body_class: Option<BodyClass>Body style category.
fuel_primary: Option<FuelType>Primary fuel type.
fuel_secondary: Option<FuelType>Secondary fuel type (set on hybrids, dual-fuel).
doors: Option<u8>Door count.
engine_cylinders: Option<u8>Engine cylinder count.
engine_model: Option<String>Engine model designation.
engine_configuration: Option<String>Engine configuration (e.g. "V", "In-Line").
engine_manufacturer: Option<String>Engine manufacturer.
displacement_l: Option<f32>Displacement in liters.
turbo: Option<bool>Whether the engine is turbocharged.
drive_type: Option<String>Drive type (e.g. "FWD", "AWD").
transmission: Option<String>Transmission style.
battery_type: Option<String>Battery type (EV / hybrid).
charger_level: Option<String>On-board charger level (EV).
ev_drive_unit: Option<String>EV drive unit configuration.
brake_system: Option<String>Brake system type.
gvwr: Option<String>Gross vehicle weight rating.
plant_country: Option<String>Plant country.
plant_city: Option<String>Plant city.
plant_state: Option<String>Plant state/province.
manufacturer: Option<String>Manufacturer name (often differs from make for OEM/coachbuilders).
region: Option<String>Continental region derived from the first VIN character (Africa/Asia/Europe/etc).
Trait Implementations§
impl StructuralPartialEq for Vehicle
Auto Trait Implementations§
impl Freeze for Vehicle
impl RefUnwindSafe for Vehicle
impl Send for Vehicle
impl Sync for Vehicle
impl Unpin for Vehicle
impl UnsafeUnpin for Vehicle
impl UnwindSafe for Vehicle
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.