diff options
| -rw-r--r-- | library/core/tests/lib.rs | 2 | ||||
| -rw-r--r-- | library/core/tests/num/const_from.rs | 21 | ||||
| -rw-r--r-- | library/core/tests/num/mod.rs | 2 |
3 files changed, 25 insertions, 0 deletions
diff --git a/library/core/tests/lib.rs b/library/core/tests/lib.rs index c7756a503c3..89eaa34a671 100644 --- a/library/core/tests/lib.rs +++ b/library/core/tests/lib.rs @@ -13,6 +13,8 @@ #![feature(const_ptr_read)] #![feature(const_ptr_write)] #![feature(const_ptr_offset)] +#![feature(const_trait_impl)] +#![feature(const_num_from_num)] #![feature(core_intrinsics)] #![feature(core_private_bignum)] #![feature(core_private_diy_float)] diff --git a/library/core/tests/num/const_from.rs b/library/core/tests/num/const_from.rs new file mode 100644 index 00000000000..7c6de92e480 --- /dev/null +++ b/library/core/tests/num/const_from.rs @@ -0,0 +1,21 @@ +#[test] +fn from() { + use core::convert::TryFrom; + use core::num::TryFromIntError; + + // From + const FROM: i64 = i64::from(1i32); + assert_eq!(FROM, 1i64); + + // Upper bounded + const U8_FROM_U16: Result<u8, TryFromIntError> = u8::try_from(1u16); + assert_eq!(U8_FROM_U16, Ok(1u8)); + + // Both bounded + const I8_FROM_I16: Result<i8, TryFromIntError> = i8::try_from(1i16); + assert_eq!(I8_FROM_I16, Ok(1i8)); + + // Lower bounded + const I16_FROM_U16: Result<i16, TryFromIntError> = i16::try_from(1u16); + assert_eq!(I16_FROM_U16, Ok(1i16)); +} diff --git a/library/core/tests/num/mod.rs b/library/core/tests/num/mod.rs index 76e838cf6bf..37b5e9127d5 100644 --- a/library/core/tests/num/mod.rs +++ b/library/core/tests/num/mod.rs @@ -27,6 +27,8 @@ mod u64; mod u8; mod bignum; + +mod const_from; mod dec2flt; mod flt2dec; mod int_log; |
