From 84f0d5e460786d071ff3598637c24137ef866509 Mon Sep 17 00:00:00 2001 From: Takayuki Maeda Date: Mon, 15 Aug 2022 16:42:58 +0900 Subject: [PATCH] use `create_snapshot_for_diagnostic` instead of `clone` for `Parser` --- compiler/rustc_parse/src/parser/item.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs index 72c23776d33..65ebaf1539f 100644 --- a/compiler/rustc_parse/src/parser/item.rs +++ b/compiler/rustc_parse/src/parser/item.rs @@ -2260,7 +2260,7 @@ fn parse_param_general(&mut self, req_name: ReqName, first_param: bool) -> PResu (pat, this.parse_ty_for_param()?) } else { debug!("parse_param_general ident_to_pat"); - let parser_snapshot_before_ty = this.clone(); + let parser_snapshot_before_ty = this.create_snapshot_for_diagnostic(); this.eat_incorrect_doc_comment_for_param_type(); let mut ty = this.parse_ty_for_param(); if ty.is_ok() @@ -2283,7 +2283,7 @@ fn parse_param_general(&mut self, req_name: ReqName, first_param: bool) -> PResu // Recover from attempting to parse the argument as a type without pattern. Err(err) => { err.cancel(); - *this = parser_snapshot_before_ty; + this.restore_snapshot(parser_snapshot_before_ty); this.recover_arg_parse()? } }