use crate::Expression;
/// An element with an optional expression.
pub trait WithOptionalExpression {
/// Gets the optional expression.
fn expression(&self) -> Option<&Box<dyn Expression>>;
/// Sets the expression.
fn with_expression<E>(self, expression: E) -> Self
where
E: 'static + Expression;
/// Sets the expression.
fn set_expression<E>(&mut self, expression: E)
where
E: 'static + Expression;
}