summaryrefslogtreecommitdiff
path: root/vendor/same-file/src/unknown.rs
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-02 18:36:06 -0600
committermo khan <mo@mokhan.ca>2025-07-02 18:36:06 -0600
commit8cdfa445d6629ffef4cb84967ff7017654045bc2 (patch)
tree22f0b0907c024c78d26a731e2e1f5219407d8102 /vendor/same-file/src/unknown.rs
parent4351c74c7c5f97156bc94d3a8549b9940ac80e3f (diff)
chore: add vendor directory
Diffstat (limited to 'vendor/same-file/src/unknown.rs')
-rw-r--r--vendor/same-file/src/unknown.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/same-file/src/unknown.rs b/vendor/same-file/src/unknown.rs
new file mode 100644
index 00000000..6bfbdea0
--- /dev/null
+++ b/vendor/same-file/src/unknown.rs
@@ -0,0 +1,52 @@
+use std::fs::File;
+use std::io;
+use std::path::Path;
+
+static ERROR_MESSAGE: &str = "same-file is not supported on this platform.";
+// This implementation is to allow same-file to be compiled on
+// unsupported platforms in case it was incidentally included
+// as a transitive, unused dependency
+#[derive(Debug, Hash)]
+pub struct Handle;
+
+impl Eq for Handle {}
+
+impl PartialEq for Handle {
+ fn eq(&self, _other: &Handle) -> bool {
+ unreachable!(ERROR_MESSAGE);
+ }
+}
+
+impl Handle {
+ pub fn from_path<P: AsRef<Path>>(_p: P) -> io::Result<Handle> {
+ error()
+ }
+
+ pub fn from_file(_file: File) -> io::Result<Handle> {
+ error()
+ }
+
+ pub fn stdin() -> io::Result<Handle> {
+ error()
+ }
+
+ pub fn stdout() -> io::Result<Handle> {
+ error()
+ }
+
+ pub fn stderr() -> io::Result<Handle> {
+ error()
+ }
+
+ pub fn as_file(&self) -> &File {
+ unreachable!(ERROR_MESSAGE);
+ }
+
+ pub fn as_file_mut(&self) -> &mut File {
+ unreachable!(ERROR_MESSAGE);
+ }
+}
+
+fn error<T>() -> io::Result<T> {
+ Err(io::Error::new(io::ErrorKind::Other, ERROR_MESSAGE))
+}