Skip to content

Commit 5e0f25d

Browse files
committed
Auto merge of rust-lang#123085 - tgross35:f16-f128-step4.0-libs-basic-impls, r=Amanieu
Add basic trait impls for `f16` and `f128` Split off part of <rust-lang#122470> so the compiler doesn't ICE because it expects primitives to have some minimal traits. Fixes <rust-lang#123074>
2 parents 9386955 + 6a62aeb commit 5e0f25d

File tree

5 files changed

+10
-4
lines changed

5 files changed

+10
-4
lines changed

core/src/clone.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ mod impls {
227227
impl_clone! {
228228
usize u8 u16 u32 u64 u128
229229
isize i8 i16 i32 i64 i128
230-
f32 f64
230+
f16 f32 f64 f128
231231
bool char
232232
}
233233

core/src/cmp.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1493,7 +1493,7 @@ mod impls {
14931493
}
14941494

14951495
partial_eq_impl! {
1496-
bool char usize u8 u16 u32 u64 u128 isize i8 i16 i32 i64 i128 f32 f64
1496+
bool char usize u8 u16 u32 u64 u128 isize i8 i16 i32 i64 i128 f16 f32 f64 f128
14971497
}
14981498

14991499
macro_rules! eq_impl {
@@ -1546,7 +1546,7 @@ mod impls {
15461546
}
15471547
}
15481548

1549-
partial_ord_impl! { f32 f64 }
1549+
partial_ord_impl! { f16 f32 f64 f128 }
15501550

15511551
macro_rules! ord_impl {
15521552
($($t:ty)*) => ($(

core/src/default.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,5 +178,9 @@ default_impl! { i32, 0, "Returns the default value of `0`" }
178178
default_impl! { i64, 0, "Returns the default value of `0`" }
179179
default_impl! { i128, 0, "Returns the default value of `0`" }
180180

181+
#[cfg(not(bootstrap))]
182+
default_impl! { f16, 0.0f16, "Returns the default value of `0.0`" }
181183
default_impl! { f32, 0.0f32, "Returns the default value of `0.0`" }
182184
default_impl! { f64, 0.0f64, "Returns the default value of `0.0`" }
185+
#[cfg(not(bootstrap))]
186+
default_impl! { f128, 0.0f128, "Returns the default value of `0.0`" }

core/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,8 @@
229229
#![feature(doc_notable_trait)]
230230
#![feature(effects)]
231231
#![feature(extern_types)]
232+
#![feature(f128)]
233+
#![feature(f16)]
232234
#![feature(freeze_impls)]
233235
#![feature(fundamental)]
234236
#![feature(generic_arg_infer)]

core/src/marker.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ marker_impls! {
422422
Copy for
423423
usize, u8, u16, u32, u64, u128,
424424
isize, i8, i16, i32, i64, i128,
425-
f32, f64,
425+
f16, f32, f64, f128,
426426
bool, char,
427427
{T: ?Sized} *const T,
428428
{T: ?Sized} *mut T,

0 commit comments

Comments
 (0)