From 0ed4127d5cab264c84e0669f4ac168eb754f8d23 Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Mon, 5 Oct 2020 00:47:35 +0900 Subject: [PATCH] fs: seal OpenOptionsExt and DirBuilderExt (#2909) --- tokio/src/fs/os/unix/dir_builder_ext.rs | 9 ++++++++- tokio/src/fs/os/unix/open_options_ext.rs | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/tokio/src/fs/os/unix/dir_builder_ext.rs b/tokio/src/fs/os/unix/dir_builder_ext.rs index e9a25b959..ccdc552e6 100644 --- a/tokio/src/fs/os/unix/dir_builder_ext.rs +++ b/tokio/src/fs/os/unix/dir_builder_ext.rs @@ -3,7 +3,7 @@ use crate::fs::dir_builder::DirBuilder; /// Unix-specific extensions to [`DirBuilder`]. /// /// [`DirBuilder`]: crate::fs::DirBuilder -pub trait DirBuilderExt { +pub trait DirBuilderExt: sealed::Sealed { /// Sets the mode to create new directories with. /// /// This option defaults to 0o777. @@ -27,3 +27,10 @@ impl DirBuilderExt for DirBuilder { self } } + +impl sealed::Sealed for DirBuilder {} + +pub(crate) mod sealed { + #[doc(hidden)] + pub trait Sealed {} +} diff --git a/tokio/src/fs/os/unix/open_options_ext.rs b/tokio/src/fs/os/unix/open_options_ext.rs index ff8927588..f20c83d04 100644 --- a/tokio/src/fs/os/unix/open_options_ext.rs +++ b/tokio/src/fs/os/unix/open_options_ext.rs @@ -8,7 +8,7 @@ use std::os::unix::fs::OpenOptionsExt as StdOpenOptionsExt; /// /// [`fs::OpenOptions`]: crate::fs::OpenOptions /// [`std::os::unix::fs::OpenOptionsExt`]: std::os::unix::fs::OpenOptionsExt -pub trait OpenOptionsExt { +pub trait OpenOptionsExt: sealed::Sealed { /// Sets the mode bits that a new file will be created with. /// /// If a new file is created as part of an `OpenOptions::open` call then this @@ -77,3 +77,10 @@ impl OpenOptionsExt for OpenOptions { self } } + +impl sealed::Sealed for OpenOptions {} + +pub(crate) mod sealed { + #[doc(hidden)] + pub trait Sealed {} +}