Add documentation to more From::from
implementations.
For users looking at documentation through IDE popups, this gives them relevant information rather than the generic trait documentation wording “Performs the conversion”. For users reading the documentation for a specific type for any reason, this informs them when the conversion may allocate or copy significant memory versus when it is always a move or cheap copy. Notes on specific cases: * The new documentation for `From<T> for T` explains that it is not a conversion at all. * Also documented `impl<T, U> Into<U> for T where U: From<T>`, the other central blanket implementation of conversion. * I did not add documentation to conversions of a specific error type to a more general error type. * I did not add documentation to unstable code. This change was prepared by searching for the text "From<... for" and so may have missed some cases that for whatever reason did not match. I also looked for `Into` impls but did not find any worth documenting by the above criteria.
This commit is contained in:
parent
887999d163
commit
6fd5cf51c1
16 changed files with 63 additions and 12 deletions
|
@ -1581,7 +1581,7 @@ impl From<Cow<'_, Path>> for Box<Path> {
|
|||
|
||||
#[stable(feature = "path_buf_from_box", since = "1.18.0")]
|
||||
impl From<Box<Path>> for PathBuf {
|
||||
/// Converts a `Box<Path>` into a `PathBuf`
|
||||
/// Converts a <code>[Box]<[Path]></code> into a [`PathBuf`].
|
||||
///
|
||||
/// This conversion does not allocate or copy memory.
|
||||
#[inline]
|
||||
|
@ -1592,7 +1592,7 @@ impl From<Box<Path>> for PathBuf {
|
|||
|
||||
#[stable(feature = "box_from_path_buf", since = "1.20.0")]
|
||||
impl From<PathBuf> for Box<Path> {
|
||||
/// Converts a `PathBuf` into a `Box<Path>`
|
||||
/// Converts a [`PathBuf`] into a <code>[Box]<[Path]></code>.
|
||||
///
|
||||
/// This conversion currently should not allocate memory,
|
||||
/// but this behavior is not guaranteed on all platforms or in all future versions.
|
||||
|
@ -1612,7 +1612,7 @@ impl Clone for Box<Path> {
|
|||
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
impl<T: ?Sized + AsRef<OsStr>> From<&T> for PathBuf {
|
||||
/// Converts a borrowed `OsStr` to a `PathBuf`.
|
||||
/// Converts a borrowed [`OsStr`] to a [`PathBuf`].
|
||||
///
|
||||
/// Allocates a [`PathBuf`] and copies the data into it.
|
||||
#[inline]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue