use predicate::{Predicate, RcPredicate};
#[deriving(Send, Clone)]
pub struct ExcludePredicate {
pub predicate: RcPredicate
}
pub trait ToExcludePredicate {
fn exclude(&self) -> RcPredicate;
}
impl Predicate for ExcludePredicate {}
impl ToExcludePredicate for RcPredicate {
fn exclude(&self) -> RcPredicate {
ExcludePredicate{predicate: self.clone()}.upcast()
}
}