trait Set<T> { | |
fn contains(&self, _: T) -> bool; | |
fn set(&mut self, _: T); | |
} | |
impl<'a, T, S> Set<&'a [T]> for S where | |
T: Copy, | |
S: Set<T>, | |
{ | |
fn contains(&self, bits: &[T]) -> bool { | |
bits.iter().all(|&bit| self.contains(bit)) | |
} | |
fn set(&mut self, bits: &[T]) { | |
for &bit in bits { | |
self.set(bit) | |
} | |
} | |
} | |
fn main() { | |
let bits: &[_] = &[0, 1]; | |
0.contains(bits); | |
//~^ ERROR overflow | |
} |