usesuper::inode::*;usecrate::small_string::*;/// A key in the file tree, i.e. a directory (`parent_inode`) and the
/// name of the child (file or directory).
#[doc(hidden)]#[derive(Debug, Hash, Eq, PartialEq, Clone, PartialOrd, Ord)]pubstructOwnedPathId{/// The parent of this path.
pubparent_inode: Inode,
/// Name of the file.
pubbasename: SmallString,
}implOwnedPathId{pubfnas_file_id(&self)-> PathId{
PathId {
parent_inode:self.parent_inode,
basename:self.basename.as_small_str(),}}}/// A borrow on a [`OwnedPathId`](struct.OwnedPathId.html).
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Clone, Copy)]#[doc(hidden)]pubstructPathId<'a>{pubparent_inode: Inode,
pubbasename:SmallStr<'a>,
}impl<'a>PathId<'a>{/// Make an owned version of this `PathId`.
pubfnto_owned(&self)-> OwnedPathId{
OwnedPathId {
parent_inode:self.parent_inode.clone(),
basename:self.basename.to_owned(),}}}