Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 1b908be

Browse files
committedSep 3, 2015
2 parents 0762f58 + e6e175b commit 1b908be

40 files changed

+212
-141
lines changed
 

‎src/doc/trpl/rust-inside-other-languages.md

+11
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,17 @@ And finally, we can try running it:
217217

218218
```bash
219219
$ ruby embed.rb
220+
Thread finished with count=5000000
221+
Thread finished with count=5000000
222+
Thread finished with count=5000000
223+
Thread finished with count=5000000
224+
Thread finished with count=5000000
225+
Thread finished with count=5000000
226+
Thread finished with count=5000000
227+
Thread finished with count=5000000
228+
Thread finished with count=5000000
229+
Thread finished with count=5000000
230+
done!
220231
done!
221232
$
222233
```

‎src/doc/trpl/traits.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ fn normal<T: ConvertTo<i64>>(x: &T) -> i64 {
390390

391391
// can be called with T == i64
392392
fn inverse<T>() -> T
393-
// this is using ConvertTo as if it were "ConvertFrom<i32>"
393+
// this is using ConvertTo as if it were "ConvertTo<i64>"
394394
where i32: ConvertTo<T> {
395395
42.convert()
396396
}

‎src/libcollections/btree/node.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ impl<K, V> Drop for Node<K, V> {
296296
self.destroy();
297297
}
298298

299-
self.keys = unsafe { Unique::new(0 as *mut K) };
299+
self.keys = unsafe { Unique::new(ptr::null_mut()) };
300300
}
301301
}
302302

