rust-cross-platform: remove `unimplemented!` to get compile-time errors
authorRaphaël Gomès <rgomes@octobus.net>
Wed, 16 Oct 2019 17:16:23 +0300
changeset 43250 98d996a138de
parent 43249 63d440bef72a
child 43251 970978975574
rust-cross-platform: remove `unimplemented!` to get compile-time errors We should get a compile-time error that there is missing functionality for the targeted platform instead of the program breaking at runtime. Differential Revision: https://phab.mercurial-scm.org/D7107
rust/hg-core/src/utils/files.rs
rust/hg-core/src/utils/hg_path.rs
--- a/rust/hg-core/src/utils/files.rs	Fri Oct 11 00:18:34 2019 -0700
+++ b/rust/hg-core/src/utils/files.rs	Wed Oct 16 17:16:23 2019 +0300
@@ -21,12 +21,9 @@
         use std::os::unix::ffi::OsStrExt;
         os_str = std::ffi::OsStr::from_bytes(bytes);
     }
-    #[cfg(windows)]
-    {
-        // TODO: convert from Windows MBCS (ANSI encoding) to WTF8.
-        // Perhaps, the return type would have to be Result<PathBuf>.
-        unimplemented!()
-    }
+    // TODO Handle other platforms
+    // TODO: convert from WTF8 to Windows MBCS (ANSI encoding).
+    // Perhaps, the return type would have to be Result<PathBuf>.
 
     Path::new(os_str)
 }
--- a/rust/hg-core/src/utils/hg_path.rs	Fri Oct 11 00:18:34 2019 -0700
+++ b/rust/hg-core/src/utils/hg_path.rs	Wed Oct 16 17:16:23 2019 +0300
@@ -258,11 +258,8 @@
         use std::os::unix::ffi::OsStrExt;
         os_str = std::ffi::OsStr::from_bytes(&hg_path.as_ref().as_bytes());
     }
-    #[cfg(windows)]
-    {
-        // TODO: convert from Windows MBCS (ANSI encoding) to WTF8.
-        unimplemented!();
-    }
+    // TODO Handle other platforms
+    // TODO: convert from WTF8 to Windows MBCS (ANSI encoding).
     Ok(os_str.to_os_string())
 }
 
@@ -281,11 +278,9 @@
         use std::os::unix::ffi::OsStrExt;
         buf = HgPathBuf::from_bytes(&os_string.as_ref().as_bytes());
     }
-    #[cfg(windows)]
-    {
-        // TODO: convert from WTF8 to Windows MBCS (ANSI encoding).
-        unimplemented!();
-    }
+    // TODO Handle other platforms
+    // TODO: convert from WTF8 to Windows MBCS (ANSI encoding).
+
     buf.check_state()?;
     Ok(buf)
 }
@@ -300,11 +295,9 @@
         use std::os::unix::ffi::OsStrExt;
         buf = HgPathBuf::from_bytes(&os_str.as_bytes());
     }
-    #[cfg(windows)]
-    {
-        // TODO: convert from WTF8 to Windows MBCS (ANSI encoding).
-        unimplemented!();
-    }
+    // TODO Handle other platforms
+    // TODO: convert from WTF8 to Windows MBCS (ANSI encoding).
+
     buf.check_state()?;
     Ok(buf)
 }