Struct PathBuf

Source
pub struct PathBuf { /* private fields */ }
Expand description

This struct is an async version of std::path::PathBuf.

Implementationsยง

Sourceยง

impl PathBuf

Source

pub fn new() -> PathBuf

Allocates an empty PathBuf.

ยงExamples
use async_std::path::PathBuf;

let path = PathBuf::new();
Source

pub fn as_path(&self) -> &Path

Coerces to a Path slice.

ยงExamples
use async_std::path::{Path, PathBuf};

let p = PathBuf::from("/test");
assert_eq!(Path::new("/test"), p.as_path());
Source

pub fn push<P: AsRef<Path>>(&mut self, path: P)

Extends self with path.

If path is absolute, it replaces the current path.

On Windows:

  • if path has a root but no prefix (e.g., \windows), it replaces everything except for the prefix (if any) of self.
  • if path has a prefix but no root, it replaces self.
ยงExamples

Pushing a relative path extends the existing path:

use async_std::path::PathBuf;

let mut path = PathBuf::from("/tmp");
path.push("file.bk");
assert_eq!(path, PathBuf::from("/tmp/file.bk"));

Pushing an absolute path replaces the existing path:

use async_std::path::PathBuf;

let mut path = PathBuf::from("/tmp");
path.push("/etc");
assert_eq!(path, PathBuf::from("/etc"));
Source

pub fn pop(&mut self) -> bool

Truncates self to self.parent.

Returns false and does nothing if self.parent is None. Otherwise, returns true.

ยงExamples
use async_std::path::{Path, PathBuf};

let mut p = PathBuf::from("/test/test.rs");

p.pop();
assert_eq!(Path::new("/test"), p);
p.pop();
assert_eq!(Path::new("/"), p);
Source

pub fn set_file_name<S: AsRef<OsStr>>(&mut self, file_name: S)

Updates self.file_name to file_name.

If self.file_name was None, this is equivalent to pushing file_name.

Otherwise it is equivalent to calling pop and then pushing file_name. The new path will be a sibling of the original path. (That is, it will have the same parent.)

ยงExamples
use async_std::path::PathBuf;

let mut buf = PathBuf::from("/");
assert!(buf.file_name() == None);
buf.set_file_name("bar");
assert!(buf == PathBuf::from("/bar"));
assert!(buf.file_name().is_some());
buf.set_file_name("baz.txt");
assert!(buf == PathBuf::from("/baz.txt"));
Source

pub fn set_extension<S: AsRef<OsStr>>(&mut self, extension: S) -> bool

Updates self.extension to extension.

Returns false and does nothing if self.file_name is None, returns true and updates the extension otherwise.

If self.extension is None, the extension is added; otherwise it is replaced.

ยงExamples
use async_std::path::{Path, PathBuf};

let mut p = PathBuf::from("/feel/the");

p.set_extension("force");
assert_eq!(Path::new("/feel/the.force"), p.as_path());

p.set_extension("dark_side");
assert_eq!(Path::new("/feel/the.dark_side"), p.as_path());
Source

pub fn into_os_string(self) -> OsString

Consumes the PathBuf, returning its internal OsString storage.

ยงExamples
use async_std::path::PathBuf;

let p = PathBuf::from("/the/head");
let os_str = p.into_os_string();
Source

pub fn into_boxed_path(self) -> Box<Path>

Converts this PathBuf into a boxed Path.

Methods from Deref<Target = Path>ยง

Source

pub fn as_os_str(&self) -> &OsStr

Returns the underlying OsStr slice.

ยงExamples
use std::ffi::OsStr;

use async_std::path::Path;

let os_str = Path::new("foo.txt").as_os_str();
assert_eq!(os_str, OsStr::new("foo.txt"));
Source

pub fn to_str(&self) -> Option<&str>

Returns a &str slice if the Path is valid unicode.

This conversion may entail doing a check for UTF-8 validity. Note that validation is performed because non-UTF-8 strings are perfectly valid for some OS.

ยงExamples
use async_std::path::Path;

