[−][src]Struct relative_path::RelativePathBuf
An owned, mutable relative path.
This type provides methods to manipulate relative path objects.
Implementations
impl RelativePathBuf
[src]
pub fn new() -> RelativePathBuf
[src]
Create a new relative path buffer.
pub fn from_path<P: AsRef<Path>>(
path: P
) -> Result<RelativePathBuf, FromPathError>
[src]
path: P
) -> Result<RelativePathBuf, FromPathError>
Try to convert a Path to a RelativePathBuf.
Examples
use relative_path::{RelativePath, RelativePathBuf, FromPathErrorKind}; use std::path::Path; use std::ffi::OsStr; assert_eq!( Ok(RelativePath::new("foo/bar").to_owned()), RelativePathBuf::from_path(Path::new("foo/bar")) );
pub fn push<P: AsRef<RelativePath>>(&mut self, path: P)
[src]
Extends self
with path
.
If path
is absolute, it replaces the current path.
Examples
use relative_path::{RelativePathBuf, RelativePath}; let mut path = RelativePathBuf::new(); path.push("foo"); path.push("bar"); assert_eq!("foo/bar", path);
pub fn set_file_name<S: AsRef<str>>(&mut self, file_name: S)
[src]
Updates file_name to file_name
.
If 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 relative_path::RelativePathBuf; let mut buf = RelativePathBuf::from(""); assert!(buf.file_name() == None); buf.set_file_name("bar"); assert_eq!(RelativePathBuf::from("bar"), buf); assert!(buf.file_name().is_some()); buf.set_file_name("baz.txt"); assert_eq!(RelativePathBuf::from("baz.txt"), buf); buf.push("bar"); assert!(buf.file_name().is_some()); buf.set_file_name("bar.txt"); assert_eq!(RelativePathBuf::from("baz.txt/bar.txt"), buf);
pub fn set_extension<S: AsRef<str>>(&mut self, extension: S) -> bool
[src]
Updates extension to extension
.
Returns false
and does nothing if file_name is None,
returns true
and updates the extension otherwise.
If extension is None, the extension is added; otherwise it is replaced.
Examples
use relative_path::{RelativePath, RelativePathBuf}; let mut p = RelativePathBuf::from("feel/the"); p.set_extension("force"); assert_eq!(RelativePath::new("feel/the.force"), p); p.set_extension("dark_side"); assert_eq!(RelativePath::new("feel/the.dark_side"), p); assert!(p.pop()); p.set_extension("nothing"); assert_eq!(RelativePath::new("feel.nothing"), p);
pub fn pop(&mut self) -> bool
[src]
Truncates self
to parent.
Examples
use relative_path::{RelativePath, RelativePathBuf}; let mut p = RelativePathBuf::from("test/test.rs"); assert_eq!(true, p.pop()); assert_eq!(RelativePath::new("test"), p); assert_eq!(true, p.pop()); assert_eq!(RelativePath::new(""), p); assert_eq!(false, p.pop()); assert_eq!(RelativePath::new(""), p);
pub fn as_relative_path(&self) -> &RelativePath
[src]
Coerce to a RelativePath slice.
Methods from Deref<Target = RelativePath>
pub fn as_str(&self) -> &str
[src]
Yields the underlying str
slice.
Examples
use relative_path::RelativePath; assert_eq!(RelativePath::new("foo.txt").as_str(), "foo.txt");
pub fn display(&self) -> Display
[src]
RelativePath implements std::fmt::Display directly
Returns an object that implements Display.
Examples
use relative_path::RelativePath; let path = RelativePath::new("tmp/foo.rs"); println!("{}", path.display());
pub fn join<P: AsRef<RelativePath>>(&self, path: P) -> RelativePathBuf
[src]
Creates an owned RelativePathBuf with path adjoined to self.
Examples
use relative_path::RelativePath; let path = RelativePath::new("foo/bar"); assert_eq!("foo/bar/baz", path.join("baz"));
pub fn components(&self) -> Components
[src]
Iterate over all components in this relative path.
Examples
use relative_path::{Component, RelativePath}; let path = RelativePath::new("foo/bar/baz"); let mut it = path.components(); assert_eq!(Some(Component::Normal("foo")), it.next()); assert_eq!(Some(Component::Normal("bar")), it.next()); assert_eq!(Some(Component::Normal("baz")), it.next()); assert_eq!(None, it.next());
pub fn iter(&self) -> Iter
[src]
Produces an iterator over the path's components viewed as str slices.
For more information about the particulars of how the path is separated into components, see components.
Examples
use relative_path::RelativePath; let mut it = RelativePath::new("/tmp/foo.txt").iter(); assert_eq!(it.next(), Some("tmp")); assert_eq!(it.next(), Some("foo.txt")); assert_eq!(it.next(), None)
pub fn to_relative_path_buf(&self) -> RelativePathBuf
[src]
Convert to an owned RelativePathBuf.
pub fn to_path<P: AsRef<Path>>(&self, relative_to: P) -> PathBuf
[src]
Build an owned PathBuf relative to relative_to
for the current relative path.
Examples
use relative_path::RelativePath; use std::path::Path; let path = RelativePath::new("foo/bar").to_path(Path::new(".")); assert_eq!(Path::new("./foo/bar"), path);
Encoding an absolute path
Absolute paths are, in contrast to when using PathBuf::push ignored and will be added unchanged to the buffer.
This is to preserve the probability of a path conversion failing if the relative path contains platform-specific absolute path components.
use relative_path::RelativePath; use std::path::Path; if cfg!(windows) { assert_eq!( Path::new("foo\\bar\\baz"), RelativePath::new("/bar/baz").to_path("foo") ); assert_eq!( Path::new("foo\\c:\\bar\\baz"), RelativePath::new("c:\\bar\\baz").to_path("foo") ); } if cfg!(unix) { assert_eq!( Path::new("foo/bar/baz"), RelativePath::new("/bar/baz").to_path("foo") ); assert_eq!( Path::new("foo/c:\\bar\\baz"), RelativePath::new("c:\\bar\\baz").to_path("foo") ); }
pub fn parent(&self) -> Option<&RelativePath>
[src]
Returns a relative path, without its final Component if there is one.
Examples
use relative_path::RelativePath; assert_eq!(Some(RelativePath::new("foo")), RelativePath::new("foo/bar").parent()); assert_eq!(Some(RelativePath::new("")), RelativePath::new("foo").parent()); assert_eq!(None, RelativePath::new("").parent());
pub fn file_name(&self) -> Option<&str>
[src]
Returns the final component of the RelativePath
, 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 relative_path::RelativePath; assert_eq!(Some("bin"), RelativePath::new("usr/bin/").file_name()); assert_eq!(Some("foo.txt"), RelativePath::new("tmp/foo.txt").file_name()); assert_eq!(Some("foo.txt"), RelativePath::new("tmp/foo.txt/").file_name()); assert_eq!(Some("foo.txt"), RelativePath::new("foo.txt/.").file_name()); assert_eq!(Some("foo.txt"), RelativePath::new("foo.txt/.//").file_name()); assert_eq!(None, RelativePath::new("foo.txt/..").file_name()); assert_eq!(None, RelativePath::new("/").file_name());
pub fn strip_prefix<P: AsRef<RelativePath>>(
&self,
base: P
) -> Result<&RelativePath, StripPrefixError>
[src]
&self,
base: P
) -> Result<&RelativePath, StripPrefixError>
Returns a relative path that, when joined onto base
, yields self
.
Errors
If base
is not a prefix of self
(i.e. starts_with
returns false
), returns Err.
Examples
use relative_path::RelativePath; let path = RelativePath::new("test/haha/foo.txt"); assert_eq!(path.strip_prefix("test"), Ok(RelativePath::new("haha/foo.txt"))); assert_eq!(path.strip_prefix("test").is_ok(), true); assert_eq!(path.strip_prefix("haha").is_ok(), false);
pub fn starts_with<P: AsRef<RelativePath>>(&self, base: P) -> bool
[src]
Determines whether base
is a prefix of self
.
Only considers whole path components to match.
Examples
use relative_path::RelativePath; let path = RelativePath::new("etc/passwd"); assert!(path.starts_with("etc")); assert!(!path.starts_with("e"));
pub fn ends_with<P: AsRef<RelativePath>>(&self, child: P) -> bool
[src]
Determines whether child
is a suffix of self
.
Only considers whole path components to match.
Examples
use relative_path::RelativePath; let path = RelativePath::new("etc/passwd"); assert!(path.ends_with("passwd"));
pub fn with_file_name<S: AsRef<str>>(&self, file_name: S) -> RelativePathBuf
[src]
Creates an owned RelativePathBuf like self
but with the given file name.
See set_file_name for more details.
Examples
use relative_path::{RelativePath, RelativePathBuf}; let path = RelativePath::new("tmp/foo.txt"); assert_eq!(path.with_file_name("bar.txt"), RelativePathBuf::from("tmp/bar.txt")); let path = RelativePath::new("tmp"); assert_eq!(path.with_file_name("var"), RelativePathBuf::from("var"));
pub fn file_stem(&self) -> Option<&str>
[src]
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 relative_path::RelativePath; let path = RelativePath::new("foo.rs"); assert_eq!("foo", path.file_stem().unwrap());
pub fn extension(&self) -> Option<&str>
[src]
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 relative_path::RelativePath; assert_eq!(Some("rs"), RelativePath::new("foo.rs").extension()); assert_eq!(None, RelativePath::new(".rs").extension()); assert_eq!(Some("rs"), RelativePath::new("foo.rs/.").extension());
pub fn with_extension<S: AsRef<str>>(&self, extension: S) -> RelativePathBuf
[src]
Creates an owned RelativePathBuf like self
but with the given extension.
See set_extension for more details.
Examples
use relative_path::{RelativePath, RelativePathBuf}; let path = RelativePath::new("foo.rs"); assert_eq!(path.with_extension("txt"), RelativePathBuf::from("foo.txt"));
pub fn join_normalized<P: AsRef<RelativePath>>(
&self,
path: P
) -> RelativePathBuf
[src]
&self,
path: P
) -> RelativePathBuf
Build an owned RelativePathBuf, joined with the given path and normalized.
Examples
use relative_path::RelativePath; assert_eq!( RelativePath::new("foo/baz.txt"), RelativePath::new("foo/bar").join_normalized("../baz.txt").as_relative_path() ); assert_eq!( RelativePath::new("../foo/baz.txt"), RelativePath::new("../foo/bar").join_normalized("../baz.txt").as_relative_path() );
pub fn normalize(&self) -> RelativePathBuf
[src]
Return an owned RelativePathBuf, with all non-normal components moved to the beginning of the path.
This permits for a normalized representation of different relative components.
Normalization is a destructive operation if the path references an actual filesystem
path.
An example of this is symlinks under unix, a path like foo/../bar
might reference a
different location other than ./bar
.
Normalization is a logical operation that is only valid if the relative path is part of some context which doesn't have semantics that causes it to break, like symbolic links.
Examples
use relative_path::RelativePath; assert_eq!( "../foo/baz.txt", RelativePath::new("../foo/./bar/../baz.txt").normalize() ); assert_eq!( "", RelativePath::new(".").normalize() );
pub fn relative<P: AsRef<RelativePath>>(&self, path: P) -> RelativePathBuf
[src]
Constructs a relative path from the current path, to path
.
Examples
use relative_path::RelativePath; assert_eq!( "../../e/f", RelativePath::new("a/b/c/d").relative(RelativePath::new("a/b/e/f")) ); assert_eq!( "../bbb", RelativePath::new("a/../aaa").relative(RelativePath::new("b/../bbb")) ); let p = RelativePath::new("git/relative-path"); let r = RelativePath::new("git"); assert_eq!("relative-path", r.relative(p)); assert_eq!("..", p.relative(r)); let p = RelativePath::new("../../git/relative-path"); let r = RelativePath::new("git"); assert_eq!("../../../git/relative-path", r.relative(p)); assert_eq!("", p.relative(r)); let a = RelativePath::new("foo/bar/bap/foo.h"); let b = RelativePath::new("../arch/foo.h"); assert_eq!("../../../../../arch/foo.h", a.relative(b)); assert_eq!("", b.relative(a));
Trait Implementations
impl AsRef<RelativePath> for RelativePathBuf
[src]
fn as_ref(&self) -> &RelativePath
[src]
impl AsRef<str> for RelativePathBuf
[src]
impl Borrow<RelativePath> for RelativePathBuf
[src]
fn borrow(&self) -> &RelativePath
[src]
impl Clone for RelativePathBuf
[src]
fn clone(&self) -> RelativePathBuf
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for RelativePathBuf
[src]
impl Default for RelativePathBuf
[src]
impl Deref for RelativePathBuf
[src]
type Target = RelativePath
The resulting type after dereferencing.
fn deref(&self) -> &RelativePath
[src]
impl Display for RelativePathBuf
[src]
impl Eq for RelativePathBuf
[src]
impl<'a, T: ?Sized + AsRef<str>> From<&'a T> for RelativePathBuf
[src]
fn from(path: &'a T) -> RelativePathBuf
[src]
impl<'a> From<RelativePathBuf> for Cow<'a, RelativePath>
[src]
fn from(s: RelativePathBuf) -> Cow<'a, RelativePath>
[src]
impl From<String> for RelativePathBuf
[src]
fn from(path: String) -> RelativePathBuf
[src]
impl Hash for RelativePathBuf
[src]
fn hash<H: Hasher>(&self, h: &mut H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for RelativePathBuf
[src]
fn cmp(&self, other: &RelativePathBuf) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl<'a, 'b> PartialEq<&'a RelativePath> for RelativePathBuf
[src]
fn eq(&self, other: &&'a RelativePath) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialEq<&'a str> for RelativePathBuf
[src]
impl<'a, 'b> PartialEq<Cow<'a, RelativePath>> for RelativePathBuf
[src]
fn eq(&self, other: &Cow<'a, RelativePath>) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialEq<RelativePath> for RelativePathBuf
[src]
fn eq(&self, other: &RelativePath) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<RelativePathBuf> for RelativePathBuf
[src]
fn eq(&self, other: &RelativePathBuf) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialEq<RelativePathBuf> for RelativePath
[src]
fn eq(&self, other: &RelativePathBuf) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialEq<RelativePathBuf> for &'a RelativePath
[src]
fn eq(&self, other: &RelativePathBuf) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialEq<RelativePathBuf> for Cow<'a, RelativePath>
[src]
fn eq(&self, other: &RelativePathBuf) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialEq<RelativePathBuf> for str
[src]
fn eq(&self, other: &RelativePathBuf) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialEq<RelativePathBuf> for &'a str
[src]
fn eq(&self, other: &RelativePathBuf) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialEq<RelativePathBuf> for String
[src]
fn eq(&self, other: &RelativePathBuf) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialEq<String> for RelativePathBuf
[src]
impl<'a, 'b> PartialEq<str> for RelativePathBuf
[src]
impl<'a, 'b> PartialOrd<&'a RelativePath> for RelativePathBuf
[src]
fn partial_cmp(&self, other: &&'a RelativePath) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<&'a str> for RelativePathBuf
[src]
fn partial_cmp(&self, other: &&'a str) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<Cow<'a, RelativePath>> for RelativePathBuf
[src]
fn partial_cmp(&self, other: &Cow<'a, RelativePath>) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<RelativePath> for RelativePathBuf
[src]
fn partial_cmp(&self, other: &RelativePath) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<RelativePathBuf> for RelativePathBuf
[src]
fn partial_cmp(&self, other: &RelativePathBuf) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<RelativePathBuf> for RelativePath
[src]
fn partial_cmp(&self, other: &RelativePathBuf) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<RelativePathBuf> for &'a RelativePath
[src]
fn partial_cmp(&self, other: &RelativePathBuf) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<RelativePathBuf> for Cow<'a, RelativePath>
[src]
fn partial_cmp(&self, other: &RelativePathBuf) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<RelativePathBuf> for str
[src]
fn partial_cmp(&self, other: &RelativePathBuf) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<RelativePathBuf> for &'a str
[src]
fn partial_cmp(&self, other: &RelativePathBuf) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<RelativePathBuf> for String
[src]
fn partial_cmp(&self, other: &RelativePathBuf) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<String> for RelativePathBuf
[src]
fn partial_cmp(&self, other: &String) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a, 'b> PartialOrd<str> for RelativePathBuf
[src]
Auto Trait Implementations
impl RefUnwindSafe for RelativePathBuf
impl Send for RelativePathBuf
impl Sync for RelativePathBuf
impl Unpin for RelativePathBuf
impl UnwindSafe for RelativePathBuf
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,