Skip to content

Commit 41f9deb

Browse files
committed
std: add Primitive.is_signed
1 parent 50fde8c commit 41f9deb

File tree

5 files changed

+13
-0
lines changed

5 files changed

+13
-0
lines changed

src/libstd/num/f32.rs

+3
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,9 @@ impl Primitive for f32 {
590590

591591
#[inline]
592592
fn bytes(_: Option<f32>) -> uint { Primitive::bits(Some(0f32)) / 8 }
593+
594+
#[inline]
595+
fn is_signed(_: Option<f32>) -> bool { true }
593596
}
594597

595598
impl Float for f32 {

src/libstd/num/f64.rs

+3
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,9 @@ impl Primitive for f64 {
638638

639639
#[inline]
640640
fn bytes(_: Option<f64>) -> uint { Primitive::bits(Some(0f64)) / 8 }
641+
642+
#[inline]
643+
fn is_signed(_: Option<f64>) -> bool { true }
641644
}
642645

643646
impl Float for f64 {

src/libstd/num/int_macros.rs

+3
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,9 @@ impl Primitive for $T {
380380

381381
#[inline]
382382
fn bytes(_: Option<$T>) -> uint { bits / 8 }
383+
384+
#[inline]
385+
fn is_signed(_: Option<$T>) -> bool { true }
383386
}
384387

385388
// String conversion functions and impl str -> num

src/libstd/num/num.rs

+1
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,7 @@ pub trait Primitive: Clone
286286
// FIXME (#8888): Removing `unused_self` requires #8888 to be fixed.
287287
fn bits(unused_self: Option<Self>) -> uint;
288288
fn bytes(unused_self: Option<Self>) -> uint;
289+
fn is_signed(unused_self: Option<Self>) -> bool;
289290
}
290291

291292
/// A collection of traits relevant to primitive signed and unsigned integers

src/libstd/num/uint_macros.rs

+3
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,9 @@ impl Primitive for $T {
306306

307307
#[inline]
308308
fn bytes(_: Option<$T>) -> uint { bits / 8 }
309+
310+
#[inline]
311+
fn is_signed(_: Option<$T>) -> bool { false }
309312
}
310313

311314
impl BitCount for $T {

0 commit comments

Comments
 (0)