let path = Path::new("foo.txt");
assert_eq!(path.to_str(), Some("foo.txt"));
Source

pub fn to_string_lossy(&self) -> Cow<'_, str>

Converts a Path to a Cow<str>.

Any non-Unicode sequences are replaced with U+FFFD REPLACEMENT CHARACTER.

ยงExamples

Calling to_string_lossy on a Path with valid unicode:

use async_std::path::Path;

let path = Path::new("foo.txt");
assert_eq!(path.to_string_lossy(), "foo.txt");

Had path contained invalid unicode, the to_string_lossy call might have returned "fo๏ฟฝ.txt".

Source

pub fn to_path_buf(&self) -> PathBuf

Converts a Path to an owned PathBuf.

ยงExamples
use async_std::path::{Path, PathBuf};

let path_buf = Path::new("foo.txt").to_path_buf();
assert_eq!(path_buf, PathBuf::from("foo.txt"));
Source

pub fn is_absolute(&self) -> bool

Returns true if the Path is absolute, i.e. if it is independent of the current directory.

  • On Unix, a path is absolute if it starts with the root, so is_absolute and has_root are equivalent.

  • On Windows, a path is absolute if it has a prefix and starts with the root: c:\windows is absolute, while c:temp and \temp are not.

ยงExamples
use async_std::path::Path;

assert!(!Path::new("foo.txt").is_absolute());
Source

pub fn is_relative(&self) -> bool

Returns true if the Path is relative, i.e. not absolute.

See is_absoluteโ€™s documentation for more details.

ยงExamples
use async_std::path::Path;

assert!(Path::new("foo.txt").is_relative());
Source

pub fn has_root(&self) -> bool

Returns true if the Path has a root.

  • On Unix, a path has a root if it begins with /.

  • On Windows, a path has a root if it:

    • has no prefix and begins with a separator, e.g. \windows
    • has a prefix followed by a separator, e.g. c:\windows but not c:windows
    • has any non-disk prefix, e.g. \\server\share
ยงExamples
use async_std::path::Path;

assert!(Path::new("/etc/passwd").has_root());
Source

pub fn parent(&self) -> Option<&Path>

Returns the Path without its final component, if there is one.

Returns None if the path terminates in a root or prefix.

ยงExamples
use async_std::path::Path;

let path = Path::new("/foo/bar");
let parent = path.parent().unwrap();
assert_eq!(parent, Path::new("/foo"));

let grand_parent = parent.parent().unwrap();
assert_eq!(grand_parent, Path::new("/"));
assert_eq!(grand_parent.parent(), None);
Source

pub fn ancestors(&self) -> Ancestors<'_> โ“˜

Produces an iterator over Path and its ancestors.

The iterator will yield the Path that is returned if the parent method is used zero or more times. That means, the iterator will yield &self, &self.parent().unwrap(), &self.parent().unwrap().parent().unwrap() and so on. If the parent method returns None, the iterator will do likewise. The iterator will always yield at least one value, namely &self.

ยงExamples
use async_std::path::Path;

let mut ancestors = Path::new("/foo/bar").ancestors();
assert_eq!(ancestors.next(), Some(Path::new("/foo/bar").into()));
assert_eq!(ancestors.next(), Some(Path::new("/foo").into()));
assert_eq!(ancestors.next(), Some(Path::new("/").into()));
assert_eq!(ancestors.next(), None);
Source

pub fn file_name(&self) -> Option<&OsStr>

Returns the final component of the Path, if there is one.

If the path is a normal file, this is the file name. If itโ€™s the path of a directory, this is the directory name.

Returns None if the path terminates in ...

ยงExamples
use std::ffi::OsStr;

use async_std::path::Path;

assert_eq!(Some(OsStr::new("bin")), Path::new("/usr/bin/").file_name());
assert_eq!(Some(OsStr::new("foo.txt")), Path::new("tmp/foo.txt").file_name());
assert_eq!(Some(OsStr::new("foo.txt")), Path::new("foo.txt/.").file_name());
assert_eq!(Some(OsStr::new("foo.txt")), Path::new("foo.txt/.//").file_name());
assert_eq!(None, Path::new("foo.txt/..").file_name());
assert_eq!(None, Path::new("/").file_name());
Source

