Easy-cast
Type conversion, success expected
Use the Conv
and Cast
traits when:
From
andInto
are not enough- it is expected that the value can be represented exactly by the target type
- you could use
as
, but want some assurance it's doing the right thing - you are converting numbers (future versions might consider supporting other conversions)
Use the ConvFloat
and CastFloat
traits when:
- You are converting from
f32
orf64
- You specifically want the nearest or ceiling or floor, but don't need detailed control over rounding (e.g. round-to-even)
Assertions
All type conversions which are potentially fallible assert on failure in debug builds. In release builds assertions may be omitted, thus making incorrect conversions possible.
If the always_assert
feature flag is set, assertions will be turned on in
all builds. Some additional feature flags are available for finer-grained
control (see Cargo.toml).
MSRV and no_std
The Minumum Supported Rust Version is 1.32.0 (first release of Edition 2018).
By default, std
support is required. With default features disabled no_std
is supported, but the ConvFloat
and CastFloat
traits are unavailable.
Enabling the libm
feature will re-enable these traits.
Copyright and Licence
The COPYRIGHT file includes a list of contributors who claim copyright on this project. This list may be incomplete; new contributors may optionally add themselves to this list.
The easy-cast library is published under the terms of the Apache License, Version 2.0. You may obtain a copy of this licence from the LICENSE file or on the following webpage: https://www.apache.org/licenses/LICENSE-2.0