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)]
9pub struct FieldRef<VarId, ScopeId> {
10 pub root: VariableRef<VarId, ScopeId>,
11 pub field: Vec<String>,
12}
13
14impl<VarId, ScopeId> Hash for FieldRef<VarId, ScopeId> {
16 fn hash<H: Hasher>(&self, state: &mut H) {
17 let FieldRef { root, field } = self;
18 root.hash(state);
19 field.hash(state);
20 }
21}