automatic_relations/
pattern.rs1use std::fmt;
2use terms::{
3 Term
4};
5use crate::{
6 Convoluted,
7};
8
9#[derive(Debug, PartialEq, Eq, Clone, Hash)]
14pub enum MaybeVar<F, X> {
15 Symbol(F),
16 Var(X)
17}
18
19pub type ConvolutedPattern<F, X> = Term<Convoluted<MaybeVar<F, X>>>;
20
21impl<F: fmt::Display, X: fmt::Display> fmt::Display for MaybeVar<F, X> {
22 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
23 match self {
24 MaybeVar::Symbol(s) => s.fmt(f),
25 MaybeVar::Var(t) => t.fmt(f)
26 }
27 }
28}