Skip to content

Commit e480714

Browse files
committed
---
yaml --- r: 235705 b: refs/heads/stable c: cb4f102 h: refs/heads/master i: 235703: 814739e v: v3
1 parent c23202e commit e480714

Some content is hidden

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

113 files changed

+3241
-982
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ refs/heads/tmp: afae2ff723393b3ab4ccffef6ac7c6d1809e2da0
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
3030
refs/tags/homu-tmp: f859507de8c410b648d934d8f5ec1c52daac971d
3131
refs/tags/1.0.0-beta: 8cbb92b53468ee2b0c2d3eeb8567005953d40828
32-
refs/heads/stable: 91493df7523c36ec10fe576f1944e0bad4c105a2
32+
refs/heads/stable: cb4f102e38ef306e7e8e4ac747f25799b4cf7415
3333
refs/tags/1.0.0: 55bd4f8ff2b323f317ae89e254ce87162d52a375
3434
refs/tags/1.1.0: bc3c16f09287e5545c1d3f76b7abd54f2eca868b
3535
refs/tags/1.2.0: f557861f822c34f07270347b94b5280de20a597e

branches/stable/mk/rt.mk

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,6 @@ NATIVE_DEPS_miniz_$(1) = miniz.c
5454
NATIVE_DEPS_rust_builtin_$(1) := rust_builtin.c \
5555
rust_android_dummy.c
5656
NATIVE_DEPS_rustrt_native_$(1) := arch/$$(HOST_$(1))/record_sp.S
57-
ifeq ($$(findstring msvc,$(1)),msvc)
58-
ifeq ($$(findstring i686,$(1)),i686)
59-
NATIVE_DEPS_rustrt_native_$(1) += rust_try_msvc_32.ll
60-
else
61-
NATIVE_DEPS_rustrt_native_$(1) += rust_try_msvc_64.ll
62-
endif
63-
else
64-
NATIVE_DEPS_rustrt_native_$(1) += rust_try.ll
65-
endif
6657
NATIVE_DEPS_rust_test_helpers_$(1) := rust_test_helpers.c
6758
NATIVE_DEPS_morestack_$(1) := arch/$$(HOST_$(1))/morestack.S
6859

@@ -76,14 +67,6 @@ NATIVE_DEPS_morestack_$(1) := arch/$$(HOST_$(1))/morestack.S
7667

7768
RT_OUTPUT_DIR_$(1) := $(1)/rt
7869

79-
$$(RT_OUTPUT_DIR_$(1))/%.o: $(S)src/rt/%.ll $$(MKFILE_DEPS) \
80-
$$(LLVM_CONFIG_$$(CFG_BUILD))
81-
@mkdir -p $$(@D)
82-
@$$(call E, compile: $$@)
83-
$$(Q)$$(LLC_$$(CFG_BUILD)) $$(CFG_LLC_FLAGS_$(1)) \
84-
-filetype=obj -mtriple=$$(CFG_LLVM_TARGET_$(1)) \
85-
-relocation-model=pic -o $$@ $$<
86-
8770
$$(RT_OUTPUT_DIR_$(1))/%.o: $(S)src/rt/%.c $$(MKFILE_DEPS)
8871
@mkdir -p $$(@D)
8972
@$$(call E, compile: $$@)
@@ -122,7 +105,6 @@ define THIRD_PARTY_LIB
122105
OBJS_$(2)_$(1) := $$(NATIVE_DEPS_$(2)_$(1):%=$$(RT_OUTPUT_DIR_$(1))/%)
123106
OBJS_$(2)_$(1) := $$(OBJS_$(2)_$(1):.c=.o)
124107
OBJS_$(2)_$(1) := $$(OBJS_$(2)_$(1):.cpp=.o)
125-
OBJS_$(2)_$(1) := $$(OBJS_$(2)_$(1):.ll=.o)
126108
OBJS_$(2)_$(1) := $$(OBJS_$(2)_$(1):.S=.o)
127109
NATIVE_$(2)_$(1) := $$(call CFG_STATIC_LIB_NAME_$(1),$(2))
128110
$$(RT_OUTPUT_DIR_$(1))/$$(NATIVE_$(2)_$(1)): $$(OBJS_$(2)_$(1))