pub fn strip_prefix<P>(&self, base: P) -> Result<&Path, StripPrefixError>
where P: AsRef<Path>,

Returns a path that becomes self when joined onto base.

ยงErrors

If base is not a prefix of self (i.e., starts_with returns false), returns Err.

ยงExamples
use async_std::path::{Path, PathBuf};

let path = Path::new("/test/haha/foo.txt");

assert_eq!(path.strip_prefix("/"), Ok(Path::new("test/haha/foo.txt")));
assert_eq!(path.strip_prefix("/test"), Ok(Path::new("haha/foo.txt")));
assert_eq!(path.strip_prefix("/test/"), Ok(Path::new("haha/foo.txt")));
assert_eq!(path.strip_prefix("/test/haha/foo.txt"), Ok(Path::new("")));
assert_eq!(path.strip_prefix("/test/haha/foo.txt/"), Ok(Path::new("")));
assert_eq!(path.strip_prefix("test").is_ok(), false);
assert_eq!(path.strip_prefix("/haha").is_ok(), false);

let prefix = PathBuf::from("/test/");
assert_eq!(path.strip_prefix(prefix), Ok(Path::new("haha/foo.txt")));
Source

pub fn starts_with<P: AsRef<Path>>(&self, base: P) -> bool

Determines whether base is a prefix of self.

Only considers whole path components to match.

ยงExamples
use async_std::path::Path;

let path = Path::new("/etc/passwd");

assert!(path.starts_with("/etc"));
assert!(path.starts_with("/etc/"));
assert!(path.starts_with("/etc/passwd"));
assert!(path.starts_with("/etc/passwd/"));

assert!(!path.starts_with("/e"));
Source

pub fn ends_with<P: AsRef<Path>>(&self, child: P) -> bool

Determines whether child is a suffix of self.

Only considers whole path components to match.

ยงExamples
use async_std::path::Path;

let path = Path::new("/etc/passwd");

assert!(path.ends_with("passwd"));
Source

pub fn file_stem(&self) -> Option<&OsStr>

Extracts the stem (non-extension) portion of file_name.

The stem is:

  • None, if there is no file name
  • The entire file name if there is no embedded .
  • The entire file name if the file name begins with . and has no other .s within
  • Otherwise, the portion of the file name before the final .
ยงExamples
use async_std::path::Path;

let path = Path::new("foo.rs");

assert_eq!("foo", path.file_stem().unwrap());
Source

pub fn extension(&self) -> Option<&OsStr>

Extracts the extension of file_name, if possible.

The extension is:

  • None, if there is no file name
  • None, if there is no embedded .
  • None, if the file name begins with . and has no other .s within
  • Otherwise, the portion of the file name after the final .
ยงExamples
use async_std::path::Path;

let path = Path::new("foo.rs");

assert_eq!("rs", path.extension().unwrap());
Source

pub fn join<P: AsRef<Path>>(&self, path: P) -> PathBuf

Creates an owned PathBuf with path adjoined to self.

See PathBuf::push for more details on what it means to adjoin a path.

ยงExamples
use async_std::path::{Path, PathBuf};

assert_eq!(Path::new("/etc").join("passwd"), PathBuf::from("/etc/passwd"));
Source

pub fn with_file_name<S: AsRef<OsStr>>(&self, file_name: S) -> PathBuf

Creates an owned PathBuf like self but with the given file name.

See PathBuf::set_file_name for more details.

ยงExamples
use async_std::path::{Path, PathBuf};

let path = Path::new("/tmp/foo.txt");
assert_eq!(path.with_file_name("bar.txt"), PathBuf::from("/tmp/bar.txt"));

let path = Path::new("/tmp");
assert_eq!(path.with_file_name("var"), PathBuf::from("/var"));
Source

