@@ -349,7 +349,7 @@ enclosed within two `U+0022` (double-quote) characters,
349
349
with the exception of ` U+0022 ` itself,
350
350
which must be _ escaped_ by a preceding ` U+005C ` character (` \ ` ),
351
351
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.
353
353
354
354
Some additional _ escapes_ are available in either byte or non-raw byte string
355
355
literals. An escape starts with a ` U+005C ` (` \ ` ) and continues with one of
@@ -2809,16 +2809,17 @@ When the type providing the field inherits mutabilty, it can be [assigned](#assi
2809
2809
Also, if the type of the expression to the left of the dot is a pointer,
2810
2810
it is automatically dereferenced to make the field access possible.
2811
2811
2812
- ### Vector expressions
2812
+ ### Array expressions
2813
2813
2814
2814
~~~~ {.ebnf .gram}
2815
- vec_expr : '[' "mut" ? vec_elems? ']' ;
2815
+ array_expr : '[' "mut" ? vec_elems? ']' ;
2816
2816
2817
- vec_elems : [expr [',' expr]*] | [expr ',' ".." expr] ;
2817
+ array_elems : [expr [',' expr]*] | [expr ',' ".." expr] ;
2818
2818
~~~~
2819
2819
2820
- A [ _ vector_ ] ( #vector-types ) _ expression_ is written by enclosing zero or
2821
- more comma-separated expressions of uniform type in square brackets.
2820
+ An [ array] ( #vector,-array,-and-slice-types ) _ expression_ is written by
2821
+ enclosing zero or more comma-separated expressions of uniform type in square
2822
+ brackets.
2822
2823
2823
2824
In the ` [expr ',' ".." expr] ` form, the expression after the ` ".." `
2824
2825
must be a constant expression that can be evaluated at compile time, such
@@ -2827,7 +2828,7 @@ as a [literal](#literals) or a [static item](#static-items).
2827
2828
~~~~
2828
2829
[1i, 2, 3, 4];
2829
2830
["a", "b", "c", "d"];
2830
- [0i, ..128]; // vector with 128 zeros
2831
+ [0i, ..128]; // array with 128 zeros
2831
2832
[0u8, 0u8, 0u8, 0u8];
2832
2833
~~~~
2833
2834
@@ -2837,9 +2838,9 @@ as a [literal](#literals) or a [static item](#static-items).
2837
2838
idx_expr : expr '[' expr ']' ;
2838
2839
~~~~
2839
2840
2840
- [ Vector ] ( #vector-types ) -typed expressions can be indexed by writing a
2841
+ [ Array ] ( #vector,-array,-and-slice -types ) -typed expressions can be indexed by writing a
2841
2842
square-bracket-enclosed expression (the index) after them. When the
2842
- vector is mutable, the resulting [ lvalue] ( #lvalues,-rvalues-and-temporaries ) can be assigned to.
2843
+ array is mutable, the resulting [ lvalue] ( #lvalues,-rvalues-and-temporaries ) can be assigned to.
2843
2844
2844
2845
Indices are zero-based, and may be of any integral type. Vector access
2845
2846
is bounds-checked at run-time. When the check fails, it will put the
@@ -2900,7 +2901,7 @@ This means that arithmetic operators can be overridden for user-defined types.
2900
2901
The default meaning of the operators on standard types is given here.
2901
2902
2902
2903
* ` + `
2903
- : Addition and vector /string concatenation.
2904
+ : Addition and array /string concatenation.
2904
2905
Calls the ` add ` method on the ` std::ops::Add ` trait.
2905
2906
* ` - `
2906
2907
: Subtraction.
@@ -3203,7 +3204,7 @@ for_expr : "for" pat "in" no_struct_literal_expr '{' block '}' ;
3203
3204
A ` for ` expression is a syntactic construct for looping over elements
3204
3205
provided by an implementation of ` std::iter::Iterator ` .
3205
3206
3206
- An example of a for loop over the contents of a vector :
3207
+ An example of a for loop over the contents of an array :
3207
3208
3208
3209
~~~~
3209
3210
# type Foo = int;
@@ -3261,7 +3262,7 @@ match_pat : pat [ '|' pat ] * [ "if" expr ] ? ;
3261
3262
3262
3263
A ` match ` expression branches on a * pattern* . The exact form of matching that
3263
3264
occurs depends on the pattern. Patterns consist of some combination of
3264
- literals, destructured vectors or enum constructors, structures and
3265
+ literals, destructured arrays or enum constructors, structures and
3265
3266
tuples, variable binding specifications, wildcards (` .. ` ), and placeholders
3266
3267
(` _ ` ). A ` match ` expression has a * head expression* , which is the value to
3267
3268
compare to the patterns. The type of the patterns must equal the type of the
@@ -3290,11 +3291,11 @@ between `_` and `..` is that the pattern `C(_)` is only type-correct if `C` has
3290
3291
exactly one argument, while the pattern ` C(..) ` is type-correct for any enum
3291
3292
variant ` C ` , regardless of how many arguments ` C ` has.
3292
3293
3293
- Used inside a vector pattern, ` .. ` stands for any number of elements, when the
3294
+ Used inside a array pattern, ` .. ` stands for any number of elements, when the
3294
3295
` advanced_slice_patterns ` feature gate is turned on. This wildcard can be used
3295
- at most once for a given vector , which implies that it cannot be used to
3296
+ at most once for a given array , which implies that it cannot be used to
3296
3297
specifically match elements that are at an unknown distance from both ends of a
3297
- vector , like ` [.., 42, ..] ` . If followed by a variable name, it will bind the
3298
+ array , like ` [.., 42, ..] ` . If followed by a variable name, it will bind the
3298
3299
corresponding slice to the variable. Example:
3299
3300
3300
3301
~~~~
@@ -3427,7 +3428,7 @@ let message = match x {
3427
3428
~~~~
3428
3429
3429
3430
Range patterns only work on scalar types
3430
- (like integers and characters; not like vectors and structs, which have sub-components).
3431
+ (like integers and characters; not like arrays and structs, which have sub-components).
3431
3432
A range pattern may not be a sub-range of another range pattern inside the same ` match ` .
3432
3433
3433
3434
Finally, match patterns can accept * pattern guards* to further refine the
@@ -3535,10 +3536,10 @@ http://www.unicode.org/glossary/#unicode_scalar_value)
3535
3536
(ie. a code point that is not a surrogate),
3536
3537
represented as a 32-bit unsigned word in the 0x0000 to 0xD7FF
3537
3538
or 0xE000 to 0x10FFFF range.
3538
- A ` [char] ` vector is effectively an UCS-4 / UTF-32 string.
3539
+ A ` [char] ` array is effectively an UCS-4 / UTF-32 string.
3539
3540
3540
3541
A value of type ` str ` is a Unicode string,
3541
- represented as a vector of 8-bit unsigned bytes holding a sequence of UTF-8 codepoints.
3542
+ represented as a array of 8-bit unsigned bytes holding a sequence of UTF-8 codepoints.
3542
3543
Since ` str ` is of unknown size, it is not a _ first class_ type,
3543
3544
but can only be instantiated through a pointer type,
3544
3545
such as ` &str ` or ` String ` .
@@ -3649,7 +3650,7 @@ Such recursion has restrictions:
3649
3650
3650
3651
* Recursive types must include a nominal type in the recursion
3651
3652
(not mere [ type definitions] ( #type-definitions ) ,
3652
- or other structural types such as [ vectors ] ( #vector-types ) or [ tuples] ( #tuple-types ) ).
3653
+ or other structural types such as [ arrays ] ( #vector,-array,-and-slice -types ) or [ tuples] ( #tuple-types ) ).
3653
3654
* A recursive ` enum ` item must have at least one non-recursive constructor
3654
3655
(in order to give the recursion a basis case).
3655
3656
* The size of a recursive type must be finite;
@@ -4153,7 +4154,7 @@ heap data.
4153
4154
### Built in types
4154
4155
4155
4156
The runtime provides C and Rust code to assist with various built-in types,
4156
- such as vectors , strings, and the low level communication system (ports,
4157
+ such as arrays , strings, and the low level communication system (ports,
4157
4158
channels, tasks).
4158
4159
4159
4160
Support for other built-in types such as simple types, tuples and
0 commit comments