NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3631 most downloaded on crates.io
Type conversions which are expected to succeed
Last release 1 months ago
29 Aug 2026
Ships unpredictably
gaps range from 2 weeks to 2.0 years
Nearly every release is documented
notes for 17 of 18 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
18 releases · first in 2021
One column per quarter.
Note on work-around for float_conversions feature by @dhardy in #71
Full Changelog: 0.7.0...0.7.1
Added:
Cast::cast, usage of which may conflict with the unstable float_conversions feature (#71)This version is a substantial revision of easy-cast , introducing generics over rounding modes via the new Rounding trait.
This version is a substantial revision of easy-cast, introducing generics over rounding modes via the new Rounding trait.
Simple usage via the Conv, Cast, ConvApprox and CastApprox traits is largely unchanged. Usage with other rounding modes should be moved to the new ConvTo and CastTo traits (e.g. i32::conv_to(Nearest, 5.3), x.cast_to(Floor)).
External implementations of conversions should be moved to the ConvExact and ConvTo traits.
Added:
Rounding trait with Exact, Approx rounding modes (#58)Trunc, Nearest, Floor, Ceil rounding modes (#61)ConvExact trait as an implementation helper for conversions which are never inexact (#58, #65)ConvTo trait for implementation and usage of conversions with a specific rounding mode (#58, #60, #63, #65)CastTo trait for casting with a specific rounding mode (#58, #60, #63)RangeError as a new error type (#56)Changed:
Error type to the Conv and Cast traits (#62)impl_via_trivial! to impl_via_identity! (#68)Exact f64 → f32 conversion (#59)Approx and Nearest int-to-float conversions (#59, #63)u128::MAX and other too-large values no longer coerce to f32::INFINITY under Exact rounding, as used by Conv and Cast (#67)Trunc) no longer require the std or libm feature (#66)core::error::Error on no-std (#57)doc_cfg feature (#66)Removed:
Result type-def (#56)ConvFloat, CastFloat traits; this functionality remains available through the new rounding modes (#61)Full Changelog: 0.6.1...0.7.0
Add pub macros impl_via_from! , impl_via_trivial!
This release contains some breaking changes which should be easy/trivial to accommodate.
This release contains some breaking changes which should be easy/trivial to accommodate.
Fixed:
unsafe code in NonZero conversion on input values which wrap to zero (#52)u128 values to f32::INFINITY (#51)Changed:
ConvApprox<f64> for f32 to behave more like *_f64 as f32: too-large values round to infinity (instead of a range error) and rounding uses roundTiesToEven. Unlike as f32, NAN still yields Err(Error::Range). (#47)Conv<f32> for f64 to trap NAN (#48)Removed:
Full Changelog: 0.5.5...0.6.0
Support core::range types (MSRV = 1.96.0) by @dhardy in #44
Support core::range types (MSRV = 1.96.0) by @dhardy in #44
Full Changelog: 0.5.4...0.5.5
std::range types (#44)Support Conv , Cast for core::Range and other range types
Conv, Cast for core::ops::Range and other range types (#38)Conv, Cast for core::num::{Saturating, Wrapping} (#38)Conv, Cast for core::num::NonZero (#39)Full Changelog: 0.5.3...0.5.4
Bump MSRV to 1.60.0 and use Edition 2021
Support cast to self, useful in generics
Document feature assert_digits and imply by always_assert
Add default implementations of conv methods over equivalent try_conv variant to facilitate custom implementations
conv methods over equivalent try_convConvApprox and CastApprox, supporting approximate conversionsf64 → f32 and all typeConv (#21)Conv and ConvFloat for arrays and tuples (#21)impl<T> Conv<T> for T (#21)easy_cast::Result type alias (#22)easy_cast::traits public module (#23)Fix negative int to float cast digits check
Fix negative int to float cast digits check
Unify some macros via impl_int_generic
impl_int_generic (#16)- Fix i16::conv(1usize) (#15) - Update README
i16::conv(1usize) (#15)- Fix conv(0) from int to float
conv(0) from int to float (#14)Add try_conv and try_cast methods
try_conv and try_cast methods (#12)try_conv_nearest etc. (#12)Conv<f64> for f32 (#12)assert_range and assert_non_neg with assert_int (#12)Explicitly support Rust 1.36.0 (and potentially older; #10)
conv_trunc / cast_trunc (#11)no_std (#10)floor on negative values (#10)Add feature flags controlling assert behaviour
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →