This compiles:
trait Reader {}
fn perform(readers: &[Reader]) -> usize { 0 }
and this complains that there is no len():
trait Reader {}
fn perform(readers: &[Reader]) -> usize { readers.len() }
It seems to me like both should fail to compile with an error about sticking DSTs in a slice.