gecko-dev/third_party/rust/cast
shravanrn@gmail.com 06e7d3e8d0 Bug 1576051 - Vendor the the RLBox Lucet sandbox library and its dependencies r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D43709

--HG--
extra : moz-landing-system : lando
2019-11-11 09:19:52 +00:00
..
ci Bug 1576051 - Vendor the the RLBox Lucet sandbox library and its dependencies r=froydnj 2019-11-11 09:19:52 +00:00
src Bug 1576051 - Vendor the the RLBox Lucet sandbox library and its dependencies r=froydnj 2019-11-11 09:19:52 +00:00
.cargo-checksum.json Bug 1576051 - Vendor the the RLBox Lucet sandbox library and its dependencies r=froydnj 2019-11-11 09:19:52 +00:00
CHANGELOG.md Bug 1576051 - Vendor the the RLBox Lucet sandbox library and its dependencies r=froydnj 2019-11-11 09:19:52 +00:00
Cargo.toml Bug 1576051 - Vendor the the RLBox Lucet sandbox library and its dependencies r=froydnj 2019-11-11 09:19:52 +00:00
LICENSE-APACHE Bug 1576051 - Vendor the the RLBox Lucet sandbox library and its dependencies r=froydnj 2019-11-11 09:19:52 +00:00
LICENSE-MIT Bug 1576051 - Vendor the the RLBox Lucet sandbox library and its dependencies r=froydnj 2019-11-11 09:19:52 +00:00
README.md Bug 1576051 - Vendor the the RLBox Lucet sandbox library and its dependencies r=froydnj 2019-11-11 09:19:52 +00:00

README.md

crates.io crates.io

cast

Ergonomic, checked cast functions for primitive types

extern crate cast;

// `u8` and `u16` are checked cast functions, use them to cast from any numeric
// primitive to `u8`/`u16` respectively
use cast::{u8, u16, Error};

// Infallible operations, like integer promotion, are equivalent to a normal
// cast with `as`
assert_eq!(u16(0u8), 0u16);

// Everything else will return a `Result` depending on the success of the
// operation
assert_eq!(u8(0u16), Ok(0u8));
assert_eq!(u8(256u16), Err(Error::Overflow));
assert_eq!(u8(-1i8), Err(Error::Underflow));
assert_eq!(u8(1. / 0.), Err(Error::Infinite));
assert_eq!(u8(0. / 0.), Err(Error::NaN));

API docs

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.