How to convert from &[u8] to Vec?

Collecting into a Vec is so common that slices have a method to_vec that does exactly this:

let b = a.to_vec();

You get the same thing as CodesInChaos’s answer, but more concisely.

Notice that to_vec requires T: Clone. To get a Vec<T> out of a &[T] you have to be able to get an owned T out of a non-owning &T, which is what Clone does.

Slices also implement ToOwned, so you can use to_owned instead of to_vec if you want to be generic over different types of non-owning container. If your code only works with slices, prefer to_vec instead.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)