pub fn with_extension<S: AsRef<OsStr>>(&self, extension: S) -> PathBuf

Creates an owned PathBuf like self but with the given extension.

See PathBuf::set_extension for more details.

ยงExamples
use async_std::path::{Path, PathBuf};

let path = Path::new("foo.rs");
assert_eq!(path.with_extension("txt"), PathBuf::from("foo.txt"));
Source

pub fn components(&self) -> Components<'_> โ“˜

Produces an iterator over the Components of the path.

When parsing the path, there is a small amount of normalization:

  • Repeated separators are ignored, so a/b and a//b both have a and b as components.

  • Occurrences of . are normalized away, except if they are at the beginning of the path. For example, a/./b, a/b/, a/b/. and a/b all have a and b as components, but ./a/b starts with an additional CurDir component.

  • A trailing slash is normalized away, /a/b and /a/b/ are equivalent.

Note that no other normalization takes place; in particular, a/c and a/b/../c are distinct, to account for the possibility that b is a symbolic link (so its parent isnโ€™t a).

ยงExamples
use std::ffi::OsStr;

use async_std::path::{Path, Component};

let mut components = Path::new("/tmp/foo.txt").components();

assert_eq!(components.next(), Some(Component::RootDir));
assert_eq!(components.next(), Some(Component::Normal(OsStr::new("tmp"))));
assert_eq!(components.next(), Some(Component::Normal(OsStr::new("foo.txt"))));
assert_eq!(components.next(), None);
Source

pub fn iter(&self) -> Iter<'_> โ“˜

Produces an iterator over the pathโ€™s components viewed as OsStr slices.

For more information about the particulars of how the path is separated into components, see components.

ยงExamples
use std::ffi::OsStr;

use async_std::path::{self, Path};

let mut it = Path::new("/tmp/foo.txt").iter();
assert_eq!(it.next(), Some(OsStr::new(&path::MAIN_SEPARATOR.to_string())));
assert_eq!(it.next(), Some(OsStr::new("tmp")));
assert_eq!(it.next(), Some(OsStr::new("foo.txt")));
assert_eq!(it.next(), None)
Source

pub fn display(&self) -> Display<'_>

Returns an object that implements Display for safely printing paths that may contain non-Unicode data.

ยงExamples
use async_std::path::Path;

let path = Path::new("/tmp/foo.rs");

println!("{}", path.display());
Source

pub async fn metadata(&self) -> Result<Metadata>

Reads the metadata of a file or directory.

This function will traverse symbolic links to query information about the destination file.

This is an alias to fs::metadata.

ยงExamples
use async_std::path::Path;

let path = Path::new("/Minas/tirith");
let metadata = path.metadata().await?;
println!("{:?}", metadata.file_type());

Reads the metadata of a file or directory without following symbolic links.

This is an alias to fs::symlink_metadata.

ยงExamples
use async_std::path::Path;

let path = Path::new("/Minas/tirith");
let metadata = path.symlink_metadata().await?;
println!("{:?}", metadata.file_type());
Source

pub async fn canonicalize(&self) -> Result<PathBuf>

Returns the canonical form of a path.

The returned path is in absolute form with all intermediate components normalized and symbolic links resolved.

This is an alias to fs::canonicalize.

ยงExamples
use async_std::path::{Path, PathBuf};

let path = Path::new("/foo/test/../test/bar.rs");
assert_eq!(path.canonicalize().await?, PathBuf::from("/foo/test/bar.rs"));

Reads a symbolic link, returning the file that the link points to.

This is an alias to fs::read_link.

ยงExamples
use async_std::path::Path;

let path = Path::new("/laputa/sky_castle.rs");
let path_link = path.read_link().await?;
Source

pub async fn read_dir(&self) -> Result<ReadDir>

Returns a stream over the entries within a directory.

The stream will yield instances of io::Result<DirEntry>. New errors may be encountered after an iterator is initially constructed.

This is an alias to fs::read_dir.

