Skip to content

Commit bef17ae

Browse files
committed
---
yaml --- r: 234911 b: refs/heads/stable c: 378a370 h: refs/heads/master i: 234909: 9508973 234907: 98a9e7e 234903: 610d11d 234895: c6698c5 234879: 1b061c5 v: v3
1 parent 4d0f563 commit bef17ae

File tree

45 files changed

+512
-692
lines changed

Some content is hidden

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

45 files changed

+512
-692
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: 225b116829ef76b72f01c2ebf718259c20aa7e14
32+
refs/heads/stable: 378a370ff2057afeb1eae86eb6e78c476866a4a6
3333
refs/tags/1.0.0: 55bd4f8ff2b323f317ae89e254ce87162d52a375
3434
refs/tags/1.1.0: bc3c16f09287e5545c1d3f76b7abd54f2eca868b
3535
refs/tags/1.2.0: f557861f822c34f07270347b94b5280de20a597e

branches/stable/RELEASES.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ Highlights
1313
* A `symlink_metadata` function has been added.
1414
* The `fs::Metadata` structure now lowers to its OS counterpart, providing
1515
access to all underlying information.
16-
* The compiler contains extended explanations of many errors. When it
17-
emits such an error it also suggests using the `--explain` flag to
18-
read the extended explanations, which are also [cataloged on the web
19-
site][err].
16+
* The compiler now contains extended explanations of many errors. When an error
17+
with an explanation occurs the compiler suggests using the `--explain` flag
18+
to read the explanation. Error explanations are also [available online][err-index].
2019
* Thanks to multiple [improvements][sk] to [type checking][pre], as
2120
well as other work, the time to bootstrap the compiler decreased by
2221
32%.
@@ -88,7 +87,7 @@ Misc
8887
[`IntoIterator`]: http://doc.rust-lang.org/nightly/std/iter/trait.IntoIterator.html
8988
[`From`]: http://doc.rust-lang.org/nightly/std/convert/trait.From.html
9089
[rf]: https://github.com/rust-lang/rust/pull/24491
91-
[err]: http://doc.rust-lang.org/error-index.html
90+
[err-index]: http://doc.rust-lang.org/error-index.html
9291
[sk]: https://github.com/rust-lang/rust/pull/24615
9392
[pre]: https://github.com/rust-lang/rust/pull/25323
9493
[file]: https://github.com/rust-lang/rust/pull/24598

branches/stable/configure

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -899,6 +899,18 @@ then
899899
fi
900900
fi
901901

902+
# If the clang isn't already enabled, check for GCC, and if it is missing, turn
903+
# on clang as a backup.
904+
if [ -z "$CFG_ENABLE_CLANG" ]
905+
then
906+
CFG_GCC_VERSION=$("$CFG_GCC" --version 2>&1)
907+
if [ $? -ne 0 ]
908+
then
909+
step_msg "GCC not installed, will try using Clang"
910+
CFG_ENABLE_CLANG=1
911+
fi
912+
fi
913+
902914
# Okay, at this point, we have made up our minds about whether we are
903915
# going to force CFG_ENABLE_CLANG or not; save the setting if so.
904916
if [ ! -z "$CFG_ENABLE_CLANG" ]
@@ -920,7 +932,7 @@ then
920932
LLVM_VERSION=$($LLVM_CONFIG --version)
921933

