mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-08 01:28:18 +03:00
token::LArrow can begin arguments
`<-` may indicate the start of a negative const argument.
This commit is contained in:
@@ -2319,7 +2319,8 @@ fn parse_path_segment(&mut self, style: PathStyle) -> PResult<'a, PathSegment> {
|
||||
let ident = self.parse_path_segment_ident()?;
|
||||
|
||||
let is_args_start = |token: &token::Token| match *token {
|
||||
token::Lt | token::BinOp(token::Shl) | token::OpenDelim(token::Paren) => true,
|
||||
token::Lt | token::BinOp(token::Shl) | token::OpenDelim(token::Paren)
|
||||
| token::LArrow => true,
|
||||
_ => false,
|
||||
};
|
||||
let check_args_start = |this: &mut Self| {
|
||||
|
||||
@@ -6,7 +6,7 @@ fn i32_identity<const X: i32>() -> i32 {
|
||||
}
|
||||
|
||||
fn foo_a() {
|
||||
i32_identity::<-1>(); //~ ERROR expected identifier, found `<-`
|
||||
i32_identity::<-1>(); // ok
|
||||
}
|
||||
|
||||
fn foo_b() {
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
error: expected identifier, found `<-`
|
||||
--> $DIR/const-expression-parameter.rs:9:19
|
||||
|
|
||||
LL | i32_identity::<-1>();
|
||||
| ^^ expected identifier
|
||||
|
||||
error: expected one of `,` or `>`, found `+`
|
||||
--> $DIR/const-expression-parameter.rs:13:22
|
||||
|
|
||||
@@ -16,5 +10,5 @@ warning: the feature `const_generics` is incomplete and may cause the compiler t
|
||||
LL | #![feature(const_generics)]
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
error: aborting due to previous error
|
||||
|
||||
|
||||
Reference in New Issue
Block a user