@@ -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
@@ -2811,16 +2811,17 @@ When the type providing the field inherits mutabilty, it can be [assigned](#assi
2811
2811
Also, if the type of the expression to the left of the dot is a pointer,
2812
2812
it is automatically dereferenced to make the field access possible.
2813
2813
2814
- ### Vector expressions
2814
+ ### Array expressions
2815
2815
2816
2816
~~~~ {.ebnf .gram}
2817
- vec_expr : '[' "mut" ? vec_elems? ']' ;
2817
+ array_expr : '[' "mut" ? vec_elems? ']' ;
2818
2818
2819
- vec_elems : [expr [',' expr]*] | [expr ',' ".." expr] ;
2819
+ array_elems : [expr [',' expr]*] | [expr ',' ".." expr] ;
2820
2820
~~~~
2821
2821
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.
2824
2825
2825
2826
In the ` [expr ',' ".." expr] ` form, the expression after the ` ".." `
2826
2827
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).
2829
2830
~~~~
2830
2831
[1i, 2, 3, 4];
2831
2832
["a", "b", "c", "d"];
2832
- [0i, ..128]; // vector with 128 zeros
2833
+ [0i, ..128]; // array with 128 zeros
2833
2834
[0u8, 0u8, 0u8, 0u8];
2834
2835
~~~~
2835
2836
@@ -2839,9 +2840,9 @@ as a [literal](#literals) or a [static item](#static-items).
2839
2840
idx_expr : expr '[' expr ']' ;
2840
2841
~~~~
2841
2842
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
2843
2844
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.
2845
2846
2846
2847
Indices are zero-based, and may be of any integral type. Vector access
2847
2848
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.
2902
2903
The default meaning of the operators on standard types is given here.
2903
2904
2904
2905
* ` + `
2905
- : Addition and vector /string concatenation.
2906
+ : Addition and array /string concatenation.
2906
2907
Calls the ` add ` method on the ` std::ops::Add ` trait.
2907
2908
* ` - `
2908
2909
: Subtraction.
@@ -3205,7 +3206,7 @@ for_expr : "for" pat "in" no_struct_literal_expr '{' block '}' ;
3205
3206
A ` for ` expression is a syntactic construct for looping over elements
3206
3207
provided by an implementation of ` std::iter::Iterator ` .
3207
3208
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 :
3209
3210
3210
3211
~~~~
3211
3212
# type Foo = int;
@@ -3263,7 +3264,7 @@ match_pat : pat [ '|' pat ] * [ "if" expr ] ? ;
3263
3264
3264
3265
A ` match ` expression branches on a * pattern* . The exact form of matching that
3265
3266
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
3267
3268
tuples, variable binding specifications, wildcards (` .. ` ), and placeholders
3268
3269
(` _ ` ). A ` match ` expression has a * head expression* , which is the value to
3269
3270
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
3292
3293
exactly one argument, while the pattern ` C(..) ` is type-correct for any enum
3293
3294
variant ` C ` , regardless of how many arguments ` C ` has.
3294
3295
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
3296
3297
` 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
3298
3299
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
3300
3301
corresponding slice to the variable. Example:
3301
3302
3302
3303
~~~~
@@ -3429,7 +3430,7 @@ let message = match x {
3429
3430
~~~~
3430
3431
3431
3432
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).
3433
3434
A range pattern may not be a sub-range of another range pattern inside the same ` match ` .
3434
3435
3435
3436
Finally, match patterns can accept * pattern guards* to further refine the
@@ -3537,10 +3538,10 @@ http://www.unicode.org/glossary/#unicode_scalar_value)
3537
3538
(ie. a code point that is not a surrogate),
3538
3539
represented as a 32-bit unsigned word in the 0x0000 to 0xD7FF
3539
3540
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.
3541
3542
3542
3543
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.
3544
3545
Since ` str ` is of unknown size, it is not a _ first class_ type,
3545
3546
but can only be instantiated through a pointer type,
3546
3547
such as ` &str ` or ` String ` .
@@ -3651,7 +3652,7 @@ Such recursion has restrictions:
3651
3652
3652
3653
* Recursive types must include a nominal type in the recursion
3653
3654
(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 ) ).
3655
3656
* A recursive ` enum ` item must have at least one non-recursive constructor
3656
3657
(in order to give the recursion a basis case).
3657
3658
* The size of a recursive type must be finite;
@@ -4155,7 +4156,7 @@ heap data.
4155
4156
### Built in types
4156
4157
4157
4158
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,
4159
4160
channels, tasks).
4160
4161
4161
4162
Support for other built-in types such as simple types, tuples and
0 commit comments