branches/stable/src/doc/trpl/ffi.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ libraries:
340340
Note that frameworks are only available on OSX targets.
341341
342342
The different `kind` values are meant to differentiate how the native library
343-
participates in linkage. From a linkage perspective, the rust compiler creates
343+
participates in linkage. From a linkage perspective, the Rust compiler creates
344344
two flavors of artifacts: partial (rlib/staticlib) and final (dylib/binary).
345345
Native dynamic library and framework dependencies are propagated to the final
346346
artifact boundary, while static library dependencies are not propagated at
@@ -350,9 +350,9 @@ artifact.
350350
A few examples of how this model can be used are:
351351
352352
* A native build dependency. Sometimes some C/C++ glue is needed when writing
353-
some rust code, but distribution of the C/C++ code in a library format is just
353+
some Rust code, but distribution of the C/C++ code in a library format is just
354354
a burden. In this case, the code will be archived into `libfoo.a` and then the
355-
rust crate would declare a dependency via `#[link(name = "foo", kind =
355+
Rust crate would declare a dependency via `#[link(name = "foo", kind =
356356
"static")]`.
357357
358358
Regardless of the flavor of output for the crate, the native static library
@@ -361,7 +361,7 @@ A few examples of how this model can be used are:
361361
362362
* A normal dynamic dependency. Common system libraries (like `readline`) are
363363
available on a large number of systems, and often a static copy of these
364-
libraries cannot be found. When this dependency is included in a rust crate,
364+
libraries cannot be found. When this dependency is included in a Rust crate,
365365
partial targets (like rlibs) will not link to the library, but when the rlib
366366
is included in a final target (like a binary), the native library will be
367367
linked in.

branches/stable/src/doc/trpl/installing-rust.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The first step to using Rust is to install it! There are a number of ways to
44
install Rust, but the easiest is to use the `rustup` script. If you're on Linux
5-
or a Mac, all you need to do is this:
5+
or a Mac, all you need to do is this:
66

77
> Note: you don't need to type in the `$`s, they just indicate the start of
88
> each command. You’ll see many tutorials and examples around the web that
@@ -25,6 +25,12 @@ $ sh rustup.sh
2525
[insecurity]: http://curlpipesh.tumblr.com
2626

2727
If you're on Windows, please download the appropriate [installer][install-page].
28+
**NOTE:** By default, the Windows installer will not add Rust to the %PATH%
29+
system variable. If this is the only version of Rust you are installing and you
30+
want to be able to run it from the command line, click on "Advanced" on the
31+
install dialog and on the "Product Features" page ensure "Add to PATH" is
32+
installed on the local hard drive.
33+
2834

2935
[install-page]: http://www.rust-lang.org/install.html
3036

@@ -87,6 +93,11 @@ rustc 1.0.0 (a59de37e9 2015-05-13)
8793

8894
If you did, Rust has been installed successfully! Congrats!
8995

96+
If you didn't and you're on Windows, check that Rust is in your %PATH% system
97+
variable. If it isn't, run the installer again, select "Change" on the "Change,
98+
repair, or remove installation" page and ensure "Add to PATH" is installed on
99+
the local hard drive.
100+
90101
This installer also installs a copy of the documentation locally, so you can
91102
read it offline. On UNIX systems, `/usr/local/share/doc/rust` is the location.
92103
On Windows, it's in a `share/doc` directory, inside wherever you installed Rust
@@ -101,5 +112,5 @@ resources include [the user’s forum][users], and
101112

102113
[irc]: irc://irc.mozilla.org/#rust
103114
[mibbit]: http://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust
104-
[users]: http://users.rust-lang.org/
115+
[users]: http://users.rust-lang.org/
105116
[stackoverflow]: http://stackoverflow.com/questions/tagged/rust

branches/stable/src/doc/trpl/release-channels.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,26 @@ This will help alert the team in case there’s an accidental regression.
4343
Additionally, testing against nightly can catch regressions even sooner, and so
4444
if you don’t mind a third build, we’d appreciate testing against all channels.
4545

46+
As an example, many Rust programmers use [Travis](https://travis-ci.org/) to
47+
test their crates, which is free for open source projects. Travis [supports
48+
Rust directly][travis], and you can use a `.travis.yml` file like this to
49+
test on all channels:
50+
51+
```yaml
52+
language: rust
53+
rust:
54+
- nightly
55+
- beta
56+
- stable
57+
58+
matrix:
59+
allow_failures:
60+
- rust: nightly
61+
```
62+
63+
[travis]: http://docs.travis-ci.com/user/languages/rust/
64+
65+
With this configuration, Travis will test all three channels, but if something
66+
breaks on nightly, it won’t fail your build. A similar configuration is
67+
recommended for any CI system, check the documentation of the one you’re
68+
using for more details.

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,14 @@ that you normally can not do. Just three. Here they are:
100100

101101
That’s it. It’s important that `unsafe` does not, for example, ‘turn off the
102102
borrow checker’. Adding `unsafe` to some random Rust code doesn’t change its
103-
semantics, it won’t just start accepting anything.
103+
semantics, it won’t just start accepting anything. But it will let you write
104+
things that _do_ break some of the rules.
104105

105-
But it will let you write things that _do_ break some of the rules. Let’s go
106-
over these three abilities in order.
106+
You will also encounter the `unsafe` keyword when writing bindings to foreign
107+
(non-Rust) interfaces. You're encouraged to write a safe, native Rust interface
108+
around the methods provided by the library.
109+
110+
Let’s go over the basic three abilities listed, in order.
107111

108112
## Access or update a `static mut`
109113

branches/stable/src/liballoc/lib.rs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -135,20 +135,3 @@ pub fn oom() -> ! {
135135
// allocate.
136136
unsafe { core::intrinsics::abort() }
137137
}
138-
139-
// FIXME(#14344): When linking liballoc with libstd, this library will be linked
140-
// as an rlib (it only exists as an rlib). It turns out that an
141-
// optimized standard library doesn't actually use *any* symbols
142-
// from this library. Everything is inlined and optimized away.
143-
// This means that linkers will actually omit the object for this
144-
// file, even though it may be needed in the future.
145-
//
146-
// To get around this for now, we define a dummy symbol which
147-
// will never get inlined so the stdlib can call it. The stdlib's
148-
// reference to this symbol will cause this library's object file
149-
// to get linked in to libstd successfully (the linker won't
150-
// optimize it out).
151-
#[doc(hidden)]
152-
#[unstable(feature = "issue_14344_fixme")]
153-
#[cfg(stage0)]
154-
pub fn fixme_14344_be_sure_to_link_to_collections() {}

branches/stable/src/libcollections/lib.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,13 +133,6 @@ pub mod btree_set {
133133
pub use btree::set::*;
134134
}
135135

136-
137-
// FIXME(#14344) this shouldn't be necessary
138-
#[doc(hidden)]
139-
#[unstable(feature = "issue_14344_fixme")]
140-
#[cfg(stage0)]
141-
pub fn fixme_14344_be_sure_to_link_to_collections() {}
142-
143136
#[cfg(not(test))]
144137
mod std {
145138
pub use core::ops; // RangeFull

branches/stable/src/libcollections/slice.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
//! Utilities for slice manipulation
11+
//! A dynamically-sized view into a contiguous sequence, `[T]`.
1212
//!
13-
//! The `slice` module contains useful code to help work with slice values.
1413
//! Slices are a view into a block of memory represented as a pointer and a
1514
//! length.
1615
//!
@@ -78,7 +77,8 @@
7877
//! iterators.
7978
//! * Further methods that return iterators are `.split()`, `.splitn()`,
8079
//! `.chunks()`, `.windows()` and more.
81-
#![doc(primitive = "slice")]
80+
//!
81+
//! *[See also the slice primitive type](../primitive.slice.html).*
8282
#![stable(feature = "rust1", since = "1.0.0")]
8383

8484
// Many of the usings in this module are only used in the test configuration.

branches/stable/src/libcollections/str.rs

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -8,43 +8,11 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
//! Unicode string manipulation (the `str` type).
11+
//! Unicode string slices
1212
//!
13-
//! Rust's `str` type is one of the core primitive types of the language. `&str`
14-
//! is the borrowed string type. This type of string can only be created from
15-
//! other strings, unless it is a `&'static str` (see below). It is not possible
16-
//! to move out of borrowed strings because they are owned elsewhere.
17-
//!
18-
//! # Examples
19-
//!
20-
//! Here's some code that uses a `&str`:
21-
//!
22-
//! ```
23-
//! let s = "Hello, world.";
24-
//! ```
25-
//!
26-
//! This `&str` is a `&'static str`, which is the type of string literals.
27-
//! They're `'static` because literals are available for the entire lifetime of
28-
//! the program.
29-
//!
30-
//! You can get a non-`'static` `&str` by taking a slice of a `String`:
31-
//!
32-
//! ```
33-
//! let some_string = "Hello, world.".to_string();
34-
//! let s = &some_string;
35-
//! ```
36-
//!
37-
//! # Representation
38-
//!
39-
//! Rust's string type, `str`, is a sequence of Unicode scalar values encoded as
40-
//! a stream of UTF-8 bytes. All [strings](../../reference.html#literals) are
41-
//! guaranteed to be validly encoded UTF-8 sequences. Additionally, strings are
42-
//! not null-terminated and can thus contain null bytes.
43-
//!
44-
//! The actual representation of `str`s have direct mappings to slices: `&str`
45-
//! is the same as `&[u8]`.
13+
//! *[See also the `str` primitive type](../primitive.str.html).*
14+
4615

