Disallow [_, ..n] syntax for fixed length arrays and repeating array constructors
Closes #19999 [breaking-change] Use [_; n] instead.
This commit is contained in:
parent
39d7402666
commit
d45b5d2ed9
1 changed files with 2 additions and 15 deletions
|
@ -1716,12 +1716,7 @@ impl<'a> Parser<'a> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn maybe_parse_fixed_length_of_vec(&mut self) -> Option<P<ast::Expr>> {
|
pub fn maybe_parse_fixed_length_of_vec(&mut self) -> Option<P<ast::Expr>> {
|
||||||
if self.check(&token::Comma) &&
|
if self.check(&token::Semi) {
|
||||||
self.look_ahead(1, |t| *t == token::DotDot) {
|
|
||||||
self.bump();
|
|
||||||
self.bump();
|
|
||||||
Some(self.parse_expr_res(RESTRICTION_NO_DOTS))
|
|
||||||
} else if self.check(&token::Semi) {
|
|
||||||
self.bump();
|
self.bump();
|
||||||
Some(self.parse_expr())
|
Some(self.parse_expr())
|
||||||
} else {
|
} else {
|
||||||
|
@ -2277,15 +2272,7 @@ impl<'a> Parser<'a> {
|
||||||
} else {
|
} else {
|
||||||
// Nonempty vector.
|
// Nonempty vector.
|
||||||
let first_expr = self.parse_expr();
|
let first_expr = self.parse_expr();
|
||||||
if self.check(&token::Comma) &&
|
if self.check(&token::Semi) {
|
||||||
self.look_ahead(1, |t| *t == token::DotDot) {
|
|
||||||
// Repeating vector syntax: [ 0, ..512 ]
|
|
||||||
self.bump();
|
|
||||||
self.bump();
|
|
||||||
let count = self.parse_expr();
|
|
||||||
self.expect(&token::CloseDelim(token::Bracket));
|
|
||||||
ex = ExprRepeat(first_expr, count);
|
|
||||||
} else if self.check(&token::Semi) {
|
|
||||||
// Repeating vector syntax: [ 0; 512 ]
|
// Repeating vector syntax: [ 0; 512 ]
|
||||||
self.bump();
|
self.bump();
|
||||||
let count = self.parse_expr();
|
let count = self.parse_expr();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue