fn to_c_wchar_t_str(s: &str) -> Vec { let mut r = Vec::::new(); for c in s.bytes() { if c == 0 { panic!("can't contain a null character"); } if c >= 128 { panic!("only ASCII supported"); } r.push(c.into()); } r.push(0); r } pub fn main() { let s = to_c_wchar_t_str("Rust"); let len = unsafe { libc::wcslen(s.as_ptr()) }; assert_eq!(len, 4); }