Skip to content

Commit

Permalink
Remove Copy and destructure Snapshot (#4358)
Browse files Browse the repository at this point in the history
  • Loading branch information
charliermarsh committed May 10, 2023
1 parent ea3d3a6 commit f4f8830
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions crates/ruff_python_semantic/src/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ use crate::node::{NodeId, Nodes};
use crate::scope::{Scope, ScopeId, ScopeKind, Scopes};

/// A snapshot of the [`Context`] at a given point in the AST traversal.
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[derive(Debug, Copy, Clone)]
pub struct Snapshot {
scope_id: ScopeId,
stmt_id: Option<NodeId>,
Expand Down Expand Up @@ -457,9 +457,15 @@ impl<'a> Context<'a> {

/// Restore the context to the given [`Snapshot`].
pub fn restore(&mut self, snapshot: Snapshot) {
self.scope_id = snapshot.scope_id;
self.stmt_id = snapshot.stmt_id;
self.in_annotation = snapshot.in_annotation;
self.in_type_checking_block = snapshot.in_type_checking_block;
let Snapshot {
scope_id,
stmt_id,
in_annotation,
in_type_checking_block,
} = snapshot;
self.scope_id = scope_id;
self.stmt_id = stmt_id;
self.in_annotation = in_annotation;
self.in_type_checking_block = in_type_checking_block;
}
}

0 comments on commit f4f8830

Please sign in to comment.