1 2 3 4 5 6 7 8 9 10 11
use std::{ffi::OsStr, iter, os::windows::ffi::OsStrExt}; pub trait Wide { fn wide(&self) -> Vec<u16>; } impl<T: AsRef<OsStr>> Wide for T { fn wide(&self) -> Vec<u16> { self.as_ref().encode_wide().chain(iter::once(0)).collect() } }