bart/conditional.rs
1pub trait Conditional {
2 fn val(&self) -> bool;
3}
4
5impl Conditional for bool {
6 fn val(&self) -> bool {
7 *self
8 }
9}
10
11impl<T> Conditional for Vec<T> {
12 fn val(&self) -> bool {
13 !self.is_empty()
14 }
15}
16
17impl<'a, T> Conditional for &'a [T] {
18 fn val(&self) -> bool {
19 !self.is_empty()
20 }
21}
22
23impl<'a, T: Conditional> Conditional for &'a T {
24 fn val(&self) -> bool {
25 (*self).val()
26 }
27}