File tree Expand file tree Collapse file tree 7 files changed +20
-23
lines changed Expand file tree Collapse file tree 7 files changed +20
-23
lines changed Original file line number Diff line number Diff line change 1
1
---
2
- refs/heads/master: f78c90653535128b5a7c08d4850d6ef202beba40
2
+ refs/heads/master: ccd36439f70814073c567bb22fdbcaafcf970b16
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: cd6f24f9d14ac90d167386a56e7a6ac1f0318195
5
5
refs/heads/try: ffbe0e0e00374358b789b0037bcb3a577cd218be
Original file line number Diff line number Diff line change @@ -180,7 +180,7 @@ impl f32: num::Num {
180
180
pure fn neg ( ) -> f32 { return -self ; }
181
181
182
182
pure fn to_int ( ) -> int { return self as int ; }
183
- pure fn from_int ( n : int ) -> f32 { return n as f32 ; }
183
+ static pure fn from_int( n: int ) -> f32 { return n as f32 ; }
184
184
}
185
185
186
186
//
Original file line number Diff line number Diff line change @@ -207,7 +207,7 @@ impl f64: num::Num {
207
207
pure fn neg ( ) -> f64 { return -self ; }
208
208
209
209
pure fn to_int ( ) -> int { return self as int ; }
210
- pure fn from_int ( n : int ) -> f64 { return n as f64 ; }
210
+ static pure fn from_int( n: int ) -> f64 { return n as f64 ; }
211
211
}
212
212
213
213
//
Original file line number Diff line number Diff line change @@ -422,7 +422,7 @@ impl float: num::Num {
422
422
pure fn neg ( ) -> float { return -self ; }
423
423
424
424
pure fn to_int ( ) -> int { return self as int ; }
425
- pure fn from_int ( n : int ) -> float { return n as float ; }
425
+ static pure fn from_int( n: int ) -> float { return n as float ; }
426
426
}
427
427
428
428
#[ test]
@@ -523,14 +523,14 @@ fn test_traits() {
523
523
fn test < U : num:: Num > ( ten : & U ) {
524
524
assert ( ten. to_int ( ) == 10 ) ;
525
525
526
- let two = ten . from_int ( 2 ) ;
526
+ let two = from_int ( 2 ) ;
527
527
assert ( two. to_int ( ) == 2 ) ;
528
528
529
- assert ( ten. add ( two) == ten . from_int ( 12 ) ) ;
530
- assert ( ten. sub ( two) == ten . from_int ( 8 ) ) ;
531
- assert ( ten. mul ( two) == ten . from_int ( 20 ) ) ;
532
- assert ( ten. div ( two) == ten . from_int ( 5 ) ) ;
533
- assert ( ten. modulo ( two) == ten . from_int ( 0 ) ) ;
529
+ assert ( ten. add ( two) == from_int ( 12 ) ) ;
530
+ assert ( ten. sub ( two) == from_int ( 8 ) ) ;
531
+ assert ( ten. mul ( two) == from_int ( 20 ) ) ;
532
+ assert ( ten. div ( two) == from_int ( 5 ) ) ;
533
+ assert ( ten. modulo ( two) == from_int ( 0 ) ) ;
534
534
}
535
535
536
536
test ( & 10.0 ) ;
Original file line number Diff line number Diff line change @@ -84,7 +84,7 @@ impl T: num::Num {
84
84
pure fn neg ( ) -> T { return -self ; }
85
85
86
86
pure fn to_int ( ) -> int { return self as int ; }
87
- pure fn from_int ( n : int ) -> T { return n as T ; }
87
+ static pure fn from_int( n: int ) -> T { return n as T ; }
88
88
}
89
89
90
90
impl T : iter:: times {
@@ -238,15 +238,15 @@ fn test_interfaces() {
238
238
fn test < U : num:: Num > ( ten : U ) {
239
239
assert ( ten. to_int ( ) == 10 ) ;
240
240
241
- let two = ten . from_int ( 2 ) ;
241
+ let two = from_int ( 2 ) ;
242
242
assert ( two. to_int ( ) == 2 ) ;
243
243
244
- assert ( ten. add ( two) == ten . from_int ( 12 ) ) ;
245
- assert ( ten. sub ( two) == ten . from_int ( 8 ) ) ;
246
- assert ( ten. mul ( two) == ten . from_int ( 20 ) ) ;
247
- assert ( ten. div ( two) == ten . from_int ( 5 ) ) ;
248
- assert ( ten. modulo ( two) == ten . from_int ( 0 ) ) ;
249
- assert ( ten. neg ( ) == ten . from_int ( -10 ) ) ;
244
+ assert ( ten. add ( two) == from_int ( 12 ) ) ;
245
+ assert ( ten. sub ( two) == from_int ( 8 ) ) ;
246
+ assert ( ten. mul ( two) == from_int ( 20 ) ) ;
247
+ assert ( ten. div ( two) == from_int ( 5 ) ) ;
248
+ assert ( ten. modulo ( two) == from_int ( 0 ) ) ;
249
+ assert ( ten. neg ( ) == from_int ( -10 ) ) ;
250
250
}
251
251
252
252
test ( 10 as T ) ;
Original file line number Diff line number Diff line change 1
1
/// An interface for numbers.
2
2
3
3
trait Num {
4
- // FIXME: Cross-crate overloading doesn't work yet. (#2615)
5
4
// FIXME: Trait composition. (#2616)
6
5
pure fn add( & & other: self ) -> self ;
7
6
pure fn sub( & & other: self ) -> self ;
@@ -11,7 +10,5 @@ trait Num {
11
10
pure fn neg ( ) -> self ;
12
11
13
12
pure fn to_int ( ) -> int ;
14
- pure fn from_int( n : int ) -> self ; // FIXME (#2376) Static functions.
15
- // n.b. #2376 is for classes, not traits, but it could be generalized...
13
+ static pure fn from_int( n : int ) -> self ;
16
14
}
17
-
Original file line number Diff line number Diff line change @@ -77,7 +77,7 @@ impl T: num::Num {
77
77
pure fn neg ( ) -> T { return -self ; }
78
78
79
79
pure fn to_int ( ) -> int { return self as int ; }
80
- pure fn from_int ( n : int ) -> T { return n as T ; }
80
+ static pure fn from_int( n: int ) -> T { return n as T ; }
81
81
}
82
82
83
83
impl T : iter:: times {
You can’t perform that action at this time.
0 commit comments