ยงExamples
use async_std::fs;
use async_std::path::Path;
use async_std::prelude::*;

let path = Path::new("/laputa");
let mut dir = fs::read_dir(&path).await?;

while let Some(res) = dir.next().await {
    let entry = res?;
    println!("{}", entry.file_name().to_string_lossy());
}
Source

pub async fn exists(&self) -> bool

Returns true if the path points at an existing entity.

This function will traverse symbolic links to query information about the destination file. In case of broken symbolic links this will return false.

If you cannot access the directory containing the file, e.g., because of a permission error, this will return false.

ยงExamples
use async_std::path::Path;
assert_eq!(Path::new("does_not_exist.txt").exists().await, false);
ยงSee Also

This is a convenience function that coerces errors to false. If you want to check errors, call fs::metadata.

Source

pub async fn is_file(&self) -> bool

Returns true if the path exists on disk and is pointing at a regular file.

This function will traverse symbolic links to query information about the destination file. In case of broken symbolic links this will return false.

If you cannot access the directory containing the file, e.g., because of a permission error, this will return false.

ยงExamples
use async_std::path::Path;
assert_eq!(Path::new("./is_a_directory/").is_file().await, false);
assert_eq!(Path::new("a_file.txt").is_file().await, true);
ยงSee Also

This is a convenience function that coerces errors to false. If you want to check errors, call fs::metadata and handle its Result. Then call fs::Metadata::is_file if it was Ok.

Source

pub async fn is_dir(&self) -> bool

Returns true if the path exists on disk and is pointing at a directory.

This function will traverse symbolic links to query information about the destination file. In case of broken symbolic links this will return false.

If you cannot access the directory containing the file, e.g., because of a permission error, this will return false.

ยงExamples
use async_std::path::Path;

assert_eq!(Path::new("./is_a_directory/").is_dir().await, true);
assert_eq!(Path::new("a_file.txt").is_dir().await, false);
ยงSee Also

This is a convenience function that coerces errors to false. If you want to check errors, call fs::metadata and handle its Result. Then call fs::Metadata::is_dir if it was Ok.

Trait Implementationsยง

Sourceยง

impl AsRef<OsStr> for PathBuf

Sourceยง

fn as_ref(&self) -> &OsStr

Converts this type into a shared reference of the (usually inferred) input type.
Sourceยง

impl AsRef<Path> for PathBuf

Sourceยง

fn as_ref(&self) -> &Path

Converts this type into a shared reference of the (usually inferred) input type.
Sourceยง

impl AsRef<Path> for PathBuf

Sourceยง

fn as_ref(&self) -> &Path

Converts this type into a shared reference of the (usually inferred) input type.
Sourceยง

impl Borrow<Path> for PathBuf

Sourceยง

fn borrow(&self) -> &Path

Immutably borrows from an owned value. Read more
Sourceยง

impl Clone for PathBuf

Sourceยง

fn clone(&self) -> PathBuf

Returns a duplicate of the value. Read more
1.0.0 ยท Sourceยง

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Sourceยง

impl Debug for PathBuf

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Sourceยง

impl Default for PathBuf

Sourceยง

fn default() -> PathBuf

Returns the โ€œdefault valueโ€ for a type. Read more
Sourceยง

impl Deref for PathBuf

Sourceยง

type Target = Path

The resulting type after dereferencing.
Sourceยง

fn deref(&self) -> &Path

Dereferences the value.
Sourceยง

impl<P: AsRef<Path>> Extend<P> for PathBuf

Sourceยง

fn extend<I: IntoIterator<Item = P>>(&mut self, iter: I)

Extends a collection with the contents of an iterator. Read more
Sourceยง

fn extend_one(&mut self, item: A)

๐Ÿ”ฌThis is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
Sourceยง

fn extend_reserve(&mut self, additional: usize)

๐Ÿ”ฌThis is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
Sourceยง

impl<P: AsRef<Path>> Extend<P> for PathBuf

Sourceยง

