Skip to content

Commit c4584ad

Browse files
author
Keegan McAllister
committed
---
yaml --- r: 183286 b: refs/heads/beta c: 96c3a13 h: refs/heads/master v: v3
1 parent f62b7c2 commit c4584ad

File tree

135 files changed

+425
-1182
lines changed

Some content is hidden

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

135 files changed

+425
-1182
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ refs/heads/automation-fail: 1bf06495443584539b958873e04cc2f864ab10e4
3131
refs/heads/issue-18208-method-dispatch-3-quick-reject: 2009f85b9f99dedcec4404418eda9ddba90258a2
3232
refs/heads/batch: b7fd822592a4fb577552d93010c4a4e14f314346
3333
refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
34-
refs/heads/beta: cdaf3a4393927ddfba071cfbfe86d95b68e7ae3e
34+
refs/heads/beta: 96c3a13680d521387007e2f6575483c24561ecb3
3535
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
3636
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
3737
refs/heads/tmp: eb836bf767aa1d8d4cba488a9091cde3c0ab4b2f

branches/beta/src/doc/reference.md

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -256,11 +256,11 @@ cases mentioned in [Number literals](#number-literals) below.
256256

257257
| [Number literals](#number-literals)`*` | Example | Exponentiation | Suffixes |
258258
|----------------------------------------|---------|----------------|----------|
259-
| Decimal integer | `98_222` | `N/A` | Integer suffixes |
260-
| Hex integer | `0xff` | `N/A` | Integer suffixes |
261-
| Octal integer | `0o77` | `N/A` | Integer suffixes |
262-
| Binary integer | `0b1111_0000` | `N/A` | Integer suffixes |
263-
| Floating-point | `123.0E+77` | `Optional` | Floating-point suffixes |
259+
| Decimal integer | `98_222is` | `N/A` | Integer suffixes |
260+
| Hex integer | `0xffis` | `N/A` | Integer suffixes |
261+
| Octal integer | `0o77is` | `N/A` | Integer suffixes |
262+
| Binary integer | `0b1111_0000is` | `N/A` | Integer suffixes |
263+
| Floating-point | `123.0E+77f64` | `Optional` | Floating-point suffixes |
264264

265265
`*` All number literals allow `_` as a visual separator: `1_234.0E+18f64`
266266

@@ -2467,12 +2467,6 @@ The currently implemented features of the reference compiler are:
24672467

24682468
* `associated_types` - Allows type aliases in traits. Experimental.
24692469

2470-
* `no_std` - Allows the `#![no_std]` crate attribute, which disables the implicit
2471-
`extern crate std`. This typically requires use of the unstable APIs
2472-
behind the libstd "facade", such as libcore and libcollections. It
2473-
may also cause problems when using syntax extensions, including
2474-
`#[derive]`.
2475-
24762470
If a feature is promoted to a language feature, then all existing programs will
24772471
start to receive compilation warnings about #[feature] directives which enabled
24782472
the new feature (because the directive is no longer necessary). However, if a

branches/beta/src/doc/trpl/unsafe.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,6 @@ attribute attached to the crate.
433433
```ignore
434434
// a minimal library
435435
#![crate_type="lib"]
436-
#![feature(no_std)]
437436
#![no_std]
438437
# // fn main() {} tricked you, rustdoc!
439438
```
@@ -447,8 +446,8 @@ The function marked `#[start]` is passed the command line parameters
447446
in the same format as C:
448447

449448
```
450-
#![feature(lang_items, start, no_std)]
451449
#![no_std]
450+
#![feature(lang_items, start)]
452451
453452
// Pull in the system libc library for what crt0.o likely requires
454453
extern crate libc;
@@ -474,7 +473,6 @@ correct ABI and the correct name, which requires overriding the
474473
compiler's name mangling too:
475474

476475
```ignore
477-
#![feature(no_std)]
478476
#![no_std]
479477
#![no_main]
480478
#![feature(lang_items, start)]
@@ -530,8 +528,8 @@ As an example, here is a program that will calculate the dot product of two
530528
vectors provided from C, using idiomatic Rust practices.
531529

532530
```
533-
#![feature(lang_items, start, no_std)]
534531
#![no_std]
532+
#![feature(lang_items, start)]
535533
536534
# extern crate libc;
537535
extern crate core;
@@ -578,6 +576,10 @@ extern fn panic_fmt(args: &core::fmt::Arguments,
578576
#[lang = "eh_personality"] extern fn eh_personality() {}
579577
# #[start] fn start(argc: isize, argv: *const *const u8) -> isize { 0 }
580578
# fn main() {}
579+
# mod std { // for-loops
580+
# pub use core::iter;
581+
# pub use core::option;
582+
# }
581583
```
582584

583585
Note that there is one extra lang item here which differs from the examples
@@ -654,8 +656,8 @@ and one for deallocation. A freestanding program that uses the `Box`
654656
sugar for dynamic allocations via `malloc` and `free`:
655657

656658
```
657-
#![feature(lang_items, box_syntax, start, no_std)]
658659
#![no_std]
660+
#![feature(lang_items, box_syntax, start)]
659661
660662
extern crate libc;
661663

branches/beta/src/liballoc/lib.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
6666
html_root_url = "http://doc.rust-lang.org/nightly/")]
6767

68-
#![feature(no_std)]
6968
#![no_std]
7069
#![feature(lang_items, unsafe_destructor)]
7170
#![feature(box_syntax)]
@@ -127,8 +126,7 @@ pub fn oom() -> ! {
127126
#[doc(hidden)]
128127
pub fn fixme_14344_be_sure_to_link_to_collections() {}
129128

130-
// NOTE: remove after next snapshot
131-
#[cfg(all(stage0, not(test)))]
129+
#[cfg(not(test))]
132130
#[doc(hidden)]
133131
mod std {
134132
pub use core::fmt;

branches/beta/src/liballoc/rc.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ struct RcBox<T> {
172172

173173
/// An immutable reference-counted pointer type.
174174
///
175-
/// See the [module level documentation](./index.html) for more details.
175+
/// See the [module level documentation](../index.html) for more details.
176176
#[unsafe_no_drop_flag]
177177
#[stable(feature = "rust1", since = "1.0.0")]
178178
pub struct Rc<T> {
@@ -624,7 +624,7 @@ impl<T: fmt::Debug> fmt::Debug for Rc<T> {
624624
///
625625
/// Weak references do not count when determining if the inner value should be dropped.
626626
///
627-
/// See the [module level documentation](./index.html) for more.
627+
/// See the [module level documentation](../index.html) for more.
628628
#[unsafe_no_drop_flag]
629629
#[unstable(feature = "alloc",
630630
reason = "Weak pointers may not belong in this module.")]

branches/beta/src/libcollections/btree/map.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -910,6 +910,8 @@ impl<K: Ord, Q: ?Sized, V> Index<Q> for BTreeMap<K, V>
910910
impl<K: Ord, Q: ?Sized, V> IndexMut<Q> for BTreeMap<K, V>
911911
where Q: BorrowFrom<K> + Ord
912912
{
913+
type Output = V;
914+
913915
fn index_mut(&mut self, key: &Q) -> &mut V {
914916
self.get_mut(key).expect("no entry found for key")
915917
}

branches/beta/src/libcollections/lib.rs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
#![cfg_attr(test, feature(test))]
3434
#![cfg_attr(test, allow(deprecated))] // rand
3535

36-
#![feature(no_std)]
3736
#![no_std]
3837

3938
#[macro_use]
@@ -69,7 +68,6 @@ mod bit;
6968
mod btree;
7069
pub mod dlist;
7170
pub mod enum_set;
72-
pub mod fmt;
7371
pub mod ring_buf;
7472
pub mod slice;
7573
pub mod str;
@@ -109,16 +107,15 @@ pub fn fixme_14344_be_sure_to_link_to_collections() {}
109107

110108
#[cfg(not(test))]
111109
mod std {
112-
// NOTE: remove after next snapshot
113-
#[cfg(stage0)] pub use core::clone; // derive(Clone)
114-
#[cfg(stage0)] pub use core::cmp; // derive(Eq, Ord, etc.)
115-
#[cfg(stage0)] pub use core::marker; // derive(Copy)
116-
#[cfg(stage0)] pub use core::hash; // derive(Hash)
117-
#[cfg(stage0)] pub use core::iter;
118-
#[cfg(stage0)] pub use core::fmt; // necessary for panic!()
119-
#[cfg(stage0)] pub use core::option; // necessary for panic!()
120-
110+
pub use core::fmt; // necessary for panic!()
111+
pub use core::option; // necessary for panic!()
112+
pub use core::clone; // derive(Clone)
113+
pub use core::cmp; // derive(Eq, Ord, etc.)
114+
pub use core::marker; // derive(Copy)
115+
pub use core::hash; // derive(Hash)
121116
pub use core::ops; // RangeFull
117+
// for-loops
118+
pub use core::iter;
122119
}
123120

124121
#[cfg(test)]

branches/beta/src/libcollections/macros.rs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,3 @@ macro_rules! vec {
2222
);
2323
($($x:expr,)*) => (vec![$($x),*])
2424
}
25-
26-
/// Use the syntax described in `std::fmt` to create a value of type `String`.
27-
/// See `std::fmt` for more information.
28-
///
29-
/// # Example
30-
///
31-
/// ```
32-
/// format!("test");
33-
/// format!("hello {}", "world!");
34-
/// format!("x = {}, y = {y}", 10, y = 30);
35-
/// ```
36-
#[macro_export]
37-
#[stable(feature = "rust1", since = "1.0.0")]
38-
macro_rules! format {
39-
($($arg:tt)*) => ($crate::fmt::format(format_args!($($arg)*)))
40-
}

branches/beta/src/libcollections/ring_buf.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ use core::ops::{Index, IndexMut};
2727
use core::ptr;
2828
use core::raw::Slice as RawSlice;
2929

30-
use core::hash::{Writer, Hash, Hasher};
31-
use core::cmp;
30+
use std::hash::{Writer, Hash, Hasher};
31+
use std::cmp;
3232

3333
use alloc::heap;
3434

@@ -1591,6 +1591,8 @@ impl<A> Index<usize> for RingBuf<A> {
15911591

15921592
#[stable(feature = "rust1", since = "1.0.0")]
15931593
impl<A> IndexMut<usize> for RingBuf<A> {
1594+
type Output = A;
1595+
15941596
#[inline]
15951597
fn index_mut(&mut self, i: &usize) -> &mut A {
15961598
self.get_mut(*i).expect("Out of bounds access")

branches/beta/src/libcollections/vec.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1286,6 +1286,8 @@ impl<T> Index<usize> for Vec<T> {
12861286

12871287
#[stable(feature = "rust1", since = "1.0.0")]
12881288
impl<T> IndexMut<usize> for Vec<T> {
1289+
type Output = T;
1290+
12891291
#[inline]
12901292
fn index_mut(&mut self, index: &usize) -> &mut T {
12911293
// NB built-in indexing via `&mut [T]`
@@ -1329,27 +1331,31 @@ impl<T> ops::Index<ops::RangeFull> for Vec<T> {
13291331

13301332
#[stable(feature = "rust1", since = "1.0.0")]
13311333
impl<T> ops::IndexMut<ops::Range<usize>> for Vec<T> {
1334+
type Output = [T];
13321335
#[inline]
13331336
fn index_mut(&mut self, index: &ops::Range<usize>) -> &mut [T] {
13341337
IndexMut::index_mut(&mut **self, index)
13351338
}
13361339
}
13371340
#[stable(feature = "rust1", since = "1.0.0")]
13381341
impl<T> ops::IndexMut<ops::RangeTo<usize>> for Vec<T> {
1342+
type Output = [T];
13391343
#[inline]
13401344
fn index_mut(&mut self, index: &ops::RangeTo<usize>) -> &mut [T] {
13411345
IndexMut::index_mut(&mut **self, index)
13421346
}
13431347
}
13441348
#[stable(feature = "rust1", since = "1.0.0")]
13451349
impl<T> ops::IndexMut<ops::RangeFrom<usize>> for Vec<T> {
1350+
type Output = [T];
13461351
#[inline]
13471352
fn index_mut(&mut self, index: &ops::RangeFrom<usize>) -> &mut [T] {
13481353
IndexMut::index_mut(&mut **self, index)
13491354
}
13501355
}
13511356
#[stable(feature = "rust1", since = "1.0.0")]
13521357
impl<T> ops::IndexMut<ops::RangeFull> for Vec<T> {
1358+
type Output = [T];
13531359
#[inline]
13541360
fn index_mut(&mut self, _index: &ops::RangeFull) -> &mut [T] {
13551361
self.as_mut_slice()

branches/beta/src/libcollections/vec_map.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -712,6 +712,8 @@ impl<V> Index<usize> for VecMap<V> {
712712

713713
#[stable(feature = "rust1", since = "1.0.0")]
714714
impl<V> IndexMut<usize> for VecMap<V> {
715+
type Output = V;
716+
715717
#[inline]
716718
fn index_mut<'a>(&'a mut self, i: &usize) -> &'a mut V {
717719
self.get_mut(i).expect("key not present")

branches/beta/src/libcore/iter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ use num::{ToPrimitive, Int};
6767
use ops::{Add, Deref, FnMut};
6868
use option::Option;
6969
use option::Option::{Some, None};
70-
use marker::Sized;
70+
use std::marker::Sized;
7171
use usize;
7272

7373
/// An interface for dealing with "external iterators". These types of iterators

branches/beta/src/libcore/lib.rs

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
html_root_url = "http://doc.rust-lang.org/nightly/",
5757
html_playground_url = "http://play.rust-lang.org/")]
5858

59-
#![feature(no_std)]
6059
#![no_std]
6160
#![allow(raw_pointer_derive)]
6261
#![deny(missing_docs)]
@@ -149,25 +148,17 @@ mod array;
149148
mod core {
150149
pub use panicking;
151150
pub use fmt;
152-
#[cfg(not(stage0))] pub use clone;
153-
#[cfg(not(stage0))] pub use cmp;
154-
#[cfg(not(stage0))] pub use hash;
155-
#[cfg(not(stage0))] pub use marker;
156-
#[cfg(not(stage0))] pub use option;
157-
#[cfg(not(stage0))] pub use iter;
158151
}
159152

160153
#[doc(hidden)]
161154
mod std {
162-
// NOTE: remove after next snapshot
163-
#[cfg(stage0)] pub use clone;
164-
#[cfg(stage0)] pub use cmp;
165-
#[cfg(stage0)] pub use hash;
166-
#[cfg(stage0)] pub use marker;
167-
#[cfg(stage0)] pub use option;
168-
#[cfg(stage0)] pub use fmt;
169-
#[cfg(stage0)] pub use iter;
170-
171-
// range syntax
155+
pub use clone;
156+
pub use cmp;
157+
pub use fmt;
158+
pub use hash;
159+
pub use marker;
172160
pub use ops;
161+
pub use option;
162+
// for-loops
163+
pub use iter;
173164
}

branches/beta/src/libcore/marker.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -311,17 +311,16 @@ impl<T: ?Sized> Clone for ContravariantType<T> {
311311
///
312312
/// # Example
313313
///
314-
/// The Cell type is an example of an `InvariantType` which uses unsafe
315-
/// code to achieve "interior" mutability:
314+
/// The Cell type is an example which uses unsafe code to achieve
315+
/// "interior" mutability:
316316
///
317317
/// ```
318318
/// struct Cell<T> { value: T }
319319
/// ```
320320
///
321-
/// The type system would infer that `value` is only read here
322-
/// and never written, but in fact `Cell` uses unsafe code to achieve
323-
/// interior mutability. In order to get correct behavior, the
324-
/// `InvariantType` marker must be applied.
321+
/// The type system would infer that `value` is only read here and
322+
/// never written, but in fact `Cell` uses unsafe code to achieve
323+
/// interior mutability.
325324
#[unstable(feature = "core",
326325
reason = "likely to change with new variance strategy")]
327326
#[lang="invariant_type"]

0 commit comments

Comments
 (0)