@@ -349,7 +349,7 @@ enclosed within two `U+0022` (double-quote) characters,
349349with the exception of ` U+0022 ` itself,
350350which must be _ escaped_ by a preceding ` U+005C ` character (` \ ` ),
351351or 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
354354Some additional _ escapes_ are available in either byte or non-raw byte string
355355literals. 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
28112811Also, if the type of the expression to the left of the dot is a pointer,
28122812it 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
28252826In the ` [expr ',' ".." expr] ` form, the expression after the ` ".." `
28262827must 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).
28392840idx_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
28432844square-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
28462847Indices are zero-based, and may be of any integral type. Vector access
28472848is 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.
29022903The 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 '}' ;
32053206A ` for ` expression is a syntactic construct for looping over elements
32063207provided 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
32643265A ` match ` expression branches on a * pattern* . The exact form of matching that
32653266occurs 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
32673268tuples, variable binding specifications, wildcards (` .. ` ), and placeholders
32683269(` _ ` ). A ` match ` expression has a * head expression* , which is the value to
32693270compare 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
32923293exactly one argument, while the pattern ` C(..) ` is type-correct for any enum
32933294variant ` 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
32983299specifically 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
33003301corresponding slice to the variable. Example:
33013302
33023303~~~~
@@ -3429,7 +3430,7 @@ let message = match x {
34293430~~~~
34303431
34313432Range 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).
34333434A range pattern may not be a sub-range of another range pattern inside the same ` match ` .
34343435
34353436Finally, 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),
35383539represented as a 32-bit unsigned word in the 0x0000 to 0xD7FF
35393540or 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
35423543A 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.
35443545Since ` str ` is of unknown size, it is not a _ first class_ type,
35453546but can only be instantiated through a pointer type,
35463547such 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
41574158The 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,
41594160channels, tasks).
41604161
41614162Support for other built-in types such as simple types, tuples and
0 commit comments