fn extend<'a, S: IntoStream<Item = P> + 'a>( &'a mut self, stream: S, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'a>>
where <S as IntoStream>::IntoStream: Send,

Available on unstable only.
Extends a collection with the contents of a stream.
Sourceยง

impl<'a> From<&'a PathBuf> for Cow<'a, Path>

Sourceยง

fn from(p: &'a PathBuf) -> Cow<'a, Path>

Converts to this type from the input type.
Sourceยง

impl<T: ?Sized + AsRef<OsStr>> From<&T> for PathBuf

Sourceยง

fn from(s: &T) -> PathBuf

Converts to this type from the input type.
Sourceยง

impl From<Box<Path>> for PathBuf

Sourceยง

fn from(boxed: Box<Path>) -> PathBuf

Converts to this type from the input type.
Sourceยง

impl<'a> From<Cow<'a, Path>> for PathBuf

Sourceยง

fn from(p: Cow<'a, Path>) -> Self

Converts to this type from the input type.
Sourceยง

impl From<OsString> for PathBuf

Sourceยง

fn from(s: OsString) -> PathBuf

Converts to this type from the input type.
Sourceยง

impl From<PathBuf> for Arc<Path>

Sourceยง

fn from(s: PathBuf) -> Arc<Path>

Converts to this type from the input type.
Sourceยง

impl From<PathBuf> for Box<Path>

Sourceยง

fn from(p: PathBuf) -> Box<Path>

Converts to this type from the input type.
Sourceยง

impl<'a> From<PathBuf> for Cow<'a, Path>

Sourceยง

fn from(s: PathBuf) -> Cow<'a, Path>

Converts to this type from the input type.
Sourceยง

impl From<PathBuf> for OsString

Sourceยง

fn from(path_buf: PathBuf) -> OsString

Converts to this type from the input type.
Sourceยง

impl From<PathBuf> for PathBuf

Sourceยง

fn from(path: PathBuf) -> PathBuf

Converts to this type from the input type.
Sourceยง

impl From<PathBuf> for Rc<Path>

Sourceยง

fn from(s: PathBuf) -> Rc<Path>

Converts to this type from the input type.
Sourceยง

impl From<String> for PathBuf

Sourceยง

fn from(s: String) -> PathBuf

Converts to this type from the input type.
Sourceยง

impl<P: AsRef<Path>> FromIterator<P> for PathBuf

Sourceยง

fn from_iter<I: IntoIterator<Item = P>>(iter: I) -> PathBuf

Creates a value from an iterator. Read more
Sourceยง

impl FromStr for PathBuf

Sourceยง

type Err = Infallible

The associated error which can be returned from parsing.
Sourceยง

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Sourceยง

impl<'b, P: AsRef<Path> + 'b + Send> FromStream<P> for PathBuf

Sourceยง

fn from_stream<'a, S: IntoStream<Item = P> + 'a>( stream: S, ) -> Pin<Box<dyn Future<Output = Self> + Send + 'a>>
where <S as IntoStream>::IntoStream: Send,

Available on unstable only.
Creates a value from a stream. Read more
Sourceยง

impl Hash for PathBuf

Sourceยง

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 ยท Sourceยง

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Sourceยง

impl Into<PathBuf> for PathBuf

Sourceยง

fn into(self) -> PathBuf

Converts this type into the (usually inferred) input type.
Sourceยง

impl<'a> IntoIterator for &'a PathBuf

Sourceยง

type Item = &'a OsStr

The type of the elements being iterated over.
Sourceยง

type IntoIter = Iter<'a>

Which kind of iterator are we turning this into?
Sourceยง

fn into_iter(self) -> Iter<'a> โ“˜

Creates an iterator from a value. Read more
Sourceยง

impl Ord for PathBuf

Sourceยง

fn cmp(&self, other: &PathBuf) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 ยท Sourceยง

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 ยท Sourceยง

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 ยท Sourceยง

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Sourceยง

impl<'a, 'b> PartialEq<&'a OsStr> for PathBuf

Sourceยง

fn eq(&self, other: &&'a OsStr) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<&'a Path> for PathBuf

Sourceยง

fn eq(&self, other: &&'a Path) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<Cow<'a, OsStr>> for PathBuf

Sourceยง

fn eq(&self, other: &Cow<'a, OsStr>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<Cow<'a, Path>> for PathBuf

Sourceยง

fn eq(&self, other: &Cow<'a, Path>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<OsStr> for PathBuf

Sourceยง

fn eq(&self, other: &OsStr) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<OsString> for PathBuf

Sourceยง

fn eq(&self, other: &OsString) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<Path> for PathBuf

Sourceยง

fn eq(&self, other: &Path) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<PathBuf> for &'a OsStr

Sourceยง

fn eq(&self, other: &PathBuf) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<PathBuf> for &'a Path

Sourceยง

fn eq(&self, other: &PathBuf) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<PathBuf> for Cow<'a, OsStr>

Sourceยง

fn eq(&self, other: &PathBuf) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<PathBuf> for Cow<'a, Path>

Sourceยง

fn eq(&self, other: &PathBuf) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<PathBuf> for OsStr

Sourceยง

fn eq(&self, other: &PathBuf) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<PathBuf> for OsString

Sourceยง

fn eq(&self, other: &PathBuf) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialEq<PathBuf> for Path

Sourceยง

fn eq(&self, other: &PathBuf) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl PartialEq for PathBuf

Sourceยง

fn eq(&self, other: &PathBuf) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl<'a, 'b> PartialOrd<&'a OsStr> for PathBuf

Sourceยง

fn partial_cmp(&self, other: &&'a OsStr) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<&'a Path> for PathBuf

Sourceยง

fn partial_cmp(&self, other: &&'a Path) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for PathBuf

Sourceยง

fn partial_cmp(&self, other: &Cow<'a, OsStr>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<Cow<'a, Path>> for PathBuf

Sourceยง

fn partial_cmp(&self, other: &Cow<'a, Path>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<OsStr> for PathBuf

Sourceยง

fn partial_cmp(&self, other: &OsStr) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<OsString> for PathBuf

Sourceยง

fn partial_cmp(&self, other: &OsString) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<Path> for PathBuf

Sourceยง

fn partial_cmp(&self, other: &Path) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<PathBuf> for &'a OsStr

Sourceยง

fn partial_cmp(&self, other: &PathBuf) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<PathBuf> for &'a Path

Sourceยง

fn partial_cmp(&self, other: &PathBuf) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<PathBuf> for Cow<'a, OsStr>

Sourceยง

fn partial_cmp(&self, other: &PathBuf) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<PathBuf> for Cow<'a, Path>

Sourceยง

fn partial_cmp(&self, other: &PathBuf) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<PathBuf> for OsStr

Sourceยง

fn partial_cmp(&self, other: &PathBuf) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<PathBuf> for OsString

Sourceยง

fn partial_cmp(&self, other: &PathBuf) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl<'a, 'b> PartialOrd<PathBuf> for Path

Sourceยง

fn partial_cmp(&self, other: &PathBuf) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl PartialOrd for PathBuf

Sourceยง

fn partial_cmp(&self, other: &PathBuf) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 ยท Sourceยง

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 ยท Sourceยง

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 ยท Sourceยง

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 ยท Sourceยง

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Sourceยง

impl Eq for PathBuf

Sourceยง

impl StructuralPartialEq for PathBuf

Auto Trait Implementationsยง

Blanket Implementationsยง

Sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

Sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

Sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

Sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Sourceยง

impl<T> CloneToUninit for T
where T: Clone,

Sourceยง

unsafe fn clone_to_uninit(&self, dest: *mut u8)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Sourceยง

impl<T> From<T> for T

Sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

Sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

Sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Sourceยง

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Sourceยง

type Target = T

๐Ÿ”ฌThis is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Sourceยง

impl<T> ToOwned for T
where T: Clone,

Sourceยง

type Owned = T

The resulting type after obtaining ownership.
Sourceยง

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Sourceยง

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
Sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.