Rollup merge of #95212 - TaKO8Ki:replace-this-clone-with-this-create-snapshot-for-diagnostic, r=Dylan-DPC
Replace `this.clone()` with `this.create_snapshot_for_diagnostic()`
Use [`create_snapshot_for_diagnostic`](cd11905716/compiler/rustc_parse/src/parser/diagnostics.rs (L214-L223)
) I implemented in https://github.com/rust-lang/rust/pull/94731 instead of `this.clone()` to avoid duplicate errors about unclosed delims being emitted when the `Parser` is dropped.
This commit is contained in:
commit
0254928213
1 changed files with 2 additions and 2 deletions
|
@ -118,7 +118,7 @@ impl<'a> Parser<'a> {
|
||||||
Some(this.parse_ty_param(attrs)?)
|
Some(this.parse_ty_param(attrs)?)
|
||||||
} else if this.token.can_begin_type() {
|
} else if this.token.can_begin_type() {
|
||||||
// Trying to write an associated type bound? (#26271)
|
// Trying to write an associated type bound? (#26271)
|
||||||
let snapshot = this.clone();
|
let snapshot = this.create_snapshot_for_diagnostic();
|
||||||
match this.parse_ty_where_predicate() {
|
match this.parse_ty_where_predicate() {
|
||||||
Ok(where_predicate) => {
|
Ok(where_predicate) => {
|
||||||
this.struct_span_err(
|
this.struct_span_err(
|
||||||
|
@ -133,7 +133,7 @@ impl<'a> Parser<'a> {
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
err.cancel();
|
err.cancel();
|
||||||
// FIXME - maybe we should overwrite 'self' outside of `collect_tokens`?
|
// FIXME - maybe we should overwrite 'self' outside of `collect_tokens`?
|
||||||
*this = snapshot;
|
this.restore_snapshot(snapshot);
|
||||||
return Ok((None, TrailingToken::None));
|
return Ok((None, TrailingToken::None));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue