Parse negative literals in const generic arguments

This commit is contained in:
varkor 2019-02-07 14:58:47 +01:00
parent 9ad04b9960
commit 451f128783
2 changed files with 5 additions and 2 deletions

View file

@ -5796,8 +5796,7 @@ impl<'a> Parser<'a> {
} else {
// FIXME(const_generics): this currently conflicts with emplacement syntax
// with negative integer literals.
let lit = self.parse_lit()?;
self.mk_expr(lit.span, ExprKind::Lit(lit), ThinVec::new())
self.parse_literal_maybe_minus()?
};
let value = AnonConst {
id: ast::DUMMY_NODE_ID,

View file

@ -14,6 +14,10 @@ fn foo_b() {
u32_identity::<1 + 2>(); //~ ERROR expected one of `,` or `>`, found `+`
}
fn foo_c() {
u32_identity::< -1 >(); // ok
}
fn main() {
u32_identity::<5>(); // ok
}