Skip to content

Commit 76ce1ea

Browse files
committed
Auto merge of #21811 - tbu-:pr_more_isize, r=alexcrichton
Remove more `isize` stuff. Also fix the manual a bit about integer inference.
2 parents 0ab8d5d + b4a43f3 commit 76ce1ea

File tree

198 files changed

+829
-828
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

198 files changed

+829
-828
lines changed

src/doc/intro.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ Let's see an example. This Rust code will not compile:
424424
use std::thread::Thread;
425425
426426
fn main() {
427-
let mut numbers = vec![1is, 2, 3];
427+
let mut numbers = vec![1, 2, 3];
428428
429429
for i in 0..3 {
430430
Thread::spawn(move || {
@@ -478,7 +478,7 @@ use std::thread::Thread;
478478
use std::sync::{Arc,Mutex};
479479
480480
fn main() {
481-
let numbers = Arc::new(Mutex::new(vec![1is, 2, 3]));
481+
let numbers = Arc::new(Mutex::new(vec![1, 2, 3]));
482482
483483
for i in 0us..3 {
484484
let number = numbers.clone();
@@ -539,7 +539,7 @@ safety check that makes this an error about moved values:
539539
use std::thread::Thread;
540540
541541
fn main() {
542-
let vec = vec![1is, 2, 3];
542+
let vec = vec![1, 2, 3];
543543
544544
for i in 0us..3 {
545545
Thread::spawn(move || {

src/doc/reference.md

+23-21
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ cases mentioned in [Number literals](#number-literals) below.
268268
##### Suffixes
269269
| Integer | Floating-point |
270270
|---------|----------------|
271-
| `is` (`isize`), `us` (`usize`), `u8`, `i8`, `u16`, `i16`, `u32`, `i32`, `u64`, `i64` | `f32`, `f64` |
271+
| `u8`, `i8`, `u16`, `i16`, `u32`, `i32`, `u64`, `i64`, `is` (`isize`), `us` (`usize`) | `f32`, `f64` |
272272

273273
#### Character and string literals
274274

@@ -468,27 +468,29 @@ Like any literal, an integer literal may be followed (immediately,
468468
without any spaces) by an _integer suffix_, which forcibly sets the
469469
type of the literal. There are 10 valid values for an integer suffix:
470470

471-
* The `is` and `us` suffixes give the literal type `isize` or `usize`,
472-
respectively.
473471
* Each of the signed and unsigned machine types `u8`, `i8`,
474472
`u16`, `i16`, `u32`, `i32`, `u64` and `i64`
475473
give the literal the corresponding machine type.
474+
* The `is` and `us` suffixes give the literal type `isize` or `usize`,
475+
respectively.
476476

477477
The type of an _unsuffixed_ integer literal is determined by type inference.
478478
If an integer type can be _uniquely_ determined from the surrounding program
479479
context, the unsuffixed integer literal has that type. If the program context
480-
underconstrains the type, it is considered a static type error; if the program
481-
context overconstrains the type, it is also considered a static type error.
480+
underconstrains the type, it defaults to the signed 32-bit integer `i32`; if
481+
the program context overconstrains the type, it is considered a static type
482+
error.
482483

483484
Examples of integer literals of various forms:
484485

485486
```
486-
123is; // type isize
487-
123us; // type usize
488-
123_us; // type usize
487+
123i32; // type i32
488+
123u32; // type u32
489+
123_u32; // type u32
489490
0xff_u8; // type u8
490491
0o70_i16; // type i16
491492
0b1111_1111_1001_0000_i32; // type i32
493+
0us; // type usize
492494
```
493495

494496
##### Floating-point literals
@@ -1135,8 +1137,8 @@ used as a type name.
11351137

11361138
When a generic function is referenced, its type is instantiated based on the
11371139
context of the reference. For example, calling the `iter` function defined
1138-
above on `[1, 2]` will instantiate type parameter `T` with `isize`, and require
1139-
the closure parameter to have type `fn(isize)`.
1140+
above on `[1, 2]` will instantiate type parameter `T` with `i32`, and require
1141+
the closure parameter to have type `fn(i32)`.
11401142

11411143
The type parameters can also be explicitly supplied in a trailing
11421144
[path](#paths) component after the function name. This might be necessary if
@@ -2746,9 +2748,9 @@ constant expression that can be evaluated at compile time, such as a
27462748
[literal](#literals) or a [static item](#static-items).
27472749

27482750
```
2749-
[1is, 2, 3, 4];
2751+
[1, 2, 3, 4];
27502752
["a", "b", "c", "d"];
2751-
[0is; 128]; // array with 128 zeros
2753+
[0; 128]; // array with 128 zeros
27522754
[0u8, 0u8, 0u8, 0u8];
27532755
```
27542756

@@ -2921,7 +2923,7 @@ moves](#moved-and-copied-types) its right-hand operand to its left-hand
29212923
operand.
29222924

29232925
```
2924-
# let mut x = 0is;
2926+
# let mut x = 0;
29252927
# let y = 0;
29262928
29272929
x = y;
@@ -3307,11 +3309,11 @@ fn main() {
33073309
```
33083310

33093311
Patterns can also dereference pointers by using the `&`, `&mut` and `box`
3310-
symbols, as appropriate. For example, these two matches on `x: &isize` are
3312+
symbols, as appropriate. For example, these two matches on `x: &i32` are
33113313
equivalent:
33123314

33133315
```
3314-
# let x = &3is;
3316+
# let x = &3;
33153317
let y = match *x { 0 => "zero", _ => "some" };
33163318
let z = match x { &0 => "zero", _ => "some" };
33173319
@@ -3332,7 +3334,7 @@ Multiple match patterns may be joined with the `|` operator. A range of values
33323334
may be specified with `...`. For example:
33333335

33343336
```
3335-
# let x = 2is;
3337+
# let x = 2;
33363338
33373339
let message = match x {
33383340
0 | 1 => "not many",
@@ -3673,16 +3675,16 @@ The type of a closure mapping an input of type `A` to an output of type `B` is
36733675
An example of creating and calling a closure:
36743676

36753677
```rust
3676-
let captured_var = 10is;
3678+
let captured_var = 10;
36773679

36783680
let closure_no_args = |&:| println!("captured_var={}", captured_var);
36793681

3680-
let closure_args = |&: arg: isize| -> isize {
3682+
let closure_args = |&: arg: i32| -> i32 {
36813683
println!("captured_var={}, arg={}", captured_var, arg);
36823684
arg // Note lack of semicolon after 'arg'
36833685
};
36843686

3685-
fn call_closure<F: Fn(), G: Fn(isize) -> isize>(c1: F, c2: G) {
3687+
fn call_closure<F: Fn(), G: Fn(i32) -> i32>(c1: F, c2: G) {
36863688
c1();
36873689
c2(2);
36883690
}
@@ -3714,7 +3716,7 @@ trait Printable {
37143716
fn stringify(&self) -> String;
37153717
}
37163718
3717-
impl Printable for isize {
3719+
impl Printable for i32 {
37183720
fn stringify(&self) -> String { self.to_string() }
37193721
}
37203722
@@ -3723,7 +3725,7 @@ fn print(a: Box<Printable>) {
37233725
}
37243726
37253727
fn main() {
3726-
print(Box::new(10is) as Box<Printable>);
3728+
print(Box::new(10) as Box<Printable>);
37273729
}
37283730
```
37293731

src/libcollections/dlist.rs

+15-15
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ impl<T> DList<T> {
333333
///
334334
/// let mut dl = DList::new();
335335
///
336-
/// dl.push_front(2is);
336+
/// dl.push_front(2);
337337
/// assert_eq!(dl.len(), 1);
338338
///
339339
/// dl.push_front(1);
@@ -360,10 +360,10 @@ impl<T> DList<T> {
360360
///
361361
/// let mut dl = DList::new();
362362
///
363-
/// dl.push_front(2is);
363+
/// dl.push_front(2);
364364
/// dl.push_front(1);
365365
/// assert_eq!(dl.len(), 2);
366-
/// assert_eq!(dl.front(), Some(&1is));
366+
/// assert_eq!(dl.front(), Some(&1));
367367
///
368368
/// dl.clear();
369369
/// assert_eq!(dl.len(), 0);
@@ -388,7 +388,7 @@ impl<T> DList<T> {
388388
/// assert_eq!(dl.front(), None);
389389
///
390390
/// dl.push_front(1);
391-
/// assert_eq!(dl.front(), Some(&1is));
391+
/// assert_eq!(dl.front(), Some(&1));
392392
///
393393
/// ```
394394
#[inline]
@@ -409,13 +409,13 @@ impl<T> DList<T> {
409409
/// assert_eq!(dl.front(), None);
410410
///
411411
/// dl.push_front(1);
412-
/// assert_eq!(dl.front(), Some(&1is));
412+
/// assert_eq!(dl.front(), Some(&1));
413413
///
414414
/// match dl.front_mut() {
415415
/// None => {},
416-
/// Some(x) => *x = 5is,
416+
/// Some(x) => *x = 5,
417417
/// }
418-
/// assert_eq!(dl.front(), Some(&5is));
418+
/// assert_eq!(dl.front(), Some(&5));
419419
///
420420
/// ```
421421
#[inline]
@@ -436,7 +436,7 @@ impl<T> DList<T> {
436436
/// assert_eq!(dl.back(), None);
437437
///
438438
/// dl.push_back(1);
439-
/// assert_eq!(dl.back(), Some(&1is));
439+
/// assert_eq!(dl.back(), Some(&1));
440440
///
441441
/// ```
442442
#[inline]
@@ -457,13 +457,13 @@ impl<T> DList<T> {
457457
/// assert_eq!(dl.back(), None);
458458
///
459459
/// dl.push_back(1);
460-
/// assert_eq!(dl.back(), Some(&1is));
460+
/// assert_eq!(dl.back(), Some(&1));
461461
///
462462
/// match dl.back_mut() {
463463
/// None => {},
464-
/// Some(x) => *x = 5is,
464+
/// Some(x) => *x = 5,
465465
/// }
466-
/// assert_eq!(dl.back(), Some(&5is));
466+
/// assert_eq!(dl.back(), Some(&5));
467467
///
468468
/// ```
469469
#[inline]
@@ -483,8 +483,8 @@ impl<T> DList<T> {
483483
///
484484
/// let mut dl = DList::new();
485485
///
486-
/// dl.push_front(2is);
487-
/// assert_eq!(dl.front().unwrap(), &2is);
486+
/// dl.push_front(2);
487+
/// assert_eq!(dl.front().unwrap(), &2);
488488
///
489489
/// dl.push_front(1);
490490
/// assert_eq!(dl.front().unwrap(), &1);
@@ -508,7 +508,7 @@ impl<T> DList<T> {
508508
/// let mut d = DList::new();
509509
/// assert_eq!(d.pop_front(), None);
510510
///
511-
/// d.push_front(1is);
511+
/// d.push_front(1);
512512
/// d.push_front(3);
513513
/// assert_eq!(d.pop_front(), Some(3));
514514
/// assert_eq!(d.pop_front(), Some(1));
@@ -568,7 +568,7 @@ impl<T> DList<T> {
568568
///
569569
/// let mut d = DList::new();
570570
///
571-
/// d.push_front(1is);
571+
/// d.push_front(1);
572572
/// d.push_front(2);
573573
/// d.push_front(3);
574574
///

src/libcoretest/hash/mod.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ fn test_writer_hasher() {
5050
assert_eq!(hash(&5u16), 5);
5151
assert_eq!(hash(&5u32), 5);
5252
assert_eq!(hash(&5u64), 5);
53-
assert_eq!(hash(&5u), 5);
53+
assert_eq!(hash(&5us), 5);
5454

5555
assert_eq!(hash(&5i8), 5);
5656
assert_eq!(hash(&5i16), 5);
5757
assert_eq!(hash(&5i32), 5);
5858
assert_eq!(hash(&5i64), 5);
59-
assert_eq!(hash(&5), 5);
59+
assert_eq!(hash(&5is), 5);
6060

6161
assert_eq!(hash(&false), 0);
6262
assert_eq!(hash(&true), 1);
@@ -76,12 +76,12 @@ fn test_writer_hasher() {
7676
// FIXME (#18248) Add tests for hashing Rc<str> and Rc<[T]>
7777

7878
unsafe {
79-
let ptr: *const i32 = mem::transmute(5is);
79+
let ptr: *const i32 = mem::transmute(5us);
8080
assert_eq!(hash(&ptr), 5);
8181
}
8282

8383
unsafe {
84-
let ptr: *mut i32 = mem::transmute(5is);
84+
let ptr: *mut i32 = mem::transmute(5us);
8585
assert_eq!(hash(&ptr), 5);
8686
}
8787
}

src/libcoretest/iter.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ fn test_iterator_size_hint() {
375375
assert_eq!(c.clone().enumerate().size_hint(), (uint::MAX, None));
376376
assert_eq!(c.clone().chain(vi.clone().map(|&i| i)).size_hint(), (uint::MAX, None));
377377
assert_eq!(c.clone().zip(vi.clone()).size_hint(), (10, Some(10)));
378-
assert_eq!(c.clone().scan(0i, |_,_| Some(0)).size_hint(), (0, None));
378+
assert_eq!(c.clone().scan(0, |_,_| Some(0)).size_hint(), (0, None));
379379
assert_eq!(c.clone().filter(|_| false).size_hint(), (0, None));
380380
assert_eq!(c.clone().map(|_| 0).size_hint(), (uint::MAX, None));
381381
assert_eq!(c.filter_map(|_| Some(0)).size_hint(), (0, None));
@@ -389,7 +389,7 @@ fn test_iterator_size_hint() {
389389
assert_eq!(vi.clone().enumerate().size_hint(), (10, Some(10)));
390390
assert_eq!(vi.clone().chain(v2.iter()).size_hint(), (13, Some(13)));
391391
assert_eq!(vi.clone().zip(v2.iter()).size_hint(), (3, Some(3)));
392-
assert_eq!(vi.clone().scan(0i, |_,_| Some(0)).size_hint(), (0, Some(10)));
392+
assert_eq!(vi.clone().scan(0, |_,_| Some(0)).size_hint(), (0, Some(10)));
393393
assert_eq!(vi.clone().filter(|_| false).size_hint(), (0, Some(10)));
394394
assert_eq!(vi.clone().map(|&i| i+1).size_hint(), (10, Some(10)));
395395
assert_eq!(vi.filter_map(|_| Some(0)).size_hint(), (0, Some(10)));

src/libcoretest/option.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ fn test_ord() {
223223
/* FIXME(#20575)
224224
#[test]
225225
fn test_collect() {
226-
let v: Option<Vec<int>> = (0..0).map(|_| Some(0i)).collect();
226+
let v: Option<Vec<int>> = (0..0).map(|_| Some(0)).collect();
227227
assert!(v == Some(vec![]));
228228
229229
let v: Option<Vec<int>> = (0..3).map(|x| Some(x)).collect();

src/libstd/collections/hash/set.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1198,7 +1198,7 @@ mod test_set {
11981198

11991199
#[test]
12001200
fn test_drain() {
1201-
let mut s: HashSet<int> = (1is..100).collect();
1201+
let mut s: HashSet<i32> = (1..100).collect();
12021202

12031203
// try this a bunch of times to make sure we don't screw up internal state.
12041204
for _ in 0..20 {
@@ -1217,7 +1217,7 @@ mod test_set {
12171217
for _ in s.iter() { panic!("s should be empty!"); }
12181218

12191219
// reset to try again.
1220-
s.extend(1is..100);
1220+
s.extend(1..100);
12211221
}
12221222
}
12231223
}

src/libstd/old_io/fs.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1101,7 +1101,7 @@ mod test {
11011101
let dir = &tmpdir.join("di_readdir");
11021102
check!(mkdir(dir, old_io::USER_RWX));
11031103
let prefix = "foo";
1104-
for n in 0is..3 {
1104+
for n in 0..3 {
11051105
let f = dir.join(format!("{}.txt", n));
11061106
let mut w = check!(File::create(&f));
11071107
let msg_str = format!("{}{}", prefix, n);

src/libstd/old_io/net/tcp.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1160,7 +1160,7 @@ mod test {
11601160
tx.send(TcpStream::connect(addr).unwrap()).unwrap();
11611161
});
11621162
let _l = rx.recv().unwrap();
1163-
for i in 0is..1001 {
1163+
for i in 0i32..1001 {
11641164
match a.accept() {
11651165
Ok(..) => break,
11661166
Err(ref e) if e.kind == TimedOut => {}
@@ -1260,7 +1260,7 @@ mod test {
12601260
assert_eq!(s.read(&mut [0]).err().unwrap().kind, TimedOut);
12611261

12621262
s.set_timeout(Some(20));
1263-
for i in 0is..1001 {
1263+
for i in 0i32..1001 {
12641264
match s.write(&[0; 128 * 1024]) {
12651265
Ok(()) | Err(IoError { kind: ShortWrite(..), .. }) => {},
12661266
Err(IoError { kind: TimedOut, .. }) => break,
@@ -1318,7 +1318,7 @@ mod test {
13181318

13191319
let mut s = a.accept().unwrap();
13201320
s.set_write_timeout(Some(20));
1321-
for i in 0is..1001 {
1321+
for i in 0i32..1001 {
13221322
match s.write(&[0; 128 * 1024]) {
13231323
Ok(()) | Err(IoError { kind: ShortWrite(..), .. }) => {},
13241324
Err(IoError { kind: TimedOut, .. }) => break,

src/libsyntax/parse/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,7 @@ pub fn byte_lit(lit: &str) -> (u8, usize) {
573573
if lit.len() == 1 {
574574
(lit.as_bytes()[0], 1)
575575
} else {
576-
assert!(lit.as_bytes()[0] == b'\\', err(0is));
576+
assert!(lit.as_bytes()[0] == b'\\', err(0));
577577
let b = match lit.as_bytes()[1] {
578578
b'"' => b'"',
579579
b'n' => b'\n',

src/libsyntax/print/pp.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ pub fn mk_printer(out: Box<old_io::Writer+'static>, linewidth: usize) -> Printer
167167
let n: usize = 3 * linewidth;
168168
debug!("mk_printer {}", linewidth);
169169
let token: Vec<Token> = repeat(Token::Eof).take(n).collect();
170-
let size: Vec<isize> = repeat(0is).take(n).collect();
170+
let size: Vec<isize> = repeat(0).take(n).collect();
171171
let scan_stack: Vec<usize> = repeat(0us).take(n).collect();
172172
Printer {
173173
out: out,

0 commit comments

Comments
 (0)