47-
#![doc(primitive = "str")]
4816
#![stable(feature = "rust1", since = "1.0.0")]
4917

5018
// Many of the usings in this module are only used in the test configuration.

branches/stable/src/libcollections/string.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -979,23 +979,20 @@ impl ops::Index<ops::RangeFull> for String {
979979
}
980980
}
981981

982-
#[cfg(not(stage0))]
983982
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
984983
impl ops::IndexMut<ops::Range<usize>> for String {
985984
#[inline]
986985
fn index_mut(&mut self, index: ops::Range<usize>) -> &mut str {
987986
&mut self[..][index]
988987
}
989988
}
990-
#[cfg(not(stage0))]
991989
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
992990
impl ops::IndexMut<ops::RangeTo<usize>> for String {
993991
#[inline]
994992
fn index_mut(&mut self, index: ops::RangeTo<usize>) -> &mut str {
995993
&mut self[..][index]
996994
}
997995
}
998-
#[cfg(not(stage0))]
999996
#[stable(feature = "derefmut_for_string", since = "1.2.0")]
1000997
impl ops::IndexMut<ops::RangeFrom<usize>> for String {
1001998
#[inline]

branches/stable/src/libcore/array.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@
1111
//! Implementations of things like `Eq` for fixed-length arrays
1212
//! up to a certain length. Eventually we should able to generalize
1313
//! to all lengths.
14+
//!
15+
//! *[See also the array primitive type](../primitive.array.html).*
1416
15-
#![doc(primitive = "array")]
1617
#![unstable(feature = "fixed_size_array",
1718
reason = "traits and impls are better expressed through generic \
1819
integer constants")]

branches/stable/src/libcore/char.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
//! For more details, see ::rustc_unicode::char (a.k.a. std::char)
1414
1515
#![allow(non_snake_case)]
16-
#![doc(primitive = "char")]
1716
#![stable(feature = "core_char", since = "1.2.0")]
1817

1918
use iter::Iterator;

branches/stable/src/libcore/intrinsics.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,4 +602,10 @@ extern "rust-intrinsic" {
602602
/// Returns the value of the discriminant for the variant in 'v',
603603
/// cast to a `u64`; if `T` has no discriminant, returns 0.
604604
pub fn discriminant_value<T>(v: &T) -> u64;
605+
606+
/// Rust's "try catch" construct which invokes the function pointer `f` with
607+
/// the data pointer `data`, returning the exception payload if an exception
608+
/// is thrown (aka the thread panics).
609+
#[cfg(not(stage0))]
610+
pub fn try(f: fn(*mut u8), data: *mut u8) -> *mut u8;
605611
}

branches/stable/src/libcore/iter.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2555,7 +2555,7 @@ impl<I: RandomAccessIterator, F> RandomAccessIterator for Inspect<I, F>
25552555
#[unstable(feature = "iter_unfold")]
25562556
#[derive(Clone)]
25572557
#[deprecated(since = "1.2.0",
2558-
reason = "has gained enough traction to retain its position \
2558+
reason = "has not gained enough traction to retain its position \
25592559
in the standard library")]
25602560
#[allow(deprecated)]
25612561
pub struct Unfold<St, F> {
@@ -2567,7 +2567,7 @@ pub struct Unfold<St, F> {
25672567

25682568
#[unstable(feature = "iter_unfold")]
25692569
#[deprecated(since = "1.2.0",
2570-
reason = "has gained enough traction to retain its position \
2570+
reason = "has not gained enough traction to retain its position \
25712571
in the standard library")]
25722572
#[allow(deprecated)]
25732573
impl<A, St, F> Unfold<St, F> where F: FnMut(&mut St) -> Option<A> {
@@ -3018,7 +3018,7 @@ type IterateState<T, F> = (F, Option<T>, bool);
30183018
/// from a given seed value.
30193019
#[unstable(feature = "iter_iterate")]
30203020
#[deprecated(since = "1.2.0",
3021-
reason = "has gained enough traction to retain its position \
3021+
reason = "has not gained enough traction to retain its position \
30223022
in the standard library")]
30233023
#[allow(deprecated)]
30243024
pub type Iterate<T, F> = Unfold<IterateState<T, F>, fn(&mut IterateState<T, F>) -> Option<T>>;
@@ -3027,7 +3027,7 @@ pub type Iterate<T, F> = Unfold<IterateState<T, F>, fn(&mut IterateState<T, F>)
30273027
/// repeated applications of the given function `f`.
30283028
#[unstable(feature = "iter_iterate")]
30293029
#[deprecated(since = "1.2.0",
3030-
reason = "has gained enough traction to retain its position \
3030+
reason = "has not gained enough traction to retain its position \
30313031
in the standard library")]
30323032
#[allow(deprecated)]
30333033
pub fn iterate<T, F>(seed: T, f: F) -> Iterate<T, F> where

branches/stable/src/libcore/lib.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,6 @@ pub mod str;
154154
pub mod hash;
155155
pub mod fmt;
156156

157-
#[doc(primitive = "bool")]
158-
mod bool {
159-
}
160-
161157
// note: does not need to be public
162158
mod tuple;
163159

branches/stable/src/libcore/num/f32.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
//! Operations and constants for 32-bits floats (`f32` type)
1212
13-
#![doc(primitive = "f32")]
1413
// FIXME: MIN_VALUE and MAX_VALUE literals are parsed as -inf and inf #14353
1514
#![allow(overflowing_literals)]
1615

branches/stable/src/libcore/num/f64.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
//! Operations and constants for 64-bits floats (`f64` type)
1212
13-
#![doc(primitive = "f64")]
1413
// FIXME: MIN_VALUE and MAX_VALUE literals are parsed as -inf and inf #14353
1514
#![allow(overflowing_literals)]
1615

branches/stable/src/libcore/num/i16.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,5 @@
1111
//! Operations and constants for signed 16-bits integers (`i16` type)
1212
1313
#![stable(feature = "rust1", since = "1.0.0")]
14-
#![doc(primitive = "i16")]
1514

1615
int_module! { i16, 16 }

branches/stable/src/libcore/num/i32.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,5 @@
1111
//! Operations and constants for signed 32-bits integers (`i32` type)
1212
1313
#![stable(feature = "rust1", since = "1.0.0")]
14-
#![doc(primitive = "i32")]
1514

1615
int_module! { i32, 32 }

0 commit comments

Comments
 (0)