commit | 5e5a5f79ab8c379ad372bdfcf0d56388037055c8 | [log] [tgz] |
---|---|---|
author | Chris Wailes <chriswailes@google.com> | Thu May 09 14:26:00 2024 -0700 |
committer | Chris Wailes <chriswailes@google.com> | Thu May 09 22:01:25 2024 +0000 |
tree | 6f11560c46bea40aa0440ff16b749004e580fdb9 | |
parent | afccc9fb17721db4d699ae47dc8507e8bb981ed5 [diff] |
Ensure crate is compiled with std for panic handler This CL adds a patch to use `extern crate std` to ensure that a panic handler is available when the crate is compiled as a dylib. Test: m libcast Bug: 333887339 Change-Id: Ife3d34c32f99ec69d98370045f1b79a352be1601
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));
Licensed under either of
at your option.
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.