Lines
100 %
Functions
50 %
use std::fmt::Display;
use serde::{Deserialize, Serialize};
/// A reference to an object stored in the [`SymbolTable`].
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Name {
/// A name given in the input model.
UserName(String),
/// A name generated by Conjure-Oxide.
MachineName(i32),
}
uniplate::derive_unplateable!(Name);
impl Display for Name {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Name::UserName(s) => write!(f, "{}", s),
Name::MachineName(i) => write!(f, "__{}", i),