That’s the magic of Deref. You can click on Deref to get a full explanation, but in this case, it’s kinda simple: Vec<T> implements Deref<Target=[T]>, which means that wherever you need a &[T], you can actually put in a &Vec<T>. For T=String, this is exactly what you’re seeing.