‎src/libcollections/vec.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1135,7 +1135,7 @@ impl<T> ops::Deref for Vec<T> {
11351135
fn deref(&self) -> &[T] {
11361136
unsafe {
11371137
let p = self.buf.ptr();
1138-
assume(p != 0 as *mut T);
1138+
assume(!p.is_null());
11391139
slice::from_raw_parts(p, self.len)
11401140
}
11411141
}

‎src/libcore/cell.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ impl<T:Copy> Cell<T> {
231231
/// ```
232232
#[inline]
233233
#[unstable(feature = "as_unsafe_cell", issue = "27708")]
234-
pub unsafe fn as_unsafe_cell<'a>(&'a self) -> &'a UnsafeCell<T> {
234+
pub unsafe fn as_unsafe_cell(&self) -> &UnsafeCell<T> {
235235
&self.value
236236
}
237237
}
@@ -387,7 +387,7 @@ impl<T: ?Sized> RefCell<T> {
387387
/// ```
388388
#[stable(feature = "rust1", since = "1.0.0")]
389389
#[inline]
390-
pub fn borrow<'a>(&'a self) -> Ref<'a, T> {
390+
pub fn borrow(&self) -> Ref<T> {
391391
match BorrowRef::new(&self.borrow) {
392392
Some(b) => Ref {
393393
_value: unsafe { &*self.value.get() },
@@ -433,7 +433,7 @@ impl<T: ?Sized> RefCell<T> {
433433
/// ```
434434
#[stable(feature = "rust1", since = "1.0.0")]
435435
#[inline]
436-
pub fn borrow_mut<'a>(&'a self) -> RefMut<'a, T> {
436+
pub fn borrow_mut(&self) -> RefMut<T> {
437437
match BorrowRefMut::new(&self.borrow) {
438438
Some(b) => RefMut {
439439
_value: unsafe { &mut *self.value.get() },
@@ -450,7 +450,7 @@ impl<T: ?Sized> RefCell<T> {
450450
/// This function is `unsafe` because `UnsafeCell`'s field is public.
451451
#[inline]
452452
#[unstable(feature = "as_unsafe_cell", issue = "27708")]
453-
pub unsafe fn as_unsafe_cell<'a>(&'a self) -> &'a UnsafeCell<T> {
453+
pub unsafe fn as_unsafe_cell(&self) -> &UnsafeCell<T> {
454454
&self.value
455455
}
456456
}
@@ -541,7 +541,7 @@ impl<'b, T: ?Sized> Deref for Ref<'b, T> {
541541
type Target = T;
542542

543543
#[inline]
544-
fn deref<'a>(&'a self) -> &'a T {
544+
fn deref(&self) -> &T {
545545
self._value
546546
}
547547
}
@@ -750,15 +750,15 @@ impl<'b, T: ?Sized> Deref for RefMut<'b, T> {
750750
type Target = T;
751751

752752
#[inline]
753-
fn deref<'a>(&'a self) -> &'a T {
753+
fn deref(&self) -> &T {
754754
self._value
755755
}
756756
}
757757

758758
#[stable(feature = "rust1", since = "1.0.0")]
759759
impl<'b, T: ?Sized> DerefMut for RefMut<'b, T> {
760760
#[inline]
761-
fn deref_mut<'a>(&'a mut self) -> &'a mut T {
761+
fn deref_mut(&mut self) -> &mut T {
762762
self._value
763763
}
764764
}

‎src/libcore/iter.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1513,7 +1513,7 @@ impl<A, B> Iterator for Chain<A, B> where
15131513
fn next(&mut self) -> Option<A::Item> {
15141514
match self.state {
15151515
ChainState::Both => match self.a.next() {
1516-
elt @ Some(..) => return elt,
1516+
elt @ Some(..) => elt,
15171517
None => {
15181518
self.state = ChainState::Back;
15191519
self.b.next()
@@ -1590,7 +1590,7 @@ impl<A, B> DoubleEndedIterator for Chain<A, B> where
15901590
fn next_back(&mut self) -> Option<A::Item> {
15911591
match self.state {
15921592
ChainState::Both => match self.b.next_back() {
1593-
elt @ Some(..) => return elt,
1593+
elt @ Some(..) => elt,
15941594
None => {
15951595
self.state = ChainState::Front;
15961596
self.a.next_back()
@@ -1683,7 +1683,7 @@ impl<B, I: Iterator, F> Iterator for Map<I, F> where F: FnMut(I::Item) -> B {
16831683

16841684
#[inline]
16851685
fn next(&mut self) -> Option<B> {
1686-
self.iter.next().map(|a| (self.f)(a))
1686+
self.iter.next().map(&mut self.f)
16871687
}
16881688

16891689
#[inline]
@@ -1698,7 +1698,7 @@ impl<B, I: DoubleEndedIterator, F> DoubleEndedIterator for Map<I, F> where
16981698
{
16991699
#[inline]
17001700
fn next_back(&mut self) -> Option<B> {
1701-
self.iter.next_back().map(|a| (self.f)(a))
1701+
self.iter.next_back().map(&mut self.f)
17021702
}
17031703
}
17041704

@@ -2210,7 +2210,7 @@ impl<I: Iterator, U: IntoIterator, F> Iterator for FlatMap<I, U, F>
22102210
return Some(x)
22112211
}
22122212
}
2213-
match self.iter.next().map(|x| (self.f)(x)) {
2213+
match self.iter.next().map(&mut self.f) {
22142214
None => return self.backiter.as_mut().and_then(|it| it.next()),
22152215
next => self.frontiter = next.map(IntoIterator::into_iter),
22162216
}
@@ -2243,7 +2243,7 @@ impl<I: DoubleEndedIterator, U, F> DoubleEndedIterator for FlatMap<I, U, F> wher
22432243
return Some(y)
22442244
}
22452245
}
2246-
match self.iter.next_back().map(|x| (self.f)(x)) {
2246+
match self.iter.next_back().map(&mut self.f) {
22472247
None => return self.frontiter.as_mut().and_then(|it| it.next_back()),
22482248
next => self.backiter = next.map(IntoIterator::into_iter),
22492249
}

‎src/libcore/nonzero.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ impl<T: Zeroable> Deref for NonZero<T> {
5151
type Target = T;
5252

5353
#[inline]
54-
fn deref<'a>(&'a self) -> &'a T {
54+
fn deref(&self) -> &T {
5555
let NonZero(ref inner) = *self;
5656
inner
5757
}

‎src/libcore/num/flt2dec/bignum.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ macro_rules! define_bignum {
211211
self
212212
}
213213

214-
pub fn add_small<'a>(&'a mut self, other: $ty) -> &'a mut $name {
214+
pub fn add_small(&mut self, other: $ty) -> &mut $name {
215215
use num::flt2dec::bignum::FullOps;
216216

217217
let (mut carry, v) = self.base[0].full_add(other, false);
@@ -248,7 +248,7 @@ macro_rules! define_bignum {
248248

249249
/// Multiplies itself by a digit-sized `other` and returns its own
250250
/// mutable reference.
251-
pub fn mul_small<'a>(&'a mut self, other: $ty) -> &'a mut $name {
251+
pub fn mul_small(&mut self, other: $ty) -> &mut $name {
252252
use num::flt2dec::bignum::FullOps;
253253

254254
let mut sz = self.size;
@@ -267,7 +267,7 @@ macro_rules! define_bignum {
267267
}
268268

269269
/// Multiplies itself by `2^bits` and returns its own mutable reference.
270-
pub fn mul_pow2<'a>(&'a mut self, bits: usize) -> &'a mut $name {
270+
pub fn mul_pow2(&mut self, bits: usize) -> &mut $name {
271271
use mem;
272272

273273
let digitbits = mem::size_of::<$ty>() * 8;
@@ -308,7 +308,7 @@ macro_rules! define_bignum {
308308
}
309309

310310
/// Multiplies itself by `5^e` and returns its own mutable reference.
311-
pub fn mul_pow5<'a>(&'a mut self, mut e: usize) -> &'a mut $name {
311+
pub fn mul_pow5(&mut self, mut e: usize) -> &mut $name {
312312
use mem;
313313
use num::flt2dec::bignum::SMALL_POW5;
314314

@@ -377,7 +377,7 @@ macro_rules! define_bignum {
377377

378378
/// Divides itself by a digit-sized `other` and returns its own
379379
/// mutable reference *and* the remainder.
380-
pub fn div_rem_small<'a>(&'a mut self, other: $ty) -> (&'a mut $name, $ty) {
380+
pub fn div_rem_small(&mut self, other: $ty) -> (&mut $name, $ty) {
381381
use num::flt2dec::bignum::FullOps;
382382

383383
assert!(other > 0);

‎src/libcore/num/flt2dec/strategy/dragon.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ static POW10TO256: [Digit; 27] =
4242
0xcc5573c0, 0x65f9ef17, 0x55bc28f2, 0x80dcc7f7, 0xf46eeddc, 0x5fdcefce, 0x553f7];
4343

4444
#[doc(hidden)]
45-
pub fn mul_pow10<'a>(x: &'a mut Big, n: usize) -> &'a mut Big {
45+
pub fn mul_pow10(x: &mut Big, n: usize) -> &mut Big {
4646
debug_assert!(n < 512);
4747
if n & 7 != 0 { x.mul_small(POW10[n & 7]); }
4848
if n & 8 != 0 { x.mul_small(POW10[8]); }
@@ -54,7 +54,7 @@ pub fn mul_pow10<'a>(x: &'a mut Big, n: usize) -> &'a mut Big {
5454
x
5555
}
5656

57-
fn div_2pow10<'a>(x: &'a mut Big, mut n: usize) -> &'a mut Big {
57+
fn div_2pow10(x: &mut Big, mut n: usize) -> &mut Big {
5858
let largest = POW10.len() - 1;
5959
while n > largest {
6060
x.div_rem_small(POW10[largest]);

‎src/libcore/ops.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -965,7 +965,7 @@ pub trait Index<Idx: ?Sized> {
965965

966966
/// The method for the indexing (`Foo[Bar]`) operation
967967
#[stable(feature = "rust1", since = "1.0.0")]
968-
fn index<'a>(&'a self, index: Idx) -> &'a Self::Output;
968+
fn index(&self, index: Idx) -> &Self::Output;
969969
}
970970

971971
/// The `IndexMut` trait is used to specify the functionality of indexing
@@ -1008,7 +1008,7 @@ pub trait Index<Idx: ?Sized> {
10081008
pub trait IndexMut<Idx: ?Sized>: Index<Idx> {
10091009
/// The method for the indexing (`Foo[Bar]`) operation
10101010
#[stable(feature = "rust1", since = "1.0.0")]
1011-
fn index_mut<'a>(&'a mut self, index: Idx) -> &'a mut Self::Output;
1011+
fn index_mut(&mut self, index: Idx) -> &mut Self::Output;
10121012
}
10131013

10141014
/// An unbounded range.
@@ -1119,7 +1119,7 @@ pub trait Deref {
11191119

11201120
/// The method called to dereference a value
11211121
#[stable(feature = "rust1", since = "1.0.0")]
1122-
fn deref<'a>(&'a self) -> &'a Self::Target;
1122+
fn deref(&self) -> &Self::Target;
11231123
}
11241124

11251125
#[stable(feature = "rust1", since = "1.0.0")]
@@ -1180,7 +1180,7 @@ impl<'a, T: ?Sized> Deref for &'a mut T {
11801180
pub trait DerefMut: Deref {
11811181
/// The method called to mutably dereference a value
11821182
#[stable(feature = "rust1", since = "1.0.0")]
1183-
fn deref_mut<'a>(&'a mut self) -> &'a mut Self::Target;
1183+
fn deref_mut(&mut self) -> &mut Self::Target;
11841184
}
11851185

11861186
#[stable(feature = "rust1", since = "1.0.0")]

‎src/libcore/option.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ impl<T> Option<T> {
241241
/// ```
242242
#[inline]
243243
#[stable(feature = "rust1", since = "1.0.0")]
244-
pub fn as_ref<'r>(&'r self) -> Option<&'r T> {
244+
pub fn as_ref(&self) -> Option<&T> {
245245
match *self {
246246
Some(ref x) => Some(x),
247247
None => None,
@@ -262,7 +262,7 @@ impl<T> Option<T> {
262262
/// ```
263263
#[inline]
264264
#[stable(feature = "rust1", since = "1.0.0")]
265-
pub fn as_mut<'r>(&'r mut self) -> Option<&'r mut T> {
265+
pub fn as_mut(&mut self) -> Option<&mut T> {
266266
match *self {
267267
Some(ref mut x) => Some(x),
268268
None => None,
@@ -289,7 +289,7 @@ impl<T> Option<T> {
289289
#[unstable(feature = "as_slice",
290290
reason = "waiting for mut conventions",
291291
issue = "27776")]
292-
pub fn as_mut_slice<'r>(&'r mut self) -> &'r mut [T] {
292+
pub fn as_mut_slice(&mut self) -> &mut [T] {
293293
match *self {
294294
Some(ref mut x) => {
295295
let result: &mut [T] = slice::mut_ref_slice(x);
@@ -692,7 +692,7 @@ impl<T> Option<T> {
692692
#[inline]
693693
#[unstable(feature = "as_slice", since = "unsure of the utility here",
694694
issue = "27776")]
695-
pub fn as_slice<'a>(&'a self) -> &'a [T] {
695+
pub fn as_slice(&self) -> &[T] {
696696
match *self {
697697
Some(ref x) => slice::ref_slice(x),
698698
None => {

‎src/libcore/ptr.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ pub use intrinsics::write_bytes;
5151
/// ```
5252
#[inline]
5353
#[stable(feature = "rust1", since = "1.0.0")]
54-
pub fn null<T>() -> *const T { 0 as *const T }
54+
pub const fn null<T>() -> *const T { 0 as *const T }
5555

5656
/// Creates a null mutable raw pointer.
5757
///
@@ -65,7 +65,7 @@ pub fn null<T>() -> *const T { 0 as *const T }
6565
/// ```
6666
#[inline]
6767
#[stable(feature = "rust1", since = "1.0.0")]
68-
pub fn null_mut<T>() -> *mut T { 0 as *mut T }
68+
pub const fn null_mut<T>() -> *mut T { 0 as *mut T }
6969

7070
/// Swaps the values at two mutable locations of the same type, without
7171
/// deinitialising either. They may overlap, unlike `mem::swap` which is
@@ -163,7 +163,7 @@ impl<T: ?Sized> *const T {
163163
#[stable(feature = "rust1", since = "1.0.0")]
164164
#[inline]
165165
pub fn is_null(self) -> bool where T: Sized {
166-
self == 0 as *const T
166+
self == null()
167167
}
168168

169169
/// Returns `None` if the pointer is null, or else returns a reference to
@@ -212,7 +212,7 @@ impl<T: ?Sized> *mut T {
212212
#[stable(feature = "rust1", since = "1.0.0")]
213213
#[inline]
214214
pub fn is_null(self) -> bool where T: Sized {
215-
self == 0 as *mut T
215+
self == null_mut()
216216
}
217217

218218
/// Returns `None` if the pointer is null, or else returns a reference to
@@ -468,7 +468,7 @@ impl<T:?Sized> Deref for Unique<T> {
468468
type Target = *mut T;
469469

470470
#[inline]
471-
fn deref<'a>(&'a self) -> &'a *mut T {
471+
fn deref(&self) -> &*mut T {
472472
unsafe { mem::transmute(&*self.pointer) }
473473
}
474474
}
There was a problem loading the remainder of the diff.

0 commit comments

Comments
 (0)
Failed to load comments.