comparison rust/hg-core/src/utils/files.rs @ 42484:f305f1d7d559

rust-filepatterns: add comment about Windows path handling As I replied to the Phabricator message, this is wrong. And I even suspect it wouldn't compile because of multiple type mismatches. I think, in Rust where type system is rock solid, we can live with UTF-8 strings except for the bottom storage layer and the top UI/command layer. We'll still have to get around undecodable characters not to be lost, but I think it's okay to drop such filenames from match result if they don't match in UTF-8 world, not in Latin-1 world.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 15 Jun 2019 10:58:53 +0900
parents 9609430d3625
children cad3dde7a573
comparison
equal deleted inserted replaced
42483:a4a468b00d44 42484:f305f1d7d559
7 use std::os::unix::ffi::OsStrExt; 7 use std::os::unix::ffi::OsStrExt;
8 os_str = std::ffi::OsStr::from_bytes(bytes); 8 os_str = std::ffi::OsStr::from_bytes(bytes);
9 } 9 }
10 #[cfg(windows)] 10 #[cfg(windows)]
11 { 11 {
12 // TODO: convert from Windows MBCS (ANSI encoding) to WTF8.
13 // Perhaps, the return type would have to be Result<PathBuf>.
12 use std::os::windows::ffi::OsStrExt; 14 use std::os::windows::ffi::OsStrExt;
13 os_str = std::ffi::OsString::from_wide(bytes); 15 os_str = std::ffi::OsString::from_wide(bytes);
14 } 16 }
15 17
16 Path::new(os_str) 18 Path::new(os_str)