Implement From<bool>
for f32, f64
This commit is contained in:
parent
16990de53e
commit
b134d1108f
@ -168,6 +168,26 @@ macro_rules! impl_from_bool {
|
||||
// Float -> Float
|
||||
impl_from! { f32, f64, #[stable(feature = "lossless_float_conv", since = "1.6.0")] }
|
||||
|
||||
// bool -> Float
|
||||
#[stable(feature = "float_from_bool", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[rustc_const_unstable(feature = "const_num_from_num", issue = "87852")]
|
||||
impl const From<bool> for f32 {
|
||||
/// Converts `bool` to `f32` losslessly.
|
||||
#[inline]
|
||||
fn from(small: bool) -> Self {
|
||||
small as u8 as Self
|
||||
}
|
||||
}
|
||||
#[stable(feature = "float_from_bool", since = "CURRENT_RUSTC_VERSION")]
|
||||
#[rustc_const_unstable(feature = "const_num_from_num", issue = "87852")]
|
||||
impl const From<bool> for f64 {
|
||||
/// Converts `bool` to `f64` losslessly.
|
||||
#[inline]
|
||||
fn from(small: bool) -> Self {
|
||||
small as u8 as Self
|
||||
}
|
||||
}
|
||||
|
||||
// no possible bounds violation
|
||||
macro_rules! try_from_unbounded {
|
||||
($source:ty, $($target:ty),*) => {$(
|
||||
|
Loading…
Reference in New Issue
Block a user