conjure_cp_core/ast/unnamed.rs
1use polyquine::Quine;
2use serde::{Deserialize, Serialize};
3
4use crate::ast::{Moo, Name};
5
6/// A finite nominal type whose members have no names in the input model.
7#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize, Quine)]
8pub struct UnnamedType {
9 pub name: Name,
10 pub size: u32,
11}
12
13/// Members are numbered from one for representation and solution output.
14#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize, Quine)]
15pub struct UnnamedValue {
16 pub ty: Moo<UnnamedType>,
17 pub value: u32,
18}