Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::borrow::{Borrow, Cow};
- use std::rc::Rc;
- use std::cell::{Cell, RefCell};
- use std::sync::Arc;
- use std::error::Error;
- use std::path::{Path, PathBuf};
- fn main() {
- let s: i32 = 3;
- let m: i64 = s.into(); // impl From<i32> for i64
- let m: f64 = s.into(); // impl From<i32> for f64
- let m: i32 = s.into(); // impl<T> From<T> for T
- let m: Option<_> = s.into(); // impl<T> From<T> for Option<T> // Option<i32>
- let m: Rc<i32> = s.into(); // impl<T> From<T> for Rc<T>
- let m: Cell<i32> = s.into(); // impl<T> From<T> for Cell<T>
- let m: RefCell<i32> = s.into(); // impl<T> From<T> for RefCell<T>
- let m: Arc<i32> = s.into(); // impl<T> From<T> for Arc<T>
- let m: Box<i32> = s.into(); // impl<T> From<T> for Box<T>
- let s: &str = "abc";
- let m: Option<_> = s.into(); // impl<T> From<T> for Option<T> // Option<&str>
- let m: Vec<u8> = s.into(); // impl<'a> From<&'a str> for Vec<u8>
- let m: String = s.into(); // impl<'a> From<&'a str> for String
- let m: Cow<str> = s.into(); // impl<'a> From<&'a str> for Cow<'a, str>
- let m: Box<str> = s.into(); // impl<'a> From<&'a str> for Box<str>
- let m: Rc<str> = s.into(); // impl<'a> From<&'a str> for Rc<str>
- let m: Arc<str> = s.into(); // impl<'a> From<&'a str> for Arc<str>
- let m: Box<Error+Send+Sync> = s.into(); // impl<'a, 'b> From<&'b str> for Box<Error + Send + Sync + 'a>
- // Path
- let s: &Path = Path::new("/foo/bar");
- let m: Option<&Path> = s.into(); // impl<T> From<T> for Option<T> // Option<&Path>
- let m: Box<Path> = s.into(); // impl<'a> From<&'a Path> for Box<Path>
- let m: Cow<Path> = s.into(); // impl<'a> From<&'a Path> for Cow<'a, Path>
- let s: String = "abc".to_string();
- let m: Cell<String> = s.clone().into(); // impl<T> From<T> for Cell<T>
- let m: RefCell<String> = s.clone().into(); // impl<T> From<T> for RefCell<T>
- let m: Option<_> = s.clone().into(); // impl<T> From<T> for Option<T> // Option<String>
- let m: Vec<u8> = s.clone().into(); // impl From<String> for Vec<u8>
- let m: Rc<str> = s.clone().into(); // impl From<String> for Rc<str>
- let m: Arc<str> = s.clone().into(); // impl From<String> for Arc<str>
- let m: Box<str> = s.clone().into(); // impl From<String> for Box<str>
- let m: Cow<str> = s.clone().into(); // impl<'a> From<String> for Cow<'a, str>
- let m: Box<Error + Send + Sync> = s.clone().into(); // impl From<String> for Box<Error + Send + Sync>
- let m: PathBuf = s.clone().into();
- // PathBuf
- let s: PathBuf = PathBuf::from("/foo/bar");
- let m: Option<_> = s.clone().into(); // impl<T> From<T> for Option<T> // Option<PathBuf>
- let m: Box<Path> = s.clone().into(); // impl From<Box<Path>> for PathBuf
- let m: Cow<Path> = s.clone().into(); // impl<'a> From<PathBuf> for Cow<'a, Path>
- // slice
- let arr: &[i32] = &[1,2,3];
- let m: Vec<i32> = arr.into();// impl<'a, T> From<&'a [T]> for Vec<T> where T: Clone
- let m: Rc<[i32]> = arr.into(); // impl<'a, T> From<&'a [T]> for Rc<[T]>
- let m: Arc<[i32]> = arr.into(); // impl<'a, T> From<&'a [T]> for Arc<[T]>
- let m: Cow<[i32]> = arr.into(); // impl<'a, T> From<&'a [T]> for Cow<'a, [T]>
- let m: Box<[i32]> = arr.into(); // impl<'a, T> From<&'a [T]> for Box<[T]>
- let s: Cow<[i32]> = Cow::from(&[3,4,5][..]);
- let m: Vec<i32> = s.into(); // impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
- let s: Cow<str> = Cow::from("abc");
- let m: String = s.clone().into();// impl<'a> From<Cow<'a, str>> for String
- let v: Vec<i32> = vec![1,2,3];
- let m: Rc<[i32]> = v.clone().into(); // impl<T> From<Vec<T>> for Rc<[T]>
- let m: Cow<[i32]> = v.clone().into(); // impl<'a, T> From<Vec<T>> for Cow<'a, [T]>
- let m: Arc<[i32]> = v.clone().into(); // impl<T> From<Vec<T>> for Arc<[T]>
- let m: Box<[i32]> = v.clone().into(); // impl<T> From<Vec<T>> for Box<[T]>
- let s: Box<i32> = Box::new(3);
- let m: Rc<i32> = s.clone().into(); // impl<T> From<Box<T>> for Rc<T> where T: ?Sized
- let m: Arc<i32> = s.clone().into(); // impl<T> From<Vec<T>> for Arc<[T]>
- let v: Box<[i32]> = Box::new([1,2,3]);
- let m: Rc<[i32]> = v.clone().into(); // impl<T> From<Box<T>> for Rc<T> where T: ?Sized
- let m: Arc<[i32]> = v.clone().into(); // impl<T> From<Vec<T>> for Arc<[T]>
- let m: Vec<i32> = v.clone().into(); // impl<T> From<Box<[T]>> for Vec<T>
- let s: Box<str> = "abc".to_string().into();
- let m: Rc<str> = s.clone().into(); // impl<T> From<Box<T>> for Rc<T> where T: ?Sized
- let m: Arc<str> = s.clone().into(); // impl<T> From<Vec<T>> for Arc<[T]>
- let m: String = s.clone().into(); // impl From<Box<str>> for String
- let m: Box<[u8]> = s.clone().into(); // impl From<Box<str>> for Box<[u8]>
- }
Add Comment
Please, Sign In to add comment