922934
case $LLVM_VERSION in
923-
(3.[5-6]*)
935+
(3.[5-7]*)
924936
msg "found ok version of LLVM: $LLVM_VERSION"
925937
;;
926938
(*)
@@ -1037,6 +1049,14 @@ for target_file in ${CFG_SRC_DIR}mk/cfg/*.mk; do
10371049
CFG_SUPPORTED_TARGET="${CFG_SUPPORTED_TARGET} $(basename "$target_file" .mk)"
10381050
done
10391051

1052+
# copy build-triples to host-triples so that builds are a subset of hosts
1053+
V_TEMP=""
1054+
for i in $CFG_BUILD $CFG_HOST;
1055+
do
1056+
echo "$V_TEMP" | grep -qF $i || V_TEMP="$V_TEMP${V_TEMP:+ }$i"
1057+
done
1058+
CFG_HOST=$V_TEMP
1059+
10401060
# copy host-triples to target-triples so that hosts are a subset of targets
10411061
V_TEMP=""
10421062
for i in $CFG_HOST $CFG_TARGET;

branches/stable/mk/main.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
######################################################################
1414

1515
# The version number
16-
CFG_RELEASE_NUM=1.2.0
16+
CFG_RELEASE_NUM=1.3.0
1717

1818
# An optional number to put after the label, e.g. '.2' -> '-beta.2'
1919
# NB Make sure it starts with a dot to conform to semver pre-release

branches/stable/src/doc/style/features/traits/generics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ explicitly implement to be used by this generic function.
2929
explicit conversions or other method calls would usually be necessary. See the
3030
[overloading/implicits use case](#use-case:-limited-overloading-and/or-implicit-conversions)
3131
below.
32-
* _Precise types_. Because generic give a _name_ to the specific type
32+
* _Precise types_. Because generics give a _name_ to the specific type
3333
implementing a trait, it is possible to be precise about places where that
3434
exact type is required or produced. For example, a function
3535

branches/stable/src/doc/trpl/academic-research.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,32 @@ Recommended for inspiration and a better understanding of Rust's background.
4242

4343
### Papers *about* Rust
4444

45-
* [GPU programming in Rust](http://www.cs.indiana.edu/~eholk/papers/hips2013.pdf)
46-
* [Parallel closures: a new twist on an old idea](https://www.usenix.org/conference/hotpar12/parallel-closures-new-twist-old-idea) - not exactly about rust, but by nmatsakis
45+
* [GPU Programming in Rust: Implementing High Level Abstractions in a
46+
Systems Level
47+
Language](http://www.cs.indiana.edu/~eholk/papers/hips2013.pdf). Early GPU work by Eric Holk.
48+
* [Parallel closures: a new twist on an old
49+
idea](https://www.usenix.org/conference/hotpar12/parallel-closures-new-twist-old-idea)
50+
- not exactly about rust, but by nmatsakis
51+
* [Patina: A Formalization of the Rust Programming
52+
Language](ftp://ftp.cs.washington.edu/tr/2015/03/UW-CSE-15-03-02.pdf). Early
53+
formalization of a subset of the type system, by Eric Reed.
54+
* [Experience Report: Developing the Servo Web Browser Engine using
55+
Rust](http://arxiv.org/abs/1505.07383). By Lars Bergstrom.
56+
* [Implementing a Generic Radix Trie in
57+
Rust](https://michaelsproul.github.io/rust_radix_paper/rust-radix-sproul.pdf). Undergrad
58+
paper by Michael Sproul.
59+
* [Reenix: Implementing a Unix-Like Operating System in
60+
Rust](http://scialex.github.io/reenix.pdf). Undergrad paper by Alex
61+
Light.
62+
* [Evaluation of performance and productivity metrics of potential
63+
programming languages in the HPC environment](). Bachelor's thesis by
64+
Florian Wilkens. Compares C, Go and Rust.
65+
* [Nom, a byte oriented, streaming, zero copy, parser combinators library
66+
in Rust](http://spw15.langsec.org/papers/couprie-nom.pdf). By
67+
Geoffroy Couprie, research for VLC.
68+
* [Graph-Based Higher-Order Intermediate
69+
Representation](http://compilers.cs.uni-saarland.de/papers/lkh15_cgo.pdf). An
70+
experimental IR implemented in Impala, a Rust-like language.
71+
* [Code Refinement of Stencil
72+
Codes](http://compilers.cs.uni-saarland.de/papers/ppl14_web.pdf). Another
73+
paper using Impala.

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ we could have added more explanation in a new paragraph.
102102
#### Special sections
103103

104104
Next, are special sections. These are indicated with a header, `#`. There
105-
are three kinds of headers that are commonly used. They aren't special syntax,
105+
are four kinds of headers that are commonly used. They aren't special syntax,
106106
just convention, for now.
107107

108108
```rust
@@ -144,7 +144,7 @@ responsible for upholding.
144144
# fn foo() {}
145145
```
146146

147-
Third, `Examples`. Include one or more examples of using your function or
147+
Fourth, `Examples`. Include one or more examples of using your function or
148148
method, and your users will love you for it. These examples go inside of
149149
code block annotations, which we'll talk about in a moment, and can have
150150
more than one section:

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,8 @@ and invokes callbacks from there.
309309
In these cases access to Rust data structures inside the callbacks is
310310
especially unsafe and proper synchronization mechanisms must be used.
311311
Besides classical synchronization mechanisms like mutexes, one possibility in
312-
Rust is to use channels (in `std::comm`) to forward data from the C thread
313-
that invoked the callback into a Rust thread.
312+
Rust is to use channels (in `std::sync::mpsc`) to forward data from the C
313+
thread that invoked the callback into a Rust thread.
314314
315315
If an asynchronous callback targets a special object in the Rust address space
316316
it is also absolutely necessary that no more callbacks are performed by the

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ $ sudo /usr/local/lib/rustlib/uninstall.sh
4141
If you used the Windows installer, just re-run the `.msi` and it will give you
4242
an uninstall option.
4343

44+
## That disclaimer we promised
45+
4446
Some people, and somewhat rightfully so, get very upset when we tell you to
4547
`curl | sh`. Basically, when you do this, you are trusting that the good
4648
people who maintain Rust aren't going to hack your computer and do bad things.
@@ -50,6 +52,8 @@ binary downloads][install-page].
5052

5153
[from-source]: https://github.com/rust-lang/rust#building-from-source
5254

55+
## Platform support
56+
5357
Oh, we should also mention the officially supported platforms:
5458

5559
* Windows (7, 8, Server 2008 R2)
@@ -66,6 +70,8 @@ integrated as the Linux/OS X experience is. We're working on it! If anything
6670
does not work, it is a bug. Please let us know if that happens. Each and every
6771
commit is tested against Windows just like any other platform.
6872

73+
## After installation
74+
6975
If you've got Rust installed, you can open up a shell, and type this:
7076

7177
```bash

branches/stable/src/etc/unicode.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -372,13 +372,6 @@ def emit_conversions_module(f, to_upper, to_lower, to_title):
372372
}
373373
}
374374
375-
pub fn to_title(c: char) -> [char; 3] {
376-
match bsearch_case_table(c, to_titlecase_table) {
377-
None => [c, '\\0', '\\0'],
378-
Some(index) => to_titlecase_table[index].1
379-
}
380-
}
381-
382375
fn bsearch_case_table(c: char, table: &'static [(char, [char; 3])]) -> Option<usize> {
383376
match table.binary_search_by(|&(key, _)| {
384377
if c == key { Equal }
@@ -400,9 +393,6 @@ def emit_conversions_module(f, to_upper, to_lower, to_title):
400393
emit_table(f, "to_uppercase_table",
401394
sorted(to_upper.iteritems(), key=operator.itemgetter(0)),
402395
is_pub=False, t_type = t_type, pfun=pfun)
403-
emit_table(f, "to_titlecase_table",
404-
sorted(to_title.iteritems(), key=operator.itemgetter(0)),
405-
is_pub=False, t_type = t_type, pfun=pfun)
406396
f.write("}\n\n")
407397

408398
def emit_grapheme_module(f, grapheme_table, grapheme_cats):

branches/stable/src/libcollections/vec.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1482,7 +1482,7 @@ impl<T> FromIterator<T> for Vec<T> {
14821482
None => return Vec::new(),
14831483
Some(element) => {
14841484
let (lower, _) = iterator.size_hint();
1485-
let mut vector = Vec::with_capacity(1 + lower);
1485+
let mut vector = Vec::with_capacity(lower.saturating_add(1));
14861486
unsafe {
14871487
ptr::write(vector.get_unchecked_mut(0), element);
14881488
vector.set_len(1);
@@ -1570,10 +1570,11 @@ impl<T> Vec<T> {
15701570
let len = self.len();
15711571
if len == self.capacity() {
15721572
let (lower, _) = iterator.size_hint();
1573-
self.reserve(lower + 1);
1573+
self.reserve(lower.saturating_add(1));
15741574
}
15751575
unsafe {
15761576
ptr::write(self.get_unchecked_mut(len), element);
1577+
// NB can't overflow since we would have had to alloc the address space
15771578
self.set_len(len + 1);
15781579
}
15791580
}

branches/stable/src/libcollectionstest/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
// except according to those terms.
1010

1111
#![feature(append)]
12-
#![feature(bit_vec_append_split_off)]
1312
#![feature(bitset)]
1413
#![feature(bitvec)]
1514
#![feature(box_syntax)]

branches/stable/src/libcoretest/char.rs

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -102,29 +102,6 @@ fn test_to_uppercase() {
102102
assert_eq!(upper('ᾀ'), ['Ἀ', 'Ι']);
103103
}
104104

105-
#[test]
106-
fn test_to_titlecase() {
107-
fn title(c: char) -> Vec<char> {
108-
c.to_titlecase().collect()
109-
}
110-
assert_eq!(title('a'), ['A']);
111-
assert_eq!(title('ö'), ['Ö']);
112-
assert_eq!(title('ß'), ['S', 's']); // not ẞ: Latin capital letter sharp s
113-
assert_eq!(title('ü'), ['Ü']);
114-
assert_eq!(title('💩'), ['💩']);
115-
116-
assert_eq!(title('σ'), ['Σ']);
117-
assert_eq!(title('τ'), ['Τ']);
118-
assert_eq!(title('ι'), ['Ι']);
119-
assert_eq!(title('γ'), ['Γ']);
120-
assert_eq!(title('μ'), ['Μ']);
121-
assert_eq!(title('α'), ['Α']);
122-
assert_eq!(title('ς'), ['Σ']);
123-
assert_eq!(title('DŽ'), ['Dž']);
124-
assert_eq!(title('fi'), ['F', 'i']);
125-
assert_eq!(title('ᾀ'), ['ᾈ']);
126-
}
127-
128105
#[test]
129106
fn test_is_control() {
130107
assert!('\u{0}'.is_control());

0 commit comments

Comments
 (0)