Vec::contains accepts &T. HashSet::contains is more general: it accepts any &Q where T: Borrow<Q>.
This makes it inconvenient to use Vec::contains on a Vec<Vec<u8>> with static bytestring slices (and I assume similarly for Vec<String>.
Would you consider generalizing Vec::contains to accept the more general type accepted by HashSet::contains?