Skip to content

Commit 6bb1e7c

Browse files
committed
---
yaml --- r: 130968 b: refs/heads/auto c: 805cf81 h: refs/heads/master v: v3
1 parent 8dd0d2c commit 6bb1e7c

File tree

16 files changed

+171
-3489
lines changed

16 files changed

+171
-3489
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
1313
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1414
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1515
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
16-
refs/heads/auto: 4028ebc60318e0d24c7448dc598d4a9d069d44e8
16+
refs/heads/auto: 805cf81b778f7b0d17a4afa3af93f975d5351307
1717
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1818
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1919
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ documentation.
66
## Quick Start
77

88
1. Download a [binary installer][installer] for your platform.
9-
2. Read the [tutorial].
9+
2. Read the [guide].
1010
3. Enjoy!
1111

1212
> ***Note:*** Windows users can read the detailed
1313
> [getting started][wiki-start] notes on the wiki.
1414
1515
[installer]: http://www.rust-lang.org/install.html
16-
[tutorial]: http://doc.rust-lang.org/tutorial.html
16+
[guide]: http://doc.rust-lang.org/guide.html
1717
[wiki-start]: https://github.com/rust-lang/rust/wiki/Note-getting-started-developing-Rust
1818
[win-wiki]: https://github.com/rust-lang/rust/wiki/Using-Rust-on-Windows
1919

@@ -54,7 +54,7 @@ documentation.
5454
When complete, `make install` will place several programs into
5555
`/usr/local/bin`: `rustc`, the Rust compiler, and `rustdoc`, the
5656
API-documentation tool.
57-
3. Read the [tutorial].
57+
3. Read the [guide].
5858
4. Enjoy!
5959

6060
### Building on Windows
@@ -76,7 +76,7 @@ To easily build on windows we can use [MSYS2](http://sourceforge.net/projects/ms
7676

7777
[repo]: https://github.com/rust-lang/rust
7878
[tarball]: https://static.rust-lang.org/dist/rust-nightly.tar.gz
79-
[tutorial]: http://doc.rust-lang.org/tutorial.html
79+
[guide]: http://doc.rust-lang.org/guide.html
8080

8181
## Notes
8282

branches/auto/mk/dist.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ PKG_EXE = dist/$(PKG_NAME)-$(CFG_BUILD).exe
123123
$(PKG_EXE): rust.iss modpath.iss upgrade.iss LICENSE.txt rust-logo.ico \
124124
$(CSREQ3_T_$(CFG_BUILD)_H_$(CFG_BUILD)) \
125125
dist-prepare-win
126-
$(CFG_PYTHON) $(S)src/etc/copy-runtime-deps.py tmp/dist/win/bin $(CFG_BUILD)
126+
$(CFG_PYTHON) $(S)src/etc/make-win-dist.py tmp/dist/win $(CFG_BUILD)
127127
@$(call E, ISCC: $@)
128128
$(Q)"$(CFG_ISCC)" $<
129129

branches/auto/mk/docs.mk

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
# except according to those terms.
1010

1111
######################################################################
12-
# The various pieces of standalone documentation: guides, tutorial,
13-
# manual etc.
12+
# The various pieces of standalone documentation: guides, manual, etc
1413
#
1514
# The DOCS variable is their names (with no file extension).
1615
#
@@ -32,7 +31,7 @@ DOCS := index intro tutorial guide guide-ffi guide-macros guide-lifetimes \
3231
complement-lang-faq complement-design-faq complement-project-faq rust \
3332
rustdoc guide-unsafe guide-strings
3433

35-
PDF_DOCS := tutorial rust
34+
PDF_DOCS := guide rust
3635

3736
RUSTDOC_DEPS_rust := doc/full-toc.inc
3837
RUSTDOC_FLAGS_rust := --html-in-header=doc/full-toc.inc
@@ -226,7 +225,7 @@ $(foreach docname,$(DOCS),$(eval $(call DEF_DOC,$(docname))))
226225
#
227226
# As such, I've attempted to get it working as much as possible (and
228227
# switching from pandoc to rustdoc), but preserving the old behaviour
229-
# (e.g. only running on the tutorial)
228+
# (e.g. only running on the guide)
230229
.PHONY: l10n-mds
231230
l10n-mds: $(D)/po4a.conf \
232231
$(foreach lang,$(L10N_LANG),$(D)/po/$(lang)/*.md.po)
@@ -244,7 +243,7 @@ doc/l10n/$(1)/$(2).html: l10n-mds $$(HTML_DEPS) $$(RUSTDOC_DEPS_$(2))
244243
$$(RUSTDOC) $$(RUSTDOC_HTML_OPTS) $$(RUSTDOC_FLAGS_$(1)) doc/l10n/$(1)/$(2).md
245244
endef
246245

247-
$(foreach lang,$(L10N_LANGS),$(eval $(call DEF_L10N_DOC,$(lang),tutorial)))
246+
$(foreach lang,$(L10N_LANGS),$(eval $(call DEF_L10N_DOC,$(lang),guide)))
248247

249248

250249
######################################################################

branches/auto/src/doc/guide.md

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,5 @@
11
% The Rust Guide
22

3-
<div style="border: 2px solid red; padding:5px;">
4-
This guide is a work in progress. Until it is ready, we highly recommend that
5-
you read the <a href="tutorial.html">Tutorial</a> instead. This work-in-progress Guide is being
6-
displayed here in line with Rust's open development policy. Please open any
7-
issues you find as usual.
8-
</div>
9-
10-
# Welcome!
11-
123
Hey there! Welcome to the Rust guide. This is the place to be if you'd like to
134
learn how to program in Rust. Rust is a systems programming language with a
145
focus on "high-level, bare-metal programming": the lowest level control a
@@ -119,7 +110,7 @@ The first thing that we need to do is make a file to put our code in. I like
119110
to make a `projects` directory in my home directory, and keep all my projects
120111
there. Rust does not care where your code lives.
121112

122-
This actually leads to one other concern we should address: this tutorial will
113+
This actually leads to one other concern we should address: this guide will
123114
assume that you have basic familiarity with the command line. Rust does not
124115
require that you know a whole ton about the command line, but until the
125116
language is in a more finished state, IDE support is spotty. Rust makes no
@@ -215,7 +206,7 @@ Finally, the line ends with a semicolon (`;`). Rust is an **expression
215206
oriented** language, which means that most things are expressions. The `;` is
216207
used to indicate that this expression is over, and the next one is ready to
217208
begin. Most lines of Rust code end with a `;`. We will cover this in-depth
218-
later in the tutorial.
209+
later in the guide.
219210

220211
Finally, actually **compiling** and **running** our program. We can compile
221212
with our compiler, `rustc`, by passing it the name of our source file:
@@ -2017,7 +2008,7 @@ Great! Next up: let's compare our guess to the secret guess.
20172008

20182009
## Comparing guesses
20192010

2020-
If you remember, earlier in the tutorial, we made a `cmp` function that compared
2011+
If you remember, earlier in the guide, we made a `cmp` function that compared
20212012
two numbers. Let's add that in, along with a `match` statement to compare the
20222013
guess to the secret guess:
20232014

branches/auto/src/doc/intro.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ Rust is a systems programming language that combines strong compile-time correct
44
It improves upon the ideas of other systems languages like C++
55
by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory.
66
Strong memory guarantees make writing correct concurrent Rust code easier than in other languages.
7-
This tutorial will give you an idea of what Rust is like in about thirty minutes.
7+
This introduction will give you an idea of what Rust is like in about thirty minutes.
88
It expects that you're at least vaguely familiar with a previous 'curly brace' language,
99
but does not require prior experience with systems programming.
1010
The concepts are more important than the syntax,
1111
so don't worry if you don't get every last detail:
12-
the [tutorial](tutorial.html) can help you out with that later.
12+
the [guide](guide.html) can help you out with that later.
1313

1414
Let's talk about the most important concept in Rust, "ownership,"
1515
and its implications on a task that programmers usually find very difficult: concurrency.
@@ -433,5 +433,5 @@ yet get the efficiency of languages such as C++.
433433

434434
I hope that this taste of Rust has given you an idea if Rust is the right language for you.
435435
If that's true,
436-
I encourage you to check out [the tutorial](tutorial.html) for a full,
436+
I encourage you to check out [the guide](guide.html) for a full,
437437
in-depth exploration of Rust's syntax and concepts.

branches/auto/src/doc/po4a.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@
2424
[type: text] src/doc/intro.md $lang:doc/l10n/$lang/intro.md
2525
[type: text] src/doc/rust.md $lang:doc/l10n/$lang/rust.md
2626
[type: text] src/doc/rustdoc.md $lang:doc/l10n/$lang/rustdoc.md
27-
[type: text] src/doc/tutorial.md $lang:doc/l10n/$lang/tutorial.md
27+
[type: text] src/doc/guide.md $lang:doc/l10n/$lang/guide.md

branches/auto/src/doc/rust.md

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ provides three kinds of material:
1313
- Appendix chapters providing rationale and references to languages that
1414
influenced the design.
1515

16-
This document does not serve as a tutorial introduction to the
16+
This document does not serve as an introduction to the
1717
language. Background familiarity with the language is assumed. A separate
18-
[tutorial] document is available to help acquire such background familiarity.
18+
[guide] is available to help acquire such background familiarity.
1919

2020
This document also does not serve as a reference to the [standard]
2121
library included in the language distribution. Those libraries are
2222
documented separately by extracting documentation attributes from their
2323
source code.
2424

25-
[tutorial]: tutorial.html
25+
[guide]: guide.html
2626
[standard]: std/index.html
2727

2828
## Disclaimer
@@ -349,7 +349,7 @@ enclosed within two `U+0022` (double-quote) characters,
349349
with the exception of `U+0022` itself,
350350
which must be _escaped_ by a preceding `U+005C` character (`\`),
351351
or a _raw byte string literal_.
352-
It is equivalent to a `&'static [u8]` borrowed vector of unsigned 8-bit integers.
352+
It is equivalent to a `&'static [u8]` borrowed array of unsigned 8-bit integers.
353353

354354
Some additional _escapes_ are available in either byte or non-raw byte string
355355
literals. An escape starts with a `U+005C` (`\`) and continues with one of
@@ -2811,16 +2811,17 @@ When the type providing the field inherits mutabilty, it can be [assigned](#assi
28112811
Also, if the type of the expression to the left of the dot is a pointer,
28122812
it is automatically dereferenced to make the field access possible.
28132813

2814-
### Vector expressions
2814+
### Array expressions
28152815

28162816
~~~~ {.ebnf .gram}
2817-
vec_expr : '[' "mut" ? vec_elems? ']' ;
2817+
array_expr : '[' "mut" ? vec_elems? ']' ;
28182818
2819-
vec_elems : [expr [',' expr]*] | [expr ',' ".." expr] ;
2819+
array_elems : [expr [',' expr]*] | [expr ',' ".." expr] ;
28202820
~~~~
28212821

2822-
A [_vector_](#vector-types) _expression_ is written by enclosing zero or
2823-
more comma-separated expressions of uniform type in square brackets.
2822+
An [array](#vector,-array,-and-slice-types) _expression_ is written by
2823+
enclosing zero or more comma-separated expressions of uniform type in square
2824+
brackets.
28242825

28252826
In the `[expr ',' ".." expr]` form, the expression after the `".."`
28262827
must be a constant expression that can be evaluated at compile time, such
@@ -2829,7 +2830,7 @@ as a [literal](#literals) or a [static item](#static-items).
28292830
~~~~
28302831
[1i, 2, 3, 4];
28312832
["a", "b", "c", "d"];
2832-
[0i, ..128]; // vector with 128 zeros
2833+
[0i, ..128]; // array with 128 zeros
28332834
[0u8, 0u8, 0u8, 0u8];
28342835
~~~~
28352836

@@ -2839,9 +2840,9 @@ as a [literal](#literals) or a [static item](#static-items).
28392840
idx_expr : expr '[' expr ']' ;
28402841
~~~~
28412842

2842-
[Vector](#vector-types)-typed expressions can be indexed by writing a
2843+
[Array](#vector,-array,-and-slice-types)-typed expressions can be indexed by writing a
28432844
square-bracket-enclosed expression (the index) after them. When the
2844-
vector is mutable, the resulting [lvalue](#lvalues,-rvalues-and-temporaries) can be assigned to.
2845+
array is mutable, the resulting [lvalue](#lvalues,-rvalues-and-temporaries) can be assigned to.
28452846

28462847
Indices are zero-based, and may be of any integral type. Vector access
28472848
is bounds-checked at run-time. When the check fails, it will put the
@@ -2902,7 +2903,7 @@ This means that arithmetic operators can be overridden for user-defined types.
29022903
The default meaning of the operators on standard types is given here.
29032904

29042905
* `+`
2905-
: Addition and vector/string concatenation.
2906+
: Addition and array/string concatenation.
29062907
Calls the `add` method on the `std::ops::Add` trait.
29072908
* `-`
29082909
: Subtraction.
@@ -3205,7 +3206,7 @@ for_expr : "for" pat "in" no_struct_literal_expr '{' block '}' ;
32053206
A `for` expression is a syntactic construct for looping over elements
32063207
provided by an implementation of `std::iter::Iterator`.
32073208

3208-
An example of a for loop over the contents of a vector:
3209+
An example of a for loop over the contents of an array:
32093210

32103211
~~~~
32113212
# type Foo = int;
@@ -3263,7 +3264,7 @@ match_pat : pat [ '|' pat ] * [ "if" expr ] ? ;
32633264

32643265
A `match` expression branches on a *pattern*. The exact form of matching that
32653266
occurs depends on the pattern. Patterns consist of some combination of
3266-
literals, destructured vectors or enum constructors, structures and
3267+
literals, destructured arrays or enum constructors, structures and
32673268
tuples, variable binding specifications, wildcards (`..`), and placeholders
32683269
(`_`). A `match` expression has a *head expression*, which is the value to
32693270
compare to the patterns. The type of the patterns must equal the type of the
@@ -3292,11 +3293,11 @@ between `_` and `..` is that the pattern `C(_)` is only type-correct if `C` has
32923293
exactly one argument, while the pattern `C(..)` is type-correct for any enum
32933294
variant `C`, regardless of how many arguments `C` has.
32943295

3295-
Used inside a vector pattern, `..` stands for any number of elements, when the
3296+
Used inside a array pattern, `..` stands for any number of elements, when the
32963297
`advanced_slice_patterns` feature gate is turned on. This wildcard can be used
3297-
at most once for a given vector, which implies that it cannot be used to
3298+
at most once for a given array, which implies that it cannot be used to
32983299
specifically match elements that are at an unknown distance from both ends of a
3299-
vector, like `[.., 42, ..]`. If followed by a variable name, it will bind the
3300+
array, like `[.., 42, ..]`. If followed by a variable name, it will bind the
33003301
corresponding slice to the variable. Example:
33013302

33023303
~~~~
@@ -3429,7 +3430,7 @@ let message = match x {
34293430
~~~~
34303431

34313432
Range patterns only work on scalar types
3432-
(like integers and characters; not like vectors and structs, which have sub-components).
3433+
(like integers and characters; not like arrays and structs, which have sub-components).
34333434
A range pattern may not be a sub-range of another range pattern inside the same `match`.
34343435

34353436
Finally, match patterns can accept *pattern guards* to further refine the
@@ -3537,10 +3538,10 @@ http://www.unicode.org/glossary/#unicode_scalar_value)
35373538
(ie. a code point that is not a surrogate),
35383539
represented as a 32-bit unsigned word in the 0x0000 to 0xD7FF
35393540
or 0xE000 to 0x10FFFF range.
3540-
A `[char]` vector is effectively an UCS-4 / UTF-32 string.
3541+
A `[char]` array is effectively an UCS-4 / UTF-32 string.
35413542

35423543
A value of type `str` is a Unicode string,
3543-
represented as a vector of 8-bit unsigned bytes holding a sequence of UTF-8 codepoints.
3544+
represented as a array of 8-bit unsigned bytes holding a sequence of UTF-8 codepoints.
35443545
Since `str` is of unknown size, it is not a _first class_ type,
35453546
but can only be instantiated through a pointer type,
35463547
such as `&str` or `String`.
@@ -3651,7 +3652,7 @@ Such recursion has restrictions:
36513652

36523653
* Recursive types must include a nominal type in the recursion
36533654
(not mere [type definitions](#type-definitions),
3654-
or other structural types such as [vectors](#vector-types) or [tuples](#tuple-types)).
3655+
or other structural types such as [arrays](#vector,-array,-and-slice-types) or [tuples](#tuple-types)).
36553656
* A recursive `enum` item must have at least one non-recursive constructor
36563657
(in order to give the recursion a basis case).
36573658
* The size of a recursive type must be finite;
@@ -4155,7 +4156,7 @@ heap data.
41554156
### Built in types
41564157

41574158
The runtime provides C and Rust code to assist with various built-in types,
4158-
such as vectors, strings, and the low level communication system (ports,
4159+
such as arrays, strings, and the low level communication system (ports,
41594160
channels, tasks).
41604161

41614162
Support for other built-in types such as simple types, tuples and
@@ -4174,7 +4175,7 @@ communication facilities.
41744175
The Rust compiler supports various methods to link crates together both
41754176
statically and dynamically. This section will explore the various methods to
41764177
link Rust crates together, and more information about native libraries can be
4177-
found in the [ffi tutorial][ffi].
4178+
found in the [ffi guide][ffi].
41784179

41794180
In one session of compilation, the compiler can generate multiple artifacts
41804181
through the usage of either command line flags or the `crate_type` attribute.

0 commit comments

Comments
 (0)