Skip to main content

dada_ir_sym/ir/
generics.rs

1use dada_util::SalsaSerialize;
2use salsa::Update;
3use serde::Serialize;
4
5use super::types::SymGenericTerm;
6
7#[derive(SalsaSerialize)]
8#[salsa::interned(debug)]
9pub struct SymWhereClause<'db> {
10    pub subject: SymGenericTerm<'db>,
11    pub kind: SymWhereClauseKind,
12}
13
14#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Update, Debug, Serialize)]
15pub enum SymWhereClauseKind {
16    Unique,
17    Shared,
18    Owned,
19    Lent,
20}