diff options
| author | Dylan DPC <dylan.dpc@gmail.com> | 2020-04-22 23:19:19 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-22 23:19:19 +0200 |
| commit | 10e47f5b7b58e1413ddc7cbb3164138c15e9684e (patch) | |
| tree | 943831e633e5f251207108aadea3a926f98f849b /src/librustc_parse/parser/expr.rs | |
| parent | b2e36e6c2d229126b59e892c9147fbb68115d292 (diff) | |
| parent | 7fca9f809da1c65afa09e7d6e35b9599f87f03d3 (diff) | |
| download | rust-10e47f5b7b58e1413ddc7cbb3164138c15e9684e.tar.gz rust-10e47f5b7b58e1413ddc7cbb3164138c15e9684e.zip | |
Rollup merge of #71256 - cuviper:must_use_replace, r=estebank
Lint must_use on mem::replace This adds a hint on `mem::replace`, "if you don't need the old value, you can just assign the new value directly". This is in similar spirit to the `must_use` on `ManuallyDrop::take`.
Diffstat (limited to 'src/librustc_parse/parser/expr.rs')
| -rw-r--r-- | src/librustc_parse/parser/expr.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/librustc_parse/parser/expr.rs b/src/librustc_parse/parser/expr.rs index 986f5410e26..3f08fb79790 100644 --- a/src/librustc_parse/parser/expr.rs +++ b/src/librustc_parse/parser/expr.rs @@ -547,8 +547,7 @@ impl<'a> Parser<'a> { // Rewind to before attempting to parse the type with generics, to recover // from situations like `x as usize < y` in which we first tried to parse // `usize < y` as a type with generic arguments. - let parser_snapshot_after_type = self.clone(); - mem::replace(self, parser_snapshot_before_type); + let parser_snapshot_after_type = mem::replace(self, parser_snapshot_before_type); match self.parse_path(PathStyle::Expr) { Ok(path) => { @@ -560,7 +559,7 @@ impl<'a> Parser<'a> { // example because `parse_ty_no_plus` returns `Err` on keywords, // but `parse_path` returns `Ok` on them due to error recovery. // Return original error and parser state. - mem::replace(self, parser_snapshot_after_type); + *self = parser_snapshot_after_type; return Err(type_err); } }; @@ -601,7 +600,7 @@ impl<'a> Parser<'a> { Err(mut path_err) => { // Couldn't parse as a path, return original error and parser state. path_err.cancel(); - mem::replace(self, parser_snapshot_after_type); + *self = parser_snapshot_after_type; return Err(type_err); } } |
