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}