surfer_translation_types/
field_ref.rs1use crate::variable_ref::VariableRef;
2use serde::{Deserialize, Serialize};
3use std::hash::{Hash, Hasher};
4
5#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
8pub struct FieldRef<VarId, ScopeId> {
9 pub root: VariableRef<VarId, ScopeId>,
10 pub field: Vec<String>,
11}
12
13impl<VarId, ScopeId> Hash for FieldRef<VarId, ScopeId> {
15 fn hash<H: Hasher>(&self, state: &mut H) {
16 let FieldRef { root, field } = self;
17 root.hash(state);
18 field.hash(state);
19 }
20}