Lines Matching refs:dyn
1720 impl<A: Allocator> Box<dyn Any, A> {
1728 /// fn print_if_string(value: Box<dyn Any>) {
1755 /// let x: Box<dyn Any> = Box::new(1_usize);
1773 let (raw, alloc): (*mut dyn Any, _) = Box::into_raw_with_allocator(self);
1779 impl<A: Allocator> Box<dyn Any + Send, A> {
1787 /// fn print_if_string(value: Box<dyn Any + Send>) {
1814 /// let x: Box<dyn Any + Send> = Box::new(1_usize);
1832 let (raw, alloc): (*mut (dyn Any + Send), _) = Box::into_raw_with_allocator(self);
1838 impl<A: Allocator> Box<dyn Any + Send + Sync, A> {
1846 /// fn print_if_string(value: Box<dyn Any + Send + Sync>) {
1873 /// let x: Box<dyn Any + Send + Sync> = Box::new(1_usize);
1891 let (raw, alloc): (*mut (dyn Any + Send + Sync), _) =
2103 * trait functionality does not apply (e.g., Box<dyn Foo> would
2164 impl dyn Error {
2169 pub fn downcast<T: Error + 'static>(self: Box<Self>) -> Result<Box<T>, Box<dyn Error>> {
2172 let raw: *mut dyn Error = Box::into_raw(self);
2181 impl dyn Error + Send {
2186 pub fn downcast<T: Error + 'static>(self: Box<Self>) -> Result<Box<T>, Box<dyn Error + Send>> {
2187 let err: Box<dyn Error> = self;
2188 <dyn Error>::downcast(err).map_err(|s| unsafe {
2190 Box::from_raw(Box::into_raw(s) as *mut (dyn Error + Send))
2195 impl dyn Error + Send + Sync {
2201 let err: Box<dyn Error> = self;
2202 <dyn Error>::downcast(err).map_err(|s| unsafe {
2204 Box::from_raw(Box::into_raw(s) as *mut (dyn Error + Send + Sync))
2211 impl<'a, E: Error + 'a> From<E> for Box<dyn Error + 'a> {
2212 /// Converts a type of [`Error`] into a box of dyn [`Error`].
2234 /// let a_boxed_error = Box::<dyn Error>::from(an_error);
2235 /// assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
2237 fn from(err: E) -> Box<dyn Error + 'a> {
2244 impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<dyn Error + Send + Sync + 'a> {
2246 /// dyn [`Error`] + [`Send`] + [`Sync`].
2272 /// let a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);
2274 /// mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
2276 fn from(err: E) -> Box<dyn Error + Send + Sync + 'a> {
2283 impl From<String> for Box<dyn Error + Send + Sync> {
2284 /// Converts a [`String`] into a box of dyn [`Error`] + [`Send`] + [`Sync`].
2293 /// let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);
2295 /// mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
2298 fn from(err: String) -> Box<dyn Error + Send + Sync> {
2327 impl From<String> for Box<dyn Error> {
2328 /// Converts a [`String`] into a box of dyn [`Error`].
2337 /// let a_boxed_error = Box::<dyn Error>::from(a_string_error);
2338 /// assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
2340 fn from(str_err: String) -> Box<dyn Error> {
2341 let err1: Box<dyn Error + Send + Sync> = From::from(str_err);
2342 let err2: Box<dyn Error> = err1;
2349 impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a> {
2350 /// Converts a [`str`] into a box of dyn [`Error`] + [`Send`] + [`Sync`].
2361 /// let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);
2363 /// mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
2366 fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a> {
2373 impl From<&str> for Box<dyn Error> {
2374 /// Converts a [`str`] into a box of dyn [`Error`].
2385 /// let a_boxed_error = Box::<dyn Error>::from(a_str_error);
2386 /// assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
2388 fn from(err: &str) -> Box<dyn Error> {
2395 impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a> {
2396 /// Converts a [`Cow`] into a box of dyn [`Error`] + [`Send`] + [`Sync`].
2406 /// let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);
2408 /// mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
2410 fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a> {
2417 impl<'a> From<Cow<'a, str>> for Box<dyn Error> {
2418 /// Converts a [`Cow`] into a box of dyn [`Error`].
2428 /// let a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);
2429 /// assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
2431 fn from(err: Cow<'a, str>) -> Box<dyn Error> {
2444 fn cause(&self) -> Option<&dyn core::error::Error> {
2448 fn source(&self) -> Option<&(dyn core::error::Error + 'static)> {