NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2835 most downloaded on crates.io
Units of measurement
Last release 7 months ago
14 Feb 2026
Ships fairly regularly
a new release about every 5 months
Nearly every release is documented
notes for 34 of 34 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
34 releases · first in 2017
The release contains a breaking change to remove unnecessary unit struct fields from Units enum variants. Affected code can be updated by removing the…
This release adds new quantities, new units, compile time improvements, resolves regressions introduced in v0.37.0, and bumps the MSRV (minimum supported Rust version) to 1.68.0.
The release contains a breaking change to remove unnecessary unit struct fields from Units enum
variants. Affected code can be updated by removing the unit struct when using the enum.
- assert_eq!("km", length::Units::kilometer(kilometer).abbreviation());
+ assert_eq!("km", length::Units::kilometer.abbreviation());
The next release of uom will remove the long deprecated use_serde feature. The serde feature
should be used in it's place.
Many thanks to elongatedsquid, gdtroszak, Jonahbell, jschillem, nnethercote, portyanikhin, TheComamba, and Turbo87 for pull requests included and issues resolved in this release.
CompressibilityCoefficient quantity.Illuminance quantity.Length, Area,
Volume, and Mass.watt_hour_per_square_meter unit to
RadiantExposure.data_mile unit to Length.1.68.0. Newer versions of serde_json require the update.serde_core instead of serde.Units enum variants. The unit struct fields were never used beyond construction.astronomical_unit precision.unit! macro to be able to be used in
foreign crates when running tests. Correct CI tests to run for all targets to detect future
regressions.rustfmt,
clippy, and tarpaulin jobs. Numerous lint warnings resolved.doc_example! to properly
run/ignore documentation tests and no longer generate unexpected cfg condition compiler warnings.square_mile, square_yard, and derived units.tests module.One column per quarter.
This release adds new quantities, new units, updates uom to 2021 edition, and fixes bitrot exposed by the latest tools.
This release adds new quantities, new units, updates uom to 2021 edition, and fixes bitrot exposed by the latest tools.
Many thanks to aevyrie, boondocklabs, caspermeijn, cutlerjake, elsandosgrande, mkdjr, Netzwerk2, nsunderland1, and portyanikhin for pull requests included and issues resolved in this release.
AngularMomentum quantity.ton_long_per_cubic_foot and ton_short_per_cubic_foot units to MassDensity.SpecificVolume.inch_per_minute unit to Velocity.SurfaceTension quantity.KinematicViscosity quantity.gram_force unit to Force.rustfmt, clippy, and tarpaulin jobs.TypeId checks with Conversion::is_valid calls.MassPerEnergy.InverseVelocity.unexpected_cfg warnings caused by cfg references in macro-generated code.cargo-clippy/clippy feature usage for --check-cfg.clippy empty docs warnings.This release adds new quantities, new units, bumps the MSRV (minimum supported Rust version) to 1.65.0, and fixes bitrot in Github actions.
This release adds new quantities, new units, bumps the MSRV (minimum supported Rust version) to 1.65.0, and fixes bitrot in Github actions.
Many thanks to Aehmlo, Code-Maniac, baarkerlounger, g1aeder, hellow554, igiona, waywardmonkeys, and yacinelakel for pull requests included and issues resolved in this release.
minute_per_kilometer unit to InverseVelocity.serde feature. The new serde feature deprecates the old use_serde feature which is now an alias for serde and will be removed in a future uom release.ArealHeatCapacity quantity.ThermalResistance quantity.Conversion documentation for converting to and from the base unit.Cargo.toml rust-version key to identify the MSRV (minimum supported Rust version).Cargo.lock to pin certain crates to specific versions that support uom's MSRV (minimum supported Rust version).1.65.0. No changes in this release require the new MSRV.checkout and cache actions to v4.rustfmt, clippy, and tarpaulin jobs.rustc and clippy warnings.This release adds new quantities, bumps the MSRV (minimum supported Rust version) to 1.60.0, and fixes bitrot in Github actions.
This release adds new quantities, bumps the MSRV (minimum supported Rust version) to 1.60.0, and
fixes bitrot in Github actions.
Many thanks to calbaker, groscoe2, professoralex13, robinohs, and Uzaaft for pull requests included and issues resolved in this release.
cubic_meter_per_minute and cubic_meter_per_hour units to VolumeRate.AngularAbsement quantity.MassPerEnergy quantity.ThermalConductance meter_per units to be meter_squared_per. Descriptions and abbreviations were already correct.PowerRate quantity.InverseVelocity quantity.dtolnay/rust-toolchain. actions-rs is no longer maintained.1.60.0. No changes in this release require the new MSRV.This release adds a significant number of new quantities and units as well as a few minor fixes.
This release adds a significant number of new quantities and units as well as a few minor fixes.
Many thanks to adamreichold, calbaker, Eagle941, jossriLDR, swaits, Uzaaft werdahias, and zdimension for pull requests included and issues resolved in this release. Special thanks to crystal-growth for the thirty nine pull requests included in this release.
particle units to AmountOfSubstance, CatalyticActivity, CatalyticActivityConcentration, MolarConcentration, MolarEnergy, and MolarHeatCapacity quantities.MolarFlux quantity.DiffusionCoefficient quantity.DynamicViscosity quantity.Action quantity.ElectricField quantity.ElectricDipoleMoment and ElectricQuadrupoleMoment quantities.ElectricalMobility quantity.ElectricalResistivity quantity.ElectricalConductivity quantity.ElectricPermittivity quantity.ElectricCurrentDensity quantity.ArealNumberDensity, LinearNumberDensity, and VolumetricNumberDensity quantities.ReciprocalLength quantity.MassFlux quantity.MagneticPermeability quantity.ArealNumberRate, LinearNumberRate, and VolumetricNumberRate quantities.ArealMassDensity, LinearMassDensity, and VolumetricMassDensity quantities.SurfaceElectricCurrentDensity quantity.MagneticMoment quantity.ElectricChargeArealDensity, ElectricChargeLinearDensity, and ElectricChargeVolumetricDensity quantities.ElectricDisplacementField quantity.MagneticFieldStrength quantity.MolarVolume quantity.ElectricFlux quantity.TemperatureGradient quantity.LinearPowerDensity and VolumetricPowerDensity quantities as well as additional HeatFluxDensity units.standard_gravity unit to Acceleration.SpecificArea and SpecificVolume quantities.boltzmann_constant unit to HeatCapacity and molar_gas_constant unit to MolarHeatCapacity.TemperatureCoefficient quantity.ArealDensityOfStates, LinearDensityOfStates, and VolumetricDensityOfStates quantities.MomentOfInertia quantity.AmountOfSubstance and CatalyticActivity.atomic_unit_of_velocity, natural_unit_of_velocity and speed_of_light_in_vacuum units to Velocity.Radioactivity, MolarRadioactivity, and SpecificRadioactivity as well as additional VolumetricNumberRate units.VolumetricHeatCapacity quantity as well as additional HeatCapacity and SpecificHeatCapacity units.Molality quantity.FrequencyDrift quantity.SpecificPower quantity.liter per minute unit to VolumeRate and newton per square millimeter unit to Pressure.ton_per_minute, ton_per_hour, and ton_per_day units to MassRate.ThermalConductance quantity.This release adds one new quantity, Absement . Two new underlying storage types, Complex32 and Complex64 . Eight new exponential and logarithmic funct
This release adds one new quantity, Absement. Two new underlying storage types, Complex32 and Complex64. Eight new exponential and logarithmic functions on Ratio and changes to use #[must_use] and #[non_exhaustive].
Many thanks to adamreichold, gonzaponte, jacg, nick-pascucci-spire, and TobTobXX for pull requests included and issues resolved in this release.
Absement quantity added.Complex32 and Complex64 as underlying storage types.exp2, exp_m1, exp, ln_1p, ln, log10, log2, and log for Ratio.#[must_use] on all methods returning a value. must_use_candidate and return_self_not_must_use clippy lints are now enabled to ensure future methods include the attribute.serde for big* and rational* underlying storage types.#[non_exhaustive] on Units enums. The #[doc(hidden)] __nonexhaustive trick is not longer used.This release adds one new quantity, MolarHeatCapacity , a new trait, ConstZero , and many internal improvements. The quickcheck 1.0 update uncovered a
This release adds one new quantity, MolarHeatCapacity, a new trait, ConstZero, and many internal improvements. The quickcheck 1.0 update uncovered a number of issues with floating point precision that were able to be resolved while still maintaining zero-cost guarantees.
Many thanks to adamreichold, B-Reif, remilauzier, and T-Bakker for pull requests included and issues resolved in this release.
RUSTFLAGS="-D warnings" in CI to ensure that rustc warnings and caught and fail their respective workflows.Conversion::into_conversion to Conversion::conversion. Name change resolves Clippy wrong_self_convention warnings.rustc version to 1.43.0. Required to support quickcheck 1.0.quickcheck 1.0. Change required the MSRV update as well as refactoring from_base, to_base, and multiple tests. The from_base and to_base changes provide better floating point precision while still maintaining zero-cost guarantees. The test changes better handle floating point precision issues as well as the wider range of values generated by quickcheck 1.0's Arbitrary implementation.powi documentation.try-from feature. The feature will be removed in a future release of uom. Functionality previously exposed by the feature is now enabled by default.This release corrects documentation issues and documents fewer underlying storage types on docs.rs so that container time and memory limits are not ex
This release corrects documentation issues and documents fewer underlying storage types on docs.rs so that container time and memory limits are not exceeded.
rustdoc as part of tool checks and resolve previously ignored warnings.This release adds a new macro, unit! , to allow for units to be defined outside of the quantity! macro as well as a Units enum for each quantity. A nu
This release adds a new macro, unit!, to allow for units to be defined outside of the quantity! macro as well as a Units enum for each quantity. A number of standard library traits are implemented. Build regressions caused by issues with the CI system and changes in Rust are now fixed.
Many thanks to bheisler, CreepySkeleton, DusterTheFirst, Lucretiel, and neoeinstein for pull requests included and issues resolved in this release.
unit! outside of quantity!. When using the pre-built SI system included with uom this macro allows for new units to quickly be defined without requiring a release. Pull requests to add new units upstream area always greatly appreciated.Units enum and fn units() -> impl Iterator<Item = Units> function for each quantity.UnwindSafe and RefUnwindSafe are implemented.Display and Error to ParseQuantityError.FromStr implementation for quantities now supports the unit singular and plural descriptions in addition to the unit abbreviation.This release adds a new quantity, RadiantExposure , implements Unpin for Quantity and upgrades uom to the 2018 edition. These changes also include an
This release adds a new quantity, RadiantExposure, implements Unpin for Quantity and upgrades uom to the 2018 edition. These changes also include an increase of the minimum supported rustc to 1.37.0. Many thanks to nicodemus26 and (Michael-F-Bryan)[https://github.com/Michael-F-Bryan] for pull requests included and issues resolved in this release.
This release includes a number of changes for Angle, the addition of SolidAngle, and a new units for Energy and Luminance. Many thanks to adamreichold
This release includes a number of changes for Angle, the addition of SolidAngle, and a new
units for Energy and Luminance. Many thanks to
adamreichold, AnickaBurova,
and Atmelfan for pull requests included and issues resolved in
this release.
SolidAngle quantity added.Angle and SolidAngle
representing half and full turns.foot-candle unit to Luminance.electronvolt-based Energy units added.f{32|64}::powi instead of
Typenum::Pow::powi.Display instead
of Debug.From/Into impls for
Angle and SolidAngle.This release includes a number of trigonometric improvements as well as new units for Time. Many thanks to adamreichold and Aehmlo for pull requests i
This release includes a number of trigonometric improvements as well as new units for Time.
Many thanks to adamreichold and
Aehmlo for pull requests included and issues resolved in this
release.
Ratio (acos, acosh, asin, asinh, atan, atanh) and Angle (atan2).Time.This release adds a number of quantities.
Increase minimum supported rustc version to 1.31.0. Required to because of backwards incompatibilities with Cargo.toml edition keyword. cfg-if introdu…
This release adds a number of thermodynamic quantities in addition to TryFrom implementations for
Time and trigonometric functions on Angle.
HeatFluxDensity quantity added.HeatCapacity, HeatTransfer,
MolarEnergy, MolarMass, SpecificHeatCapacity, ThermalConductivity quantities added.TryFrom implemented between
std::time::Duration and uom::si::Time.Angle.rustc version to 1.31.0. Required to because of backwards
incompatibilities with Cargo.toml edition keyword. cfg-if introducted the keyword in a
minor version update and other issues with the keyword prompted the update.This release includes the long-requested Information and InformationRate quantities as well as support for i128/u128 as underlying storage types. A nu
This release includes the long-requested Information and InformationRate quantities as well as
support for i128/u128 as underlying storage types. A number of documentation updates, including
for the 9th edition of the SI, are also included.
Information (bit, byte, ...) and
InformationRate (bit/s, byte/s, ...) quantities added. Units for both SI (kilo, mega,
...) and binary (kibi, mebi, ...) prefixes are included.i128 and u128 as
underlying storage types.AngularJerk quantity added.This release fixes two separate issues to ensure that zero-cost code is generated. Many thanks to raimundomartins, apopiak, and gnzlbg for pull reques
This release fixes two separate issues to ensure that zero-cost code is generated. Many thanks to raimundomartins, apopiak, and gnzlbg for pull requests included and issues resolved in this release.
#[repr(transparent)] to Quantity
to ensure that the ABI of the underlying storage type is used instead of struct ABI in FFI
contexts.rustc version
to 1.28.0. Required to support #[repr(transparent)].This release fixes an issue with the autoconvert feature introduced in [v0.23.0]. Many thanks to dmit for pull requests included in this release.
This release fixes an issue with the autoconvert feature introduced in [v0.23.0]. Many thanks to
dmit for pull requests included in this release.
From implementations to convert between
quantities of different kinds now correctly use the autoconvert feature and no longer cause a
compile error when the feature is disabled.This release adds three new quantities, AngularAcceleration, AngularVelocity, and Torque. Changes to make Kinds more ergonomic to use are also include
This release adds three new quantities, AngularAcceleration, AngularVelocity, and Torque.
Changes to make Kinds more ergonomic to use are also included along with documentation changes.
Many thanks to dunmatt and Aehmlo for
pull requests included in this release.
AngularAcceleration quantity added.AngularVelocity quantity added.Torque quantity added.AngleKind and si::marker to hold SI specific marker traits. From implementations
for AngleKind added to more easily convert between uom::Kind and si::marker::AngleKind.system! macro. Documentation for
the seven base SI quantities added.Density to MassDensity. A type
alias for Density is available for backwards compatibility.Density has been renamed to MassDensity
and is deprecated. Density will be removed in some future release.This release adds Angle and Jerk quantities along with unit additions and conversion precision improvements to Acceleration and Velocity. Many thanks
This release adds Angle and Jerk quantities along with unit additions and conversion precision
improvements to Acceleration and Velocity. Many thanks to dunmatt
and nicodemus26 respectively.
Angle quantity added.Jerk quantity added. Acceleration and
Velocity units added and precision for some existing units improved.rustfmt, clippy, and tarpaulin jobs.rustfmt configuration updated.clippy configuration corrected to run for all packages.This release adds additional liter-based VolumeRate units.
This release adds additional liter-based VolumeRate units.
Liter-based VolumeRate units added.This release adds the Momentum quantity and additional liter-based volume units.
This release adds the Momentum quantity and additional liter-based volume units.
rustfmt, clippy, and tarpaulin jobs.clippy job.$quantities! macro would fail
in a Rust 2018 crate. A new test crate, edition_check, was added to ensure uom remains usable
in Rust 2018 code.This release adds a few new units for ElectricCharge and Energy.
This release adds a few new units for ElectricCharge and Energy.
ElectricCharge and Energy
units added.This release adds display tools for quantities resolving another long-standing issue, #13.
This release adds display tools for quantities resolving another long-standing issue, #13.
Quantity to be formatted with the standard library formatting traits: Binary, Debug,
Display, LowerExp, LowerHex, Octal, UpperExp, UpperHex.clippy and rustfmt jobs to use the now stable non -preview components.This release resolves nightly rustc error E0659 the base.rs example caused by rust-lang/rust pull request #52841 "resolve: Implement prelude search fo
This release resolves nightly rustc error E0659 the base.rs example caused by rust-lang/rust pull request #52841 "resolve: Implement prelude search for macro paths, implement tool attributes."
…trunc, and fract methods of Quantity. This is a breaking change and can easily be resolved. e.g. l.get(meter) becomes l.get:: ().
This release resolves long-standing issue #3 to implement thermodynamic temperature conversions (e.g. Celsius to Fahrenheit). Support is also added for multiple quantities of the same dimension (e.g. thermodynamic temperature and temperature interval, ratio and angle).
The release also contains a number of internal changes including a reorganization of tests into multiple files and updated CI setup to provide faster builds and more feature test coverage.
quantity! macro to accept a coefficient
and optional constant factor in the $conversion parameter to support these conversions.FromStr.Kind associated type to
Dimensions.The new Kind associated type, defaulting to uom::Kind, allows for multiple
quantities that have the same dimensions. Quantities of different kinds are not comparable. The
marker traits implemented by a quantity's Kind control which operations are automatically
implemented.TemperatureInterval quantity added.
Includes Add, AddAssign, Sub, and SubAssign implementations between thermodynamic
temperature and temperature interval._unit: N parameters and require turbofish syntax for get, floor,
ceil, round, trunc, and fract methods of Quantity. This is a breaking change and can
easily be resolved. e.g. l.get(meter) becomes l.get::<meter>().uom feature hygiene in macro
generated code. Previously the system! macro generated code that included
#[cfg(feature = "...")] attributes on code in the crate executing the system! macro. With
this fix these attributes will be eagerly evaluated and only generate code when the appropriate
uom feature is enabled.This release adds a number of additional quantities, configures uom to use rustfmt, and directly references num sub-crates to better control feature s
This release adds a number of additional quantities, configures uom to use rustfmt, and directly
references num sub-crates to better control feature selection.
Capacitance quantity added.ElectricCharge quantity added.ElectricalConductance quantity added.ElectricalResistance quantity added.Inductance quantity added.Luminance quantity added.MagneticFluxDensity quantity added.MagneticFlux quantity added.num sub-crates num-traits,
num-rational, and num-bigint are now directly referenced to control feature selection. std,
rational, and bigint support are only included based on uom feature selection.rustfmt so that uom code can be
automatically formatted and builds are gated on changes not breaking formatting conventions.This release contains a significant number of new quantities and units, compile time improvements, and a few bug fixes. See below for full details. Ma
This release contains a significant number of new quantities and units, compile time improvements,
and a few bug fixes. See below for full details. Many thanks to Aehmlo
for all of the new quantities and units. radix for the autoconvert
feature. Nemo157 for hygiene fixes in the storage_types! macro.
autoconvert feature,
enabled by default, which allows for operations between quantities with different base units.
autoconvert enabled is the same functionality as prior versions of uom. Disabling the feature
only allows for quantities with the same base units to directly interact. The feature has been
added to account for current compiler limitations where zero-cost code is not generated for
non-floating point underlying storage types. With the feature disabled more optimal code will be
generated for integral types. This feature will likely have no effect and subsequently be
deprecated and removed once const fn and specialization are stabilized.storage_types! macro now
always uses underlying storage type features from the uom crate instead of the crate where the
macro is executed.Mass units added.Velocity units added.Area units added.Volume units added.Force units added.Acceleration units added.Frequency units added.Ratio (dimensionless) quantity added.
Includes From<Ratio> for V and From<V> for Ratio implementations to allow for easy
conversions between Ratio and the underlying storage type.Energy quantity added.AvailableEnergy quantity added.Density quantity added.Power quantity added.Pressure quantity added.MassRate quantity added.VolumeRate quantity added.ElectricPotential quantity added.ElectricCurrent units added.storage_type! macro are now public. e.g. pub type V = f32;. This change drastically reduces
compile times, especially when multiple underlying storage types are enabled.ElectricCurrent corrected to no longer references
AmountOfSubstance and units smaller than milliampere have corrected abbreviations and
descriptions.Product implementation
for Quantity. The product of a quantity is not that same quantity. e.g.
Length * Length = Area.This release implements a number of common traits from the standard library, the `num` crate, and the `serde` crate.
This release implements a number of common traits from the standard library, the
num crate, and the
serde crate.
Default.PartialEq.Eq.PartialOrd.Ord.Sum.Product.num::Zero.num::Saturating.serde::Serialize and
serde::Deserialize. Disabled by default. Enabled with the use_serde feature.This release contains significant changes in order to support underlying storage types that implement the Num trait beyond f32 and f64. Many changes a
This release contains significant changes in order to support underlying storage types that
implement the Num trait beyond f32 and f64. Many changes are breaking: marker traits are
simplified and fewer macros are exported. New storage types are not enabled by default and can be
used by including the corresponding feature. See the changes below for full details.
#[derive(Hash)] attributes.storage_types!, is now
available to duplicate code on a per-storage type basis. See macro documentation for full
details. The minimum supported rustc version is now 1.20.0.Num
trait from the num crate instead of fixed implementations for
f32 and f64. Features for all types implementing Num have been added and control the
availability of the type as an underlying storage type: usize, u8, u16, u32, u64,
isize, i8, i16, i32, i64, bigint, biguint, rational, rational32, rational64,
bigrational, f32, and f64. For compile time reasons only f32 and f64 are enabled by
default. Tests are implemented for all underlying storage types but don't account for minimum or
maximum values and will fail for non-float types where the conversion factor overflows the
type's limits. A future release will correct this.system! macro have been significantly changed in order to support non-float underlying
storage types.
Dimension changed to directly include associated types for quantity dimensions.Units<V> is now only parameterized on V and contains associated types for base units.Conversion<V> has been removed and replaced with uom::Conversion<V>.$quantities<...> has been removed. Quantity dimensions are now directly in the Dimension
trait.BaseUnits<...> has been removed. Base units are not directly in the Units<V> trait.uom::Conversion<V> added to replace Conversion<V> and gives access to a unit's conversion
factor.uom::ConversionFactor<V> added to represent conversion factors for underlying storage types
where the type can't be used (e.g. i32's conversion factor is represented as Rational32.)quantities!,
replace_ty!, and unit! have been consolidated as "private" match arms of their calling macro.
In order to reduce the chance of macro name collisions $quantities! is the only remaining
generated exported macro (e.g. ISQ! for the si system). Generated macros for each quantity no
longer exist. These changes make it easier to have multiple systems containing quantities with
the same names. In order to support this change quantities in the units block of the system!
macro must always be prefixed by the quantity's module (e.g. length::Length). Prefixing the
module with the mod keyword instructs the system! macro not to generate a
#[macro_use] pub mod $module; statement.This release adds additional Time units; Frequency, Force, and Volume quantities; and numerous floating point methods such as min, max, and powi.
This release adds additional Time units; Frequency, Force, and Volume quantities; and
numerous floating point methods such as min, max, and powi.
Time units added.giga units. e.g. gigameter.classify, is_finite, is_infinte, is_nan, and is_normal for Quantity.floor, ceil, round, trunc, and fract for Quantity.max and min for Quantity.mul_add method for
Quantity.powi method for
Quantity.Volume quantity added. Additional units
still need to be added.Force quantity added. Additional units
still need to be added.Frequency quantity added. Additional units
still need to be added.[Breaking] A new feature, std, is now available and is enabled by default. uom can still be compiled with no_std by using --no-default-features when c
std, is now available and is enabled by default. uom can still be
compiled with no_std by using --no-default-features when compiling the crate or
default-features = false in the dependencies section of Cargo.tomlcbrt, recip, and sqrt are implemented
for Quantity.Quantity fields made public in order to
allow library users to create const values and instances of non-named quantities. e.g.
const TIME_STEP: Time = Quantity { dimension: PhantomData, units: PhantomData, value: 0.1 };
This functionality will be deprecated and subsequently removed once the
const fn feature is stabilized.f32, f64).Quantitys with different base
units.This release adds numerous tests both for code generated by the quantity!, system!, and $quantities! macros as well as derived quantities. Fixes for i
This release adds numerous tests both for code generated by the quantity!, system!, and
$quantities! macros as well as derived quantities. Fixes for issues found during testing noted
below. Quantity implementations for Area and Acceleration also added.
Area quantity added. Additional units still
need to be added.Acceleration quantity added. Additional
units still need to be added._unit parameter from Quantity::new and so summon the turbofish.
e.g. Length::new(1.0, meter) becomes Length::new::<meter>(1.0).impl Debug for Quantity to use
precision information. Previously the implementation checked the alternate flag which has no
affect on printing raw floats.pulldown in anticipation of upcomming rustdoc changes.impl Sub for Quantity to be
implemented in terms of - instead of +.Continuous integration was setup to ensure that uom builds on stable, beta, nightly, and 1.15.0 (the minimum rustc version). Quantity descriptions, un
Continuous integration was setup to ensure that uom builds on stable, beta, nightly, and 1.15.0
(the minimum rustc version). Quantity descriptions, unit abbreviations, and unit descriptions
added. Additional length units
added to
demonstrate the simplicity of the process.
Length units added.quantity! macro accepts comments on units. To resolve macro parsing ambiguities
each unit must be prefixed with an @.quantity! macro includes
the quantity description. The description can be accessed using the description() method in
quantity submodules.quantity! macro includes
unit abbreviations as well as singular and plural descriptions. These values can be accessed from
new abbreviation(), singular(), and plural() methods on the Unit trait. The original
Unit<V> trait has been renamed Conversion<V>.Debug manually implemented for
Quantity<D, U, V> to show the underlying value and associated units.Proof-of-concept functionality for type-safe zero-cost dimensional analysis. uom [0.11.0] allows for the creation of custom systems or the use of the
Proof-of-concept functionality for type-safe zero-cost dimensional analysis. uom [0.11.0] allows
for the creation of custom systems or the use of the pre-built SI. Basic mathematical operations
are implemented and a minimal set of quantities (length, mass, time...) and units (meter, kilometer,
foot, mile, ...) are included.
Your coding agent can read these notes before it upgrades. Set up the MCP server →