1
Fork 0

Add doc for impl From for Std Error

This commit is contained in:
Son 2018-09-05 00:03:00 -07:00
parent 6bf6d50a6f
commit fcda7b2871

View file

@ -152,6 +152,7 @@ pub trait Error: Debug + Display {
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a, E: Error + 'a> From<E> for Box<dyn Error + 'a> {
/// Converts a type of [`Error`] into a box of dyn [`Error`].
fn from(err: E) -> Box<dyn Error + 'a> {
Box::new(err)
}
@ -159,6 +160,8 @@ impl<'a, E: Error + 'a> From<E> for Box<dyn Error + 'a> {
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<dyn Error + Send + Sync + 'a> {
/// Converts a type of [`Error`] + [`Send`] + [`Sync`] into a box of dyn [`Error`] +
/// [`Send`] + [`Sync`].
fn from(err: E) -> Box<dyn Error + Send + Sync + 'a> {
Box::new(err)
}
@ -166,6 +169,7 @@ impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<dyn Error + Send + Sync +
#[stable(feature = "rust1", since = "1.0.0")]
impl From<String> for Box<dyn Error + Send + Sync> {
/// Converts a [`String`] into a box of dyn [`Error`] + [`Send`] + [`Sync`].
fn from(err: String) -> Box<dyn Error + Send + Sync> {
#[derive(Debug)]
struct StringError(String);
@ -186,6 +190,7 @@ impl From<String> for Box<dyn Error + Send + Sync> {
#[stable(feature = "string_box_error", since = "1.6.0")]
impl From<String> for Box<dyn Error> {
/// Converts a [`String`] into a box of dyn [`Error`].
fn from(str_err: String) -> Box<dyn Error> {
let err1: Box<dyn Error + Send + Sync> = From::from(str_err);
let err2: Box<dyn Error> = err1;
@ -195,6 +200,7 @@ impl From<String> for Box<dyn Error> {
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a, 'b> From<&'b str> for Box<dyn Error + Send + Sync + 'a> {
/// Converts a [`str`] into a box of dyn [`Error`] + [`Send`] + [`Sync`].
fn from(err: &'b str) -> Box<dyn Error + Send + Sync + 'a> {
From::from(String::from(err))
}
@ -202,6 +208,7 @@ impl<'a, 'b> From<&'b str> for Box<dyn Error + Send + Sync + 'a> {
#[stable(feature = "string_box_error", since = "1.6.0")]
impl<'a> From<&'a str> for Box<dyn Error> {
/// Converts a [`str`] into a box of dyn [`Error`].
fn from(err: &'a str) -> Box<dyn Error> {
From::from(String::from(err))
}
@ -209,6 +216,7 @@ impl<'a> From<&'a str> for Box<dyn Error> {
#[stable(feature = "cow_box_error", since = "1.22.0")]
impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a> {
/// Converts a [`Cow`] into a box of dyn [`Error`] + [`Send`] + [`Sync`].
fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a> {
From::from(String::from(err))
}
@ -216,6 +224,7 @@ impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a> {
#[stable(feature = "cow_box_error", since = "1.22.0")]
impl<'a> From<Cow<'a, str>> for Box<dyn Error> {
/// Converts a [`Cow`] into a box of dyn [`Error`].
fn from(err: Cow<'a, str>) -> Box<dyn Error> {
From::from(String::from(err))
}