diff options
| author | Dylan DPC <99973273+Dylan-DPC@users.noreply.github.com> | 2022-03-22 19:07:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-22 19:07:36 +0100 |
| commit | 5d3dfb446fc696bbeea796ee8e5230ba96ba41b9 (patch) | |
| tree | 8e28d3e8e4d564f41bb3e9a824010f05faaae9a1 /compiler/rustc_parse/src/parser/path.rs | |
| parent | 0e80a7ab59731bdbba6a55f17bd825b2059ee3df (diff) | |
| parent | 62ded071d588b92b394c4561d19d517d87074728 (diff) | |
| download | rust-5d3dfb446fc696bbeea796ee8e5230ba96ba41b9.tar.gz rust-5d3dfb446fc696bbeea796ee8e5230ba96ba41b9.zip | |
Rollup merge of #95200 - TaKO8Ki:cancel-not-emitted-error-when-parsing-generic-arg, r=oli-obk
Cancel a not emitted error after parsing const generic args closes #95163
Diffstat (limited to 'compiler/rustc_parse/src/parser/path.rs')
| -rw-r--r-- | compiler/rustc_parse/src/parser/path.rs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/compiler/rustc_parse/src/parser/path.rs b/compiler/rustc_parse/src/parser/path.rs index 17c57867cf9..07ce879de8f 100644 --- a/compiler/rustc_parse/src/parser/path.rs +++ b/compiler/rustc_parse/src/parser/path.rs @@ -630,10 +630,14 @@ impl<'a> Parser<'a> { Ok(ty) => GenericArg::Type(ty), Err(err) => { if is_const_fn { - if let Ok(expr) = (*snapshot).parse_expr_res(Restrictions::CONST_EXPR, None) - { - self.restore_snapshot(snapshot); - return Ok(Some(self.dummy_const_arg_needs_braces(err, expr.span))); + match (*snapshot).parse_expr_res(Restrictions::CONST_EXPR, None) { + Ok(expr) => { + self.restore_snapshot(snapshot); + return Ok(Some(self.dummy_const_arg_needs_braces(err, expr.span))); + } + Err(err) => { + err.cancel(); + } } } // Try to recover from possible `const` arg without braces. |
