Skip to content

Commit 317f0d9

Browse files
committed
---
yaml --- r: 172911 b: refs/heads/batch c: 740c837 h: refs/heads/master i: 172909: 7c8077b 172907: e648798 172903: d358697 172895: eadf5e0 v: v3
1 parent d122d36 commit 317f0d9

File tree

188 files changed

+851
-2858
lines changed

Some content is hidden

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

188 files changed

+851
-2858
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
2929
refs/heads/issue-18208-method-dispatch-2: 9e1eae4fb9b6527315b4441cf8a0f5ca911d1671
3030
refs/heads/automation-fail: 1bf06495443584539b958873e04cc2f864ab10e4
3131
refs/heads/issue-18208-method-dispatch-3-quick-reject: 2009f85b9f99dedcec4404418eda9ddba90258a2
32-
refs/heads/batch: 3d0d9bb6fbdf6ead9396f0874cf38f3ef7c9be5c
32+
refs/heads/batch: 740c837e895d4d323ff3f3a59ce0443876b149eb
3333
refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
3434
refs/heads/beta: 44a287e6eb22ec3c2a687fc156813577464017f7
3535
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928

branches/batch/src/compiletest/runtest.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -966,16 +966,6 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
966966
line.starts_with( prefix )
967967
}
968968

969-
// A multi-line error will have followup lines which will always
970-
// start with one of these strings.
971-
fn continuation( line: &str) -> bool {
972-
line.starts_with(" expected") ||
973-
line.starts_with(" found") ||
974-
// 1234
975-
// Should have 4 spaces: see issue 18946
976-
line.starts_with("(")
977-
}
978-
979969
// Scan and extract our error/warning messages,
980970
// which look like:
981971
// filename:line1:col1: line2:col2: *error:* msg
@@ -991,7 +981,7 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
991981
ee.kind,
992982
ee.msg,
993983
line);
994-
if (prefix_matches(line, prefixes[i].as_slice()) || continuation(line)) &&
984+
if prefix_matches(line, prefixes[i].as_slice()) &&
995985
line.contains(ee.kind.as_slice()) &&
996986
line.contains(ee.msg.as_slice()) {
997987
found_flags[i] = true;

branches/batch/src/doc/intro.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,9 @@ use semver::Version;
106106
107107
fn main() {
108108
assert!(Version::parse("1.2.3") == Ok(Version {
109-
major: 1u64,
110-
minor: 2u64,
111-
patch: 3u64,
109+
major: 1u,
110+
minor: 2u,
111+
patch: 3u,
112112
pre: vec!(),
113113
build: vec!(),
114114
}));

branches/batch/src/doc/reference.md

Lines changed: 31 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,7 @@ mod b {
603603
```
604604

605605
* Paths starting with the keyword `super` begin resolution relative to the
606-
parent module. Each further identifier must resolve to an item.
606+
parent module. Each further identifier must resolve to an item
607607

608608
```rust
609609
mod a {
@@ -985,7 +985,7 @@ top of [modules](#modules) and [blocks](#blocks).
985985
986986
Use declarations support a number of convenient shortcuts:
987987

988-
* Rebinding the target name as a new local name, using the syntax `use p::q::r as x;`
988+
* Rebinding the target name as a new local name, using the syntax `use p::q::r as x;`.
989989
* Simultaneously binding a list of paths differing only in their final element,
990990
using the glob-like brace syntax `use a::b::{c,d,e,f};`
991991
* Binding all paths matching a given prefix, using the asterisk wildcard syntax
@@ -1091,7 +1091,7 @@ set of *input* [*slots*](#memory-slots) as parameters, through which the caller
10911091
passes arguments into the function, and an *output* [*slot*](#memory-slots)
10921092
through which the function passes results back to the caller.
10931093

1094-
A function may also be copied into a first-class *value*, in which case the
1094+
A function may also be copied into a first class *value*, in which case the
10951095
value has the corresponding [*function type*](#function-types), and can be used
10961096
otherwise exactly as a function item (with a minor additional cost of calling
10971097
the function indirectly).
@@ -1224,7 +1224,7 @@ the guarantee that these issues are never caused by safe code.
12241224
* A value other than `false` (0) or `true` (1) in a `bool`
12251225
* A discriminant in an `enum` not included in the type definition
12261226
* A value in a `char` which is a surrogate or above `char::MAX`
1227-
* Non-UTF-8 byte sequences in a `str`
1227+
* non-UTF-8 byte sequences in a `str`
12281228
* Unwinding into Rust from foreign code or unwinding from Rust into foreign
12291229
code. Rust's failure system is not compatible with exception handling in
12301230
other languages. Unwinding must be caught and handled at FFI boundaries.
@@ -1827,7 +1827,7 @@ accesses in two cases:
18271827

18281828
These two cases are surprisingly powerful for creating module hierarchies
18291829
exposing public APIs while hiding internal implementation details. To help
1830-
explain, here's a few use cases and what they would entail:
1830+
explain, here's a few use cases and what they would entail.
18311831

18321832
* A library developer needs to expose functionality to crates which link
18331833
against their library. As a consequence of the first case, this means that
@@ -1858,7 +1858,7 @@ import/expression is only valid if the destination is in the current visibility
18581858
scope.
18591859

18601860
Here's an example of a program which exemplifies the three cases outlined
1861-
above:
1861+
above.
18621862

18631863
```
18641864
// This module is private, meaning that no external crate can access this
@@ -2117,13 +2117,6 @@ macro scope.
21172117
destructors from being run twice. Destructors might be run multiple times on
21182118
the same object with this attribute.
21192119
- `doc` - Doc comments such as `/// foo` are equivalent to `#[doc = "foo"]`.
2120-
- `rustc_on_unimplemented` - Write a custom note to be shown along with the error
2121-
when the trait is found to be unimplemented on a type.
2122-
You may use format arguments like `{T}`, `{A}` to correspond to the
2123-
types at the point of use corresponding to the type parameters of the
2124-
trait of the same name. `{Self}` will be replaced with the type that is supposed
2125-
to implement the trait but doesn't. To use this, the `on_unimplemented` feature gate
2126-
must be enabled.
21272120

21282121
### Conditional compilation
21292122

@@ -2220,7 +2213,7 @@ mod m1 {
22202213
```
22212214

22222215
This example shows how one can use `allow` and `warn` to toggle a particular
2223-
check on and off:
2216+
check on and off.
22242217

22252218
```{.ignore}
22262219
#[warn(missing_docs)]
@@ -2242,7 +2235,7 @@ mod m2{
22422235
```
22432236

22442237
This example shows how one can use `forbid` to disallow uses of `allow` for
2245-
that lint check:
2238+
that lint check.
22462239

22472240
```{.ignore}
22482241
#[forbid(missing_docs)]
@@ -2325,9 +2318,9 @@ These language items are traits:
23252318
* `ord`
23262319
: Elements have a partial ordering.
23272320
* `deref`
2328-
: `*` can be applied, yielding a reference to another type.
2321+
: `*` can be applied, yielding a reference to another type
23292322
* `deref_mut`
2330-
: `*` can be applied, yielding a mutable reference to another type.
2323+
: `*` can be applied, yielding a mutable reference to another type
23312324

23322325
These are functions:
23332326

@@ -2348,7 +2341,7 @@ These are functions:
23482341
* `type_id`
23492342
: The type returned by the `type_id` intrinsic.
23502343
* `unsafe`
2351-
: A type whose contents can be mutated through an immutable reference.
2344+
: A type whose contents can be mutated through an immutable reference
23522345

23532346
#### Marker types
23542347

@@ -2357,11 +2350,11 @@ These types help drive the compiler's analysis
23572350
* `begin_unwind`
23582351
: ___Needs filling in___
23592352
* `no_copy_bound`
2360-
: This type does not implement "copy", even if eligible.
2353+
: This type does not implement "copy", even if eligible
23612354
* `no_send_bound`
2362-
: This type does not implement "send", even if eligible.
2355+
: This type does not implement "send", even if eligible
23632356
* `no_sync_bound`
2364-
: This type does not implement "sync", even if eligible.
2357+
: This type does not implement "sync", even if eligible
23652358
* `eh_personality`
23662359
: ___Needs filling in___
23672360
* `exchange_free`
@@ -2383,11 +2376,11 @@ These types help drive the compiler's analysis
23832376
* `iterator`
23842377
: ___Needs filling in___
23852378
* `contravariant_lifetime`
2386-
: The lifetime parameter should be considered contravariant.
2379+
: The lifetime parameter should be considered contravariant
23872380
* `covariant_lifetime`
2388-
: The lifetime parameter should be considered covariant.
2381+
: The lifetime parameter should be considered covariant
23892382
* `invariant_lifetime`
2390-
: The lifetime parameter should be considered invariant.
2383+
: The lifetime parameter should be considered invariant
23912384
* `malloc`
23922385
: Allocate memory on the managed heap.
23932386
* `owned_box`
@@ -2397,11 +2390,11 @@ These types help drive the compiler's analysis
23972390
* `start`
23982391
: ___Needs filling in___
23992392
* `contravariant_type`
2400-
: The type parameter should be considered contravariant.
2393+
: The type parameter should be considered contravariant
24012394
* `covariant_type`
2402-
: The type parameter should be considered covariant.
2395+
: The type parameter should be considered covariant
24032396
* `invariant_type`
2404-
: The type parameter should be considered invariant.
2397+
: The type parameter should be considered invariant
24052398
* `ty_desc`
24062399
: ___Needs filling in___
24072400

@@ -2928,13 +2921,13 @@ automatically dereferenced to make the field access possible.
29282921
```{.ebnf .gram}
29292922
array_expr : '[' "mut" ? vec_elems? ']' ;
29302923
2931-
array_elems : [expr [',' expr]*] | [expr ';' expr] ;
2924+
array_elems : [expr [',' expr]*] | [expr ',' ".." expr] ;
29322925
```
29332926

29342927
An [array](#array,-and-slice-types) _expression_ is written by enclosing zero
29352928
or more comma-separated expressions of uniform type in square brackets.
29362929

2937-
In the `[expr ';' expr]` form, the expression after the `';'` must be a
2930+
In the `[expr ',' ".." expr]` form, the expression after the `".."` must be a
29382931
constant expression that can be evaluated at compile time, such as a
29392932
[literal](#literals) or a [static item](#static-items).
29402933

@@ -3226,11 +3219,11 @@ the simplest and least-expensive form (analogous to a ```|| { }``` expression),
32263219
the lambda expression captures its environment by reference, effectively
32273220
borrowing pointers to all outer variables mentioned inside the function.
32283221
Alternately, the compiler may infer that a lambda expression should copy or
3229-
move values (depending on their type) from the environment into the lambda
3222+
move values (depending on their type.) from the environment into the lambda
32303223
expression's captured environment.
32313224

32323225
In this example, we define a function `ten_times` that takes a higher-order
3233-
function argument, and call it with a lambda expression as an argument:
3226+
function argument, and call it with a lambda expression as an argument.
32343227

32353228
```
32363229
fn ten_times<F>(f: F) where F: Fn(int) {
@@ -3668,14 +3661,14 @@ within an object along with one byte past the end.
36683661
The types `char` and `str` hold textual data.
36693662

36703663
A value of type `char` is a [Unicode scalar value](
3671-
http://www.unicode.org/glossary/#unicode_scalar_value) (i.e. a code point that
3664+
http://www.unicode.org/glossary/#unicode_scalar_value) (ie. a code point that
36723665
is not a surrogate), represented as a 32-bit unsigned word in the 0x0000 to
36733666
0xD7FF or 0xE000 to 0x10FFFF range. A `[char]` array is effectively an UCS-4 /
36743667
UTF-32 string.
36753668

36763669
A value of type `str` is a Unicode string, represented as an array of 8-bit
36773670
unsigned bytes holding a sequence of UTF-8 codepoints. Since `str` is of
3678-
unknown size, it is not a _first-class_ type, but can only be instantiated
3671+
unknown size, it is not a _first class_ type, but can only be instantiated
36793672
through a pointer type, such as `&str` or `String`.
36803673

36813674
### Tuple types
@@ -3705,7 +3698,7 @@ assert!(b != "world");
37053698

37063699
Rust has two different types for a list of items:
37073700

3708-
* `[T; N]`, an 'array'.
3701+
* `[T ..N]`, an 'array'
37093702
* `&[T]`, a 'slice'.
37103703

37113704
An array has a fixed size, and can be allocated on either the stack or the
@@ -3717,9 +3710,9 @@ to, it borrows it.
37173710
An example of each kind:
37183711

37193712
```{rust}
3720-
let vec: Vec<i32> = vec![1, 2, 3];
3721-
let arr: [i32; 3] = [1, 2, 3];
3722-
let s: &[i32] = vec.as_slice();
3713+
let vec: Vec<int> = vec![1, 2, 3];
3714+
let arr: [int; 3] = [1, 2, 3];
3715+
let s: &[int] = vec.as_slice();
37233716
```
37243717

37253718
As you can see, the `vec!` macro allows you to create a `Vec<T>` easily. The
@@ -3805,7 +3798,7 @@ enum List<T> {
38053798
Cons(T, Box<List<T>>)
38063799
}
38073800
3808-
let a: List<i32> = List::Cons(7, Box::new(List::Cons(13, Box::new(List::Nil))));
3801+
let a: List<int> = List::Cons(7, Box::new(List::Cons(13, Box::new(List::Nil))));
38093802
```
38103803

38113804
### Pointer types

branches/batch/src/doc/trpl/arrays-vectors-and-slices.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,6 @@ backed by arrays. Slices have type `&[T]`, which we'll talk about when we cover
9494
generics.
9595

9696
We have now learned all of the most basic Rust concepts. We're ready to start
97-
building ourselves a guessing game, we just need to know one last thing: how to
98-
get input from the keyboard. You can't have a guessing game without the ability
99-
to guess!
97+
building our guessing game, we just need to know one last thing: how to get
98+
input from the keyboard. You can't have a guessing game without the ability to
99+
guess!

branches/batch/src/doc/trpl/closures.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -110,27 +110,25 @@ passing two variables: one is an i32, and one is a function."
110110
Next, let's look at how `twice` is defined:
111111

112112
```{rust,ignore}
113-
fn twice<F: Fn(i32) -> i32>(x: i32, f: F) -> i32 {
113+
fn twice(x: i32, f: |i32| -> i32) -> i32 {
114114
```
115115

116116
`twice` takes two arguments, `x` and `f`. That's why we called it with two
117117
arguments. `x` is an `i32`, we've done that a ton of times. `f` is a function,
118-
though, and that function takes an `i32` and returns an `i32`. This is
119-
what the requirement `Fn(i32) -> i32` for the type parameter `F` says.
120-
You might ask yourself: why do we need to introduce a type parameter here?
121-
That is because in Rust each closure has its own unique type.
122-
So, not only do closures with different signatures have different types,
123-
but different closures with the *same* signature have *different* types!
124-
You can think of it this way: the behaviour of a closure is part of its type.
125-
And since we want to support many different closures that all take
126-
an `i32` and return an `i32` we introduced a type parameter that is able
127-
to represent all these closures.
118+
though, and that function takes an `i32` and returns an `i32`. Notice
119+
how the `|i32| -> i32` syntax looks a lot like our definition of `square`
120+
above, if we added the return type in:
121+
122+
```{rust}
123+
let square = |&: x: i32| -> i32 { x * x };
124+
// |i32| -> i32
125+
```
126+
127+
This function takes an `i32` and returns an `i32`.
128128

129129
This is the most complicated function signature we've seen yet! Give it a read
130130
a few times until you can see how it works. It takes a teeny bit of practice, and
131-
then it's easy. The good news is that this kind of passing a closure around
132-
can be very efficient. With all the type information available at compile-time
133-
the compiler can do wonders.
131+
then it's easy.
134132

135133
Finally, `twice` returns an `i32` as well.
136134

branches/batch/src/doc/trpl/comments.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ fn hello(name: &str) {
4040
```
4141

4242
When writing doc comments, adding sections for any arguments, return values,
43-
and providing some examples of usage is very, very helpful. Don't worry about
44-
the `&str`, we'll get to it soon.
43+
and providing some examples of usage is very, very helpful.
4544

4645
You can use the [`rustdoc`](../rustdoc.html) tool to generate HTML documentation
4746
from these doc comments.

branches/batch/src/doc/trpl/compound-data-types.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ let x: (i32, &str) = (1, "hello");
2323
As you can see, the type of a tuple looks just like the tuple, but with each
2424
position having a type name rather than the value. Careful readers will also
2525
note that tuples are heterogeneous: we have an `i32` and a `&str` in this tuple.
26-
You have briefly seen `&str` used as a type before, and we'll discuss the
27-
details of strings later. In systems programming languages, strings are a bit
28-
more complex than in other languages. For now, just read `&str` as a *string
29-
slice*, and we'll learn more soon.
26+
You haven't seen `&str` as a type before, and we'll discuss the details of
27+
strings later. In systems programming languages, strings are a bit more complex
28+
than in other languages. For now, just read `&str` as a *string slice*, and
29+
we'll learn more soon.
3030

3131
You can access the fields in a tuple through a *destructuring let*. Here's
3232
an example:

branches/batch/src/doc/trpl/crates-and-modules.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ fn goodbye() -> String {
256256
}
257257
```
258258

259-
(This is "Sayōnara", if you're curious.)
259+
(This is "Sayoonara", if you're curious.)
260260

261261
Now that we have our some functionality in our crate, let's try to use it from
262262
another crate.
@@ -559,7 +559,7 @@ Also, note that we `pub use`d before we declared our `mod`s. Rust requires that
559559
This will build and run:
560560
561561
```bash
562-
$ cargo run
562+
$ cargo build
563563
Compiling phrases v0.0.1 (file:///home/you/projects/phrases)
564564
Running `target/phrases`
565565
Hello in English: Hello!

branches/batch/src/doc/trpl/error-handling.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
% Error Handling in Rust
22

3-
> The best-laid plans of mice and men
3+
> The best-laid plans of mice and men
44
> Often go awry
55
>
66
> "Tae a Moose", Robert Burns

branches/batch/src/doc/trpl/functions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,15 @@ Unlike `let`, you _must_ declare the types of function arguments. This does
5959
not work:
6060

6161
```{ignore}
62-
fn print_sum(x, y) {
62+
fn print_number(x, y) {
6363
println!("x is: {}", x + y);
6464
}
6565
```
6666

6767
You get this error:
6868

6969
```text
70-
hello.rs:5:18: 5:19 expected one of `!`, `:`, or `@`, found `)`
70+
hello.rs:5:18: 5:19 error: expected `:` but found `,`
7171
hello.rs:5 fn print_number(x, y) {
7272
```
7373

0 commit comments

Comments
 (0)