|
7 | 7 | use crate::fs::{self, Metadata, OpenOptions};
|
8 | 8 | use crate::io;
|
9 | 9 | use crate::path::Path;
|
| 10 | +use crate::sealed::Sealed; |
10 | 11 | use crate::sys;
|
11 | 12 | use crate::sys_common::{AsInner, AsInnerMut};
|
12 | 13 |
|
@@ -502,17 +503,20 @@ impl MetadataExt for Metadata {
|
502 | 503 | /// Windows-specific extensions to [`fs::FileType`].
|
503 | 504 | ///
|
504 | 505 | /// On Windows, a symbolic link knows whether it is a file or directory.
|
505 |
| -#[unstable(feature = "windows_file_type_ext", issue = "none")] |
506 |
| -pub trait FileTypeExt { |
| 506 | +#[stable(feature = "windows_file_type_ext", since = "1.64.0")] |
| 507 | +pub trait FileTypeExt: Sealed { |
507 | 508 | /// Returns `true` if this file type is a symbolic link that is also a directory.
|
508 |
| - #[unstable(feature = "windows_file_type_ext", issue = "none")] |
| 509 | + #[stable(feature = "windows_file_type_ext", since = "1.64.0")] |
509 | 510 | fn is_symlink_dir(&self) -> bool;
|
510 | 511 | /// Returns `true` if this file type is a symbolic link that is also a file.
|
511 |
| - #[unstable(feature = "windows_file_type_ext", issue = "none")] |
| 512 | + #[stable(feature = "windows_file_type_ext", since = "1.64.0")] |
512 | 513 | fn is_symlink_file(&self) -> bool;
|
513 | 514 | }
|
514 | 515 |
|
515 |
| -#[unstable(feature = "windows_file_type_ext", issue = "none")] |
| 516 | +#[stable(feature = "windows_file_type_ext", since = "1.64.0")] |
| 517 | +impl Sealed for fs::FileType {} |
| 518 | + |
| 519 | +#[stable(feature = "windows_file_type_ext", since = "1.64.0")] |
516 | 520 | impl FileTypeExt for fs::FileType {
|
517 | 521 | fn is_symlink_dir(&self) -> bool {
|
518 | 522 | self.as_inner().is_symlink_dir()
|
|
0 commit comments