Skip to content

Commit f34c926

Browse files
committed
---
yaml --- r: 139753 b: refs/heads/try2 c: ce6ee7b h: refs/heads/master i: 139751: 73ea86c v: v3
1 parent f9c109c commit f34c926

File tree

9 files changed

+30
-8
lines changed

9 files changed

+30
-8
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: fde6995229ff1bf99fccbcfee8b55e27afdb11ec
8+
refs/heads/try2: ce6ee7bb041044c3e236be7aefae97931e596407
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/libcore/core.rc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ pub use vec::{OwnedVector, OwnedCopyableVector};
9999
pub use iter::{BaseIter, ExtendedIter, EqIter, CopyableIter};
100100
pub use iter::{CopyableOrderedIter, CopyableNonstrictIter, Times};
101101

102-
pub use num::NumCast;
102+
pub use num::{Num, NumCast};
103103
pub use ptr::Ptr;
104104
pub use to_str::ToStr;
105105
pub use clone::Clone;

branches/try2/src/libcore/num/num.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,28 @@ use kinds::Copy;
1616

1717
pub mod strconv;
1818

19+
pub trait Num: Eq + Zero + One
20+
+ Neg<Self>
21+
+ Add<Self,Self>
22+
+ Sub<Self,Self>
23+
+ Mul<Self,Self>
24+
+ Div<Self,Self>
25+
+ Modulo<Self,Self> {}
26+
27+
impl Num for u8 {}
28+
impl Num for u16 {}
29+
impl Num for u32 {}
30+
impl Num for u64 {}
31+
impl Num for uint {}
32+
impl Num for i8 {}
33+
impl Num for i16 {}
34+
impl Num for i32 {}
35+
impl Num for i64 {}
36+
impl Num for int {}
37+
impl Num for f32 {}
38+
impl Num for f64 {}
39+
impl Num for float {}
40+
1941
pub trait IntConvertible {
2042
fn to_int(&self) -> int;
2143
fn from_int(n: int) -> Self;

branches/try2/src/libcore/prelude.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ pub use hash::Hash;
3434
pub use iter::{BaseIter, ReverseIter, MutableIter, ExtendedIter, EqIter};
3535
pub use iter::{CopyableIter, CopyableOrderedIter, CopyableNonstrictIter};
3636
pub use iter::Times;
37-
pub use num::NumCast;
37+
pub use num::{Num, NumCast};
3838
pub use path::GenericPath;
3939
pub use path::Path;
4040
pub use path::PosixPath;

branches/try2/src/test/run-pass/trait-inheritance-num.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use core::cmp::{Eq, Ord};
1616
use core::num::NumCast::from;
1717
use std::cmp::FuzzyEq;
1818

19-
pub trait NumExt: NumCast + Eq + Ord {}
19+
pub trait NumExt: Num + NumCast + Eq + Ord {}
2020

2121
pub trait FloatExt: NumExt + FuzzyEq<Self> {}
2222

branches/try2/src/test/run-pass/trait-inheritance-num1.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use core::cmp::Ord;
1212
use core::num::NumCast::from;
1313

14-
pub trait NumExt: NumCast + Ord { }
14+
pub trait NumExt: Num + NumCast + Ord { }
1515

1616
fn greater_than_one<T:NumExt>(n: &T) -> bool {
1717
*n > from(1)

branches/try2/src/test/run-pass/trait-inheritance-num2.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ impl TypeExt for f64 {}
3838
impl TypeExt for float {}
3939

4040

41-
pub trait NumExt: TypeExt + Eq + Ord + NumCast {}
41+
pub trait NumExt: TypeExt + Eq + Ord + Num + NumCast {}
4242

4343
impl NumExt for u8 {}
4444
impl NumExt for u16 {}

branches/try2/src/test/run-pass/trait-inheritance-num3.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use core::cmp::{Eq, Ord};
1212
use core::num::NumCast::from;
1313

14-
pub trait NumExt: Eq + Ord + NumCast {}
14+
pub trait NumExt: Eq + Ord + Num + NumCast {}
1515

1616
impl NumExt for f32 {}
1717

branches/try2/src/test/run-pass/trait-inheritance-num5.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use core::cmp::{Eq, Ord};
1212
use core::num::NumCast::from;
1313

14-
pub trait NumExt: Eq + NumCast {}
14+
pub trait NumExt: Eq + Num + NumCast {}
1515

1616
impl NumExt for f32 {}
1717
impl NumExt for int {}

0 commit comments

Comments
 (0)