Skip to content

Commit 569f759

Browse files
committed
---
yaml --- r: 186365 b: refs/heads/try c: 684e43e h: refs/heads/master i: 186363: 18bce19 v: v3
1 parent 4986824 commit 569f759

File tree

102 files changed

+324
-953
lines changed

Some content is hidden

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

102 files changed

+324
-953
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: b4c965ee803a4521d8b4575f634e036f93e408f3
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 3a96d6a9818fe2affc98a187fb1065120458cee9
5-
refs/heads/try: 74b8740719c1b427f79b67d6bc51e9d448dd9c49
5+
refs/heads/try: 684e43e712d1e58799cd81f55e56ff4361108564
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
88
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596

branches/try/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/try/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/try/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/try/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/try/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/try/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/try/src/libcollections/ring_buf.rs

Lines changed: 2 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

branches/try/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/try/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/try/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"]

branches/try/src/liblibc/lib.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#![cfg_attr(not(feature = "cargo-build"), staged_api)]
1717
#![cfg_attr(not(feature = "cargo-build"), feature(core))]
1818
#![feature(int_uint)]
19-
#![feature(no_std)]
2019
#![no_std]
2120
#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
2221
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
@@ -5730,9 +5729,8 @@ pub fn issue_14344_workaround() {} // FIXME #14344 force linkage to happen corre
57305729

57315730
#[test] fn work_on_windows() { } // FIXME #10872 needed for a happy windows
57325731

5733-
// NOTE: remove after next snapshot
57345732
#[doc(hidden)]
5735-
#[cfg(all(stage0, not(test)))]
5733+
#[cfg(not(test))]
57365734
mod std {
57375735
pub use core::marker;
57385736
}

branches/try/src/librand/lib.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
html_root_url = "http://doc.rust-lang.org/nightly/",
2424
html_playground_url = "http://play.rust-lang.org/")]
2525
#![feature(int_uint)]
26-
#![feature(no_std)]
2726
#![no_std]
2827
#![unstable(feature = "rand")]
2928
#![feature(staged_api)]
@@ -497,8 +496,7 @@ pub struct Open01<F>(pub F);
497496
/// ```
498497
pub struct Closed01<F>(pub F);
499498

500-
// NOTE: remove after next snapshot
501-
#[cfg(all(stage0, not(test)))]
499+
#[cfg(not(test))]
502500
mod std {
503501
pub use core::{option, fmt}; // panic!()
504502
pub use core::clone; // derive Clone

branches/try/src/librustc/metadata/loader.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -370,8 +370,9 @@ impl<'a> Context<'a> {
370370
// must be loaded via -L plus some filtering.
371371
if self.hash.is_none() {
372372
self.should_match_name = false;
373-
if let Some(s) = self.sess.opts.externs.get(self.crate_name) {
374-
return self.find_commandline_library(s);
373+
match self.find_commandline_library() {
374+
Some(l) => return Some(l),
375+
None => {}
375376
}
376377
self.should_match_name = true;
377378
}
@@ -618,7 +619,12 @@ impl<'a> Context<'a> {
618619
(t.options.dll_prefix.clone(), t.options.dll_suffix.clone())
619620
}
620621

621-
fn find_commandline_library(&mut self, locs: &[String]) -> Option<Library> {
622+
fn find_commandline_library(&mut self) -> Option<Library> {
623+
let locs = match self.sess.opts.externs.get(self.crate_name) {
624+
Some(s) => s,
625+
None => return None,
626+
};
627+
622628
// First, filter out all libraries that look suspicious. We only accept
623629
// files which actually exist that have the correct naming scheme for
624630
// rlibs/dylibs.

0 commit comments

Comments
 (0)