Trait std::convert::From
用于将T类型的值转化为Self类型的值,它是 Into 的倒数。
pub trait From<T>: Sized {
// Required method
fn from(value: T) -> Self;
}TIP
注意:此 trait 一定不能失败。From trait 旨在实现完美转换。 如果转换失败或不完美,使用 TryFrom。
泛型实现
From<T>for U 意味着Into<U>for TFrom是反射的,这意味着From<T>for T 被实现
常见的有&str转化为String
let other_string = String::from("hello");在执行错误处理时,通常对于您自己的错误类型实现 From 很有用。 通过将底层错误类型转换为封装底层错误类型的自定义错误类型,我们可以返回单个错误类型,而不会丢失有关底层原因的信息。 ?运算符通过调用 Into<CliError>::into 自动将底层错误类型转换为我们的自定义错误类型,该 Into<CliError>::into 是在实现 From 时自动提供的。 然后,编译器会推断应使用 Into 的哪种实现。
use std::fs;
use std::io;
use std::num;
enum CliError {
IoError(io::Error),
ParseError(num::ParseIntError),
}
impl From<io::Error> for CliError {
fn from(error: io::Error) -> Self {
CliError::IoError(error)
}
}
impl From<num::ParseIntError> for CliError {
fn from(error: num::ParseIntError) -> Self {
CliError::ParseError(error)
}
}
fn open_and_parse_file(file_name: &str) -> Result<i32, CliError> {
let mut contents = fs::read_to_string(&file_name)?;
let num: i32 = contents.trim().parse()?;
Ok(num)
}Required Methods
from
从输入类型转换为此类型。
fn from(value: T) -> Self为自定义类型实现From
struct People {
name: String,
}
impl From<String> for People {
fn from(value: String) -> Self {
Self { name: value }
}
}
impl From<&str> for People {
fn from(value: &str) -> Self {
Self {
name: value.to_string(),
}
}
}
fn main() {
let name = "ikun";
let p1 = People::from(name);
println!("{:#?}", p1.name); // "ikun"
let name = String::from("xarzhi");
let p2 = People::from(name);
println!("{:#?}", p2.name); // "xarzhi"
}Implementors
impl From<&str> for Box<str, Global>
impl From<&str> for Box<dyn Error + 'static, Global>
impl From<&str> for Rc<str>
impl From<&str> for String
impl From<&str> for Arc<str>
impl From<&str> for Vec<u8, Global>
impl From<&CStr> for Box<CStr, Global>
impl From<&CStr> for CString
impl From<&CStr> for Rc<CStr>
impl From<&CStr> for Arc<CStr>
impl From<&OsStr> for Box<OsStr>
impl From<&OsStr> for Rc<OsStr>
impl From<&OsStr> for Arc<OsStr>
impl From<&Path> for Box<Path>
impl From<&Path> for Rc<Path>
impl From<&Path> for Arc<Path>
impl From<&String> for String
impl From<&mut str> for String
impl From<Cow<'_, str>> for Box<str, Global>
impl From<Cow<'_, CStr>> for Box<CStr, Global>
impl From<Cow<'_, OsStr>> for Box<OsStr>
impl From<Cow<'_, Path>> for Box<Path>
impl From<TryReserveErrorKind> for TryReserveError
impl From<ErrorKind> for Error
旨在用于未暴露给用户的错误,因为分配到堆上 (通过 Error::new 进行常规构建) 的代价太高了。
impl From<Infallible> for TryFromSliceError
impl From<Infallible> for TryFromIntError
impl From<bool> for f32
impl From<bool> for f64
impl From<bool> for i8
impl From<bool> for i16
impl From<bool> for i32
impl From<bool> for i64
impl From<bool> for i128
impl From<bool> for isize
impl From<bool> for u8
impl From<bool> for u16
impl From<bool> for u32
impl From<bool> for u64
impl From<bool> for u128
impl From<bool> for usize
impl From<bool> for AtomicBool
impl From<char> for u32
impl From<char> for u64
impl From<char> for u128
impl From<char> for String
impl From<f32> for f64
impl From<i8> for f32
impl From<i8> for f64
impl From<i8> for i16
impl From<i8> for i32
impl From<i8> for i64
impl From<i8> for i128
impl From<i8> for isize
impl From<i8> for AtomicI8
impl From<i16> for f32
impl From<i16> for f64
impl From<i16> for i32
impl From<i16> for i64
impl From<i16> for i128
impl From<i16> for isize
impl From<i16> for AtomicI16
impl From<i32> for f64
impl From<i32> for i64
impl From<i32> for i128
impl From<i32> for AtomicI32
impl From<i64> for i128
impl From<i64> for AtomicI64
impl From<isize> for AtomicIsize
impl From<!> for Infallible
impl From<!> for TryFromIntError
impl From<u8> for char
将 0x00..=0xFF 中的字节映射到 char,该 char 的代码点具有相同的值,即 U+0000..=U+00FF。
Unicode 的设计使其可以使用 IANA 称为 ISO-8859-1 的字符编码有效地解码字节。 此编码与 ASCII 兼容。
请注意,这与 ISO/IEC 8859-1 又名不同 ISO 8859-1 (连字符少一个),它留下了一些 “blanks” 字节值,这些值未分配给任何字符。 ISO-8859-1 (属于 IANA) 将它们分配给 C0 和 C1 控制代码。
请注意,这也与 Windows-1252 也不同 代码页 1252,它是 ISO/IEC 8859-1 的超集,它为标点符号和各种拉丁字符分配了一些 (不是全部) 空格。
为了进一步混淆,在 Web 上 ascii,iso-8859-1 和 windows-1252 都是 Windows-1252 超集的别名,该超集用相应的 C0 和 C1 控制代码填充了其余的空白。
impl From<u8> for f32
impl From<u8> for f64
impl From<u8> for i16
impl From<u8> for i32
impl From<u8> for i64
impl From<u8> for i128
impl From<u8> for isize
impl From<u8> for u16
impl From<u8> for u32
impl From<u8> for u64
impl From<u8> for u128
impl From<u8> for usize
impl From<u8> for ExitCode
impl From<u8> for AtomicU8
impl From<u16> for f32
impl From<u16> for f64
impl From<u16> for i32
impl From<u16> for i64
impl From<u16> for i128
impl From<u16> for u32
impl From<u16> for u64
impl From<u16> for u128
impl From<u16> for usize
impl From<u16> for AtomicU16
impl From<u32> for f64
impl From<u32> for i64
impl From<u32> for i128
impl From<u32> for u64
impl From<u32> for u128
impl From<u32> for Ipv4Addr
impl From<u32> for AtomicU32
impl From<u64> for i128
impl From<u64> for u128
impl From<u64> for AtomicU64
impl From<u128> for Ipv6Addr
impl From<usize> for AtomicUsize
impl From<__m128> for Simd<f32, 4>
impl From<__m128d> for Simd<f64, 2>
impl From<__m128i> for Simd<i8, 16>
impl From<__m128i> for Simd<i16, 8>
impl From<__m128i> for Simd<i32, 4>
impl From<__m128i> for Simd<i64, 2>
impl From<__m128i> for Simd<isize, 2>
impl From<__m128i> for Simd<u8, 16>
impl From<__m128i> for Simd<u16, 8>
impl From<__m128i> for Simd<u32, 4>
impl From<__m128i> for Simd<u64, 2>
impl From<__m128i> for Simd<usize, 2>
impl From<__m256> for Simd<f32, 8>
impl From<__m256d> for Simd<f64, 4>
impl From<__m256i> for Simd<i8, 32>
impl From<__m256i> for Simd<i16, 16>
impl From<__m256i> for Simd<i32, 8>
impl From<__m256i> for Simd<i64, 4>
impl From<__m256i> for Simd<isize, 4>
impl From<__m256i> for Simd<u8, 32>
impl From<__m256i> for Simd<u16, 16>
impl From<__m256i> for Simd<u32, 8>
impl From<__m256i> for Simd<u64, 4>
impl From<__m256i> for Simd<usize, 4>
impl From<__m512> for Simd<f32, 16>
impl From<__m512d> for Simd<f64, 8>
impl From<__m512i> for Simd<i8, 64>
impl From<__m512i> for Simd<i16, 32>
impl From<__m512i> for Simd<i32, 16>
impl From<__m512i> for Simd<i64, 8>
impl From<__m512i> for Simd<isize, 8>
impl From<__m512i> for Simd<u8, 64>
impl From<__m512i> for Simd<u16, 32>
impl From<__m512i> for Simd<u32, 16>
impl From<__m512i> for Simd<u64, 8>
impl From<__m512i> for Simd<usize, 8>
impl From<LayoutError> for TryReserveErrorKind
impl From<Box<str, Global>> for String
impl From<Box<CStr, Global>> for CString
impl From<Box<OsStr, Global>> for OsString
impl From<Box<Path, Global>> for PathBuf
impl From<CString> for Box<CStr, Global>
impl From<CString> for Rc<CStr>
impl From<CString> for Arc<CStr>
impl From<CString> for Vec<u8, Global>
impl From<NulError> for Error
impl From<OsString> for Box<OsStr>
impl From<OsString> for PathBuf
impl From<OsString> for Rc<OsStr>
impl From<OsString> for Arc<OsStr>
impl From<File> for OwnedFd
impl From<File> for OwnedHandle
Available on Windows only.
impl From<File> for Stdio
impl From<Ipv4Addr> for IpAddr
impl From<Ipv4Addr> for u32
impl From<Ipv6Addr> for IpAddr
impl From<Ipv6Addr> for u128
impl From<SocketAddrV4> for SocketAddr
impl From<SocketAddrV6> for SocketAddr
impl From<TcpListener> for OwnedFd
impl From<TcpListener> for OwnedSocket
Available on Windows only.
impl From<TcpStream> for OwnedFd
impl From<TcpStream> for OwnedSocket
Available on Windows only.
impl From<UdpSocket> for OwnedFd
impl From<UdpSocket> for OwnedSocket
Available on Windows only.
impl From<NonZeroI8> for i8
impl From<NonZeroI8> for NonZeroI16
impl From<NonZeroI8> for NonZeroI32
impl From<NonZeroI8> for NonZeroI64
impl From<NonZeroI8> for NonZeroI128
impl From<NonZeroI8> for NonZeroIsize
impl From<NonZeroI16> for i16
impl From<NonZeroI16> for NonZeroI32
impl From<NonZeroI16> for NonZeroI64
impl From<NonZeroI16> for NonZeroI128
impl From<NonZeroI16> for NonZeroIsize
impl From<NonZeroI32> for i32
impl From<NonZeroI32> for NonZeroI64
impl From<NonZeroI32> for NonZeroI128
impl From<NonZeroI64> for i64
impl From<NonZeroI64> for NonZeroI128
impl From<NonZeroI128> for i128
impl From<NonZeroIsize> for isize
impl From<NonZeroU8> for u8
impl From<NonZeroU8> for NonZeroI16
impl From<NonZeroU8> for NonZeroI32
impl From<NonZeroU8> for NonZeroI64
impl From<NonZeroU8> for NonZeroI128
impl From<NonZeroU8> for NonZeroIsize
impl From<NonZeroU8> for NonZeroU16
impl From<NonZeroU8> for NonZeroU32
impl From<NonZeroU8> for NonZeroU64
impl From<NonZeroU8> for NonZeroU128
impl From<NonZeroU8> for NonZeroUsize
impl From<NonZeroU16> for u16
impl From<NonZeroU16> for NonZeroI32
impl From<NonZeroU16> for NonZeroI64
impl From<NonZeroU16> for NonZeroI128
impl From<NonZeroU16> for NonZeroU32
impl From<NonZeroU16> for NonZeroU64
impl From<NonZeroU16> for NonZeroU128
impl From<NonZeroU16> for NonZeroUsize
impl From<NonZeroU32> for u32
impl From<NonZeroU32> for NonZeroI64
impl From<NonZeroU32> for NonZeroI128
impl From<NonZeroU32> for NonZeroU64
impl From<NonZeroU32> for NonZeroU128
impl From<NonZeroU64> for u64
impl From<NonZeroU64> for NonZeroI128
impl From<NonZeroU64> for NonZeroU128
impl From<NonZeroU128> for u128
impl From<NonZeroUsize> for usize
impl From<OwnedFd> for File
impl From<OwnedFd> for TcpListener
impl From<OwnedFd> for TcpStream
impl From<OwnedFd> for UdpSocket
impl From<OwnedFd> for PidFd
Available on Unix only.
impl From<OwnedFd> for UnixDatagram
Available on Unix only.
impl From<OwnedFd> for UnixListener
Available on Unix only.
impl From<OwnedFd> for UnixStream
Available on Unix only.
impl From<OwnedFd> for Stdio
Available on Unix only.
impl From<PidFd> for OwnedFd
Available on Unix only.
impl From<UnixDatagram> for OwnedFd
Available on Unix only.
impl From<UnixListener> for OwnedFd
Available on Unix only.
impl From<UnixStream> for OwnedFd
Available on Unix only.
impl From<OwnedHandle> for File
Available on Windows only.
impl From<OwnedHandle> for Stdio
Available on Windows only.
impl From<OwnedSocket> for TcpListener
Available on Windows only.
impl From<OwnedSocket> for TcpStream
Available on Windows only.
impl From<OwnedSocket> for UdpSocket
Available on Windows only.
impl From<PathBuf> for Box<Path>
impl From<PathBuf> for OsString
impl From<PathBuf> for Rc<Path>
impl From<PathBuf> for Arc<Path>
impl From<Child> for OwnedHandle
Available on Windows only.
impl From<ChildStderr> for OwnedFd
Available on Unix only.
impl From<ChildStderr> for OwnedHandle
Available on Windows only.
impl From<ChildStderr> for Stdio
impl From<ChildStdin> for OwnedFd
Available on Unix only.
impl From<ChildStdin> for OwnedHandle
Available on Windows only.
impl From<ChildStdin> for Stdio
impl From<ChildStdout> for OwnedFd
Available on Unix only.
impl From<ChildStdout> for OwnedHandle
Available on Windows only.
impl From<ChildStdout> for Stdio
impl From<Alignment> for usize
impl From<Alignment> for NonZeroUsize
impl From<Rc<str>> for Rc<[u8]>
impl From<Simd<f32, 4>> for __m128
impl From<Simd<f32, 8>> for __m256
impl From<Simd<f32, 16>> for __m512
impl From<Simd<f64, 2>> for __m128d
impl From<Simd<f64, 4>> for __m256d
impl From<Simd<f64, 8>> for __m512d
impl From<Simd<i8, 16>> for __m128i
impl From<Simd<i8, 32>> for __m256i
impl From<Simd<i8, 64>> for __m512i
impl From<Simd<i16, 8>> for __m128i
impl From<Simd<i16, 16>> for __m256i
impl From<Simd<i16, 32>> for __m512i
impl From<Simd<i32, 4>> for __m128i
impl From<Simd<i32, 8>> for __m256i
impl From<Simd<i32, 16>> for __m512i
impl From<Simd<i64, 2>> for __m128i
impl From<Simd<i64, 4>> for __m256i
impl From<Simd<i64, 8>> for __m512i
impl From<Simd<isize, 2>> for __m128i
impl From<Simd<isize, 4>> for __m256i
impl From<Simd<isize, 8>> for __m512i
impl From<Simd<u8, 16>> for __m128i
impl From<Simd<u8, 32>> for __m256i
impl From<Simd<u8, 64>> for __m512i
impl From<Simd<u16, 8>> for __m128i
impl From<Simd<u16, 16>> for __m256i
impl From<Simd<u16, 32>> for __m512i
impl From<Simd<u32, 4>> for __m128i
impl From<Simd<u32, 8>> for __m256i
impl From<Simd<u32, 16>> for __m512i
impl From<Simd<u64, 2>> for __m128i
impl From<Simd<u64, 4>> for __m256i
impl From<Simd<u64, 8>> for __m512i
impl From<Simd<usize, 2>> for __m128i
impl From<Simd<usize, 4>> for __m256i
impl From<Simd<usize, 8>> for __m512i
impl From<String> for Box<str, Global>
impl From<String> for Box<dyn Error + 'static, Global>
impl From<String> for Box<dyn Error + Send + Sync + 'static, Global>
impl From<String> for OsString
impl From<String> for PathBuf
impl From<String> for Rc<str>
impl From<String> for Arc<str>
impl From<String> for Vec<u8, Global>
impl From<RecvError> for RecvTimeoutError
impl From<RecvError> for TryRecvError
impl From<Arc<str>> for Arc<[u8]>
impl From<Vec<NonZeroU8, Global>> for CString
impl From<[u8; 4]> for IpAddr
impl From<[u8; 4]> for Ipv4Addr
impl From<[u8; 16]> for IpAddr
impl From<[u8; 16]> for Ipv6Addr
impl From<[u16; 8]> for IpAddr
impl From<[u16; 8]> for Ipv6Addr
impl<'a> From<&'a str> for Cow<'a, str>
impl<'a> From<&'a CStr> for Cow<'a, CStr>
impl<'a> From<&'a CString> for Cow<'a, CStr>
impl<'a> From<&'a OsStr> for Cow<'a, OsStr>
impl<'a> From<&'a OsString> for Cow<'a, OsStr>
impl<'a> From<&'a Path> for Cow<'a, Path>
impl<'a> From<&'a PathBuf> for Cow<'a, Path>
impl<'a> From<&'a String> for Cow<'a, str>
impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a, Global>
impl<'a> From<Cow<'a, str>> for Box<dyn Error + 'static, Global>
impl<'a> From<Cow<'a, str>> for String
impl<'a> From<Cow<'a, CStr>> for CString
impl<'a> From<Cow<'a, OsStr>> for OsString
impl<'a> From<Cow<'a, Path>> for PathBuf
impl<'a> From<CString> for Cow<'a, CStr>
impl<'a> From<OsString> for Cow<'a, OsStr>
impl<'a> From<PathBuf> for Cow<'a, Path>
impl<'a> From<String> for Cow<'a, str>
impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a, Global>
impl<'a, B> From<Cow<'a, B>> for Rc<B>
impl<'a, B> From<Cow<'a, B>> for Rc<B>
where
B: ToOwned + ?Sized,
Rc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,impl<'a, B> From<Cow<'a, B>> for Arc<B>
impl<'a, B> From<Cow<'a, B>> for Arc<B>
where
B: ToOwned + ?Sized,
Arc<B>: From<&'a B> + From<<B as ToOwned>::Owned>,impl<'a, E> From<E> for Box<dyn Error + 'a, Global>
impl<'a, E> From<E> for Box<dyn Error + 'a, Global>
where
E: Error + 'a,impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a, Global>
impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a, Global>
where
E: Error + Send + Sync + 'a,impl<'a, T> From<&'a Option<T>> for Option<&'a T>
impl<'a, T> From<&'a [T]> for Cow<'a, [T]>
impl<'a, T> From<&'a [T]> for Cow<'a, [T]>
where
T: Clone,impl<'a, T> From<&'a Vec<T, Global>> for Cow<'a, [T]>
impl<'a, T> From<&'a Vec<T, Global>> for Cow<'a, [T]>
where
T: Clone,impl<'a, T> From<&'a mut Option<T>> for Option<&'a mut T>
impl<'a, T> From<Cow<'a, [T]>> for Vec<T, Global>
impl<'a, T> From<Cow<'a, [T]>> for Vec<T, Global>
where
[T]: ToOwned<Owned = Vec<T, Global>>,impl<'a, T> From<Vec<T, Global>> for Cow<'a, [T]>
impl<'a, T> From<Vec<T, Global>> for Cow<'a, [T]>
where
T: Clone,impl<'data> From<&'data mut [u8]> for BorrowedBuf<'data>
从完全初始化的切片创建一个新的 BorrowedBuf。
impl<'data> From<&'data mut [MaybeUninit<u8>]> for BorrowedBuf<'data>
从未初始化的缓冲区创建一个新的 BorrowedBuf。
如果已知缓冲区的一部分已经初始化,则使用 set_init。
impl<A> From<Box<str, A>> for Box<[u8], A>
impl<A> From<Box<str, A>> for Box<[u8], A>
where
A: Allocator,impl<E> From<E> for Report<E>
impl<E> From<E> for Report<E>
where
E: Error,impl<I> From<(I, u16)> for SocketAddr
impl<I> From<(I, u16)> for SocketAddr
where
I: Into<IpAddr>,impl<K, V, const N: usize> From<[(K, V); N]> for HashMap<K, V, RandomState>
impl<K, V, const N: usize> From<[(K, V); N]> for HashMap<K, V, RandomState>
where
K: Eq + Hash,impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V, Global>
impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V, Global>
where
K: Ord,impl<T> From<&[T]> for Box<[T], Global>
impl<T> From<&[T]> for Box<[T], Global>
where
T: Clone,impl<T> From<&[T]> for Rc<[T]>
impl<T> From<&[T]> for Rc<[T]>
where
T: Clone,impl<T> From<&[T]> for Arc<[T]>
impl<T> From<&[T]> for Arc<[T]>
where
T: Clone,impl<T> From<&[T]> for Vec<T, Global>
impl<T> From<&[T]> for Vec<T, Global>
where
T: Clone,impl<T> From<&mut [T]> for Vec<T, Global>
impl<T> From<&mut [T]> for Vec<T, Global>
where
T: Clone,impl<T> From<Cow<'_, [T]>> for Box<[T], Global>
impl<T> From<Cow<'_, [T]>> for Box<[T], Global>
where
T: Clone,impl<T> From<[T; 1]> for (T,)
impl<T> From<[T; 2]> for (T, T)
impl<T> From<[T; 3]> for (T, T, T)
impl<T> From<[T; 4]> for (T, T, T, T)
impl<T> From<[T; 5]> for (T, T, T, T, T)
impl<T> From<[T; 6]> for (T, T, T, T, T, T)
impl<T> From<[T; 7]> for (T, T, T, T, T, T, T)
impl<T> From<[T; 8]> for (T, T, T, T, T, T, T, T)
impl<T> From<[T; 9]> for (T, T, T, T, T, T, T, T, T)
impl<T> From<[T; 10]> for (T, T, T, T, T, T, T, T, T, T)
impl<T> From<[T; 11]> for (T, T, T, T, T, T, T, T, T, T, T)
impl<T> From<[T; 12]> for (T, T, T, T, T, T, T, T, T, T, T, T)
impl<T> From<!> for T
稳定性注意事项: 该 impl 尚不存在,但我们 “保留空间” 以在将来添加它。 有关详细信息,请参见 rust-lang/rust#64715。
impl<T> From<*mut T> for AtomicPtr<T>
impl<T> From<&T> for NonNull<T>
impl<T> From<&T> for NonNull<T>
where
T: ?Sized,impl<T> From<&mut T> for NonNull<T>
impl<T> From<&mut T> for NonNull<T>
where
T: ?Sized,impl<T> From<(T, T)> for [T; 2]
impl<T> From<(T, T, T)> for [T; 3]
impl<T> From<(T, T, T, T)> for [T; 4]
impl<T> From<(T, T, T, T, T)> for [T; 5]
impl<T> From<(T, T, T, T, T, T)> for [T; 6]
impl<T> From<(T, T, T, T, T, T, T)> for [T; 7]
impl<T> From<(T, T, T, T, T, T, T, T)> for [T; 8]
impl<T> From<(T, T, T, T, T, T, T, T, T)> for [T; 9]
impl<T> From<(T, T, T, T, T, T, T, T, T, T)> for [T; 10]
impl<T> From<(T, T, T, T, T, T, T, T, T, T, T)> for [T; 11]
impl<T> From<(T, T, T, T, T, T, T, T, T, T, T, T)> for [T; 12]
impl<T> From<(T,)> for [T; 1]
impl<T> From<Box<T, Global>> for Rc<T>
impl<T> From<Box<T, Global>> for Rc<T>
where
T: ?Sized,impl<T> From<Box<T, Global>> for Arc<T>
impl<T> From<Box<T, Global>> for Arc<T>
where
T: ?Sized,impl<T> From<BinaryHeap<T>> for Vec<T, Global>
impl<T> From<SendError<T>> for TrySendError<T>
impl<T> From<PoisonError<T>> for TryLockError<T>
impl<T> From<JoinHandle<T>> for OwnedHandle
Available on Windows only.
impl<T> From<Vec<T, Global>> for BinaryHeap<T>
impl<T> From<Vec<T, Global>> for BinaryHeap<T>
where
T: Ord,impl<T> From<Vec<T, Global>> for Rc<[T]>
impl<T> From<Vec<T, Global>> for Arc<[T]>
impl<T> From<T> for Option<T>
impl<T> From<T> for Poll<T>
impl<T> From<T> for Box<T, Global>
impl<T> From<T> for Cell<T>
impl<T> From<T> for OnceCell<T>
impl<T> From<T> for RefCell<T>
impl<T> From<T> for SyncUnsafeCell<T>
impl<T> From<T> for UnsafeCell<T>
impl<T> From<T> for Rc<T>
impl<T> From<T> for Arc<T>
impl<T> From<T> for Exclusive<T>
impl<T> From<T> for Mutex<T>
impl<T> From<T> for OnceLock<T>
impl<T> From<T> for RwLock<T>
impl<T> From<T> for T
impl<T, A> From<Box<[T], A>> for Vec<T, A>
impl<T, A> From<Box<[T], A>> for Vec<T, A>
where
A: Allocator,impl<T, A> From<Box<T, A>> for Pin<Box<T, A>>
impl<T, A> From<Box<T, A>> for Pin<Box<T, A>>
where
A: Allocator + 'static,
T: ?Sized,impl<T, A> From<VecDeque<T, A>> for Vec<T, A>
impl<T, A> From<VecDeque<T, A>> for Vec<T, A>
where
A: Allocator,impl<T, A> From<Vec<T, A>> for Box<[T], A>
impl<T, A> From<Vec<T, A>> for Box<[T], A>
where
A: Allocator,impl<T, A> From<Vec<T, A>> for VecDeque<T, A>
impl<T, A> From<Vec<T, A>> for VecDeque<T, A>
where
A: Allocator,impl<T, const LANES: usize> From<Mask<T, LANES>> for [bool; LANES]
impl<T, const LANES: usize> From<Mask<T, LANES>> for [bool; LANES]
where
T: MaskElement,
LaneCount<LANES>: SupportedLaneCount,impl<T, const LANES: usize> From<Mask<T, LANES>> for Simd<T, LANES>
impl<T, const LANES: usize> From<Mask<T, LANES>> for Simd<T, LANES>
where
T: MaskElement,
LaneCount<LANES>: SupportedLaneCount,impl<T, const LANES: usize> From<[bool; LANES]> for Mask<T, LANES>
impl<T, const LANES: usize> From<[bool; LANES]> for Mask<T, LANES>
where
T: MaskElement,
LaneCount<LANES>: SupportedLaneCount,impl<T, const N: usize> From<[T; N]> for Box<[T], Global>
impl<T, const N: usize> From<[T; N]> for HashSet<T, RandomState>
impl<T, const N: usize> From<[T; N]> for HashSet<T, RandomState>
where
T: Eq + Hash,impl<T, const N: usize> From<[T; N]> for BTreeSet<T, Global>
impl<T, const N: usize> From<[T; N]> for BTreeSet<T, Global>
where
T: Ord,impl<T, const N: usize> From<[T; N]> for BinaryHeap<T>
impl<T, const N: usize> From<[T; N]> for BinaryHeap<T>
where
T: Ord,impl<T, const N: usize> From<[T; N]> for LinkedList<T, Global>
impl<T, const N: usize> From<[T; N]> for VecDeque<T, Global>
impl<T, const N: usize> From<[T; N]> for Simd<T, N>
impl<T, const N: usize> From<[T; N]> for Simd<T, N>
where
LaneCount<N>: SupportedLaneCount,
T: SimdElement,impl<T, const N: usize> From<[T; N]> for Vec<T, Global>
impl<T, const N: usize> From<Simd<T, N>> for [T; N]
impl<T, const N: usize> From<Simd<T, N>> for [T; N]
where
LaneCount<N>: SupportedLaneCount,
T: SimdElement,impl<T: ?Sized + AsRef<OsStr>> From<&T> for OsString
impl<T: ?Sized + AsRef<OsStr>> From<&T> for PathBuf
impl<W> From<IntoInnerError<W>> for Error
impl<W> From<Arc<W>> for RawWaker
impl<W> From<Arc<W>> for RawWaker
where
W: Wake + Send + Sync + 'static,impl<W> From<Arc<W>> for Waker
impl<W> From<Arc<W>> for Waker
where
W: Wake + Send + Sync + 'static,impl<const LANES: usize> From<Mask<i8, LANES>> for Mask<i16, LANES>
impl<const LANES: usize> From<Mask<i8, LANES>> for Mask<i16, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i8, LANES>> for Mask<i32, LANES>
impl<const LANES: usize> From<Mask<i8, LANES>> for Mask<i32, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i8, LANES>> for Mask<i64, LANES>
impl<const LANES: usize> From<Mask<i8, LANES>> for Mask<i64, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i8, LANES>> for Mask<isize, LANES>
impl<const LANES: usize> From<Mask<i8, LANES>> for Mask<isize, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i16, LANES>> for Mask<i8, LANES>
impl<const LANES: usize> From<Mask<i16, LANES>> for Mask<i8, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i16, LANES>> for Mask<i32, LANES>
impl<const LANES: usize> From<Mask<i16, LANES>> for Mask<i32, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i16, LANES>> for Mask<i64, LANES>
impl<const LANES: usize> From<Mask<i16, LANES>> for Mask<i64, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i16, LANES>> for Mask<isize, LANES>
impl<const LANES: usize> From<Mask<i16, LANES>> for Mask<isize, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i32, LANES>> for Mask<i8, LANES>
impl<const LANES: usize> From<Mask<i32, LANES>> for Mask<i8, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i32, LANES>> for Mask<i16, LANES>
impl<const LANES: usize> From<Mask<i32, LANES>> for Mask<i16, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i32, LANES>> for Mask<i64, LANES>
impl<const LANES: usize> From<Mask<i32, LANES>> for Mask<i64, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i32, LANES>> for Mask<isize, LANES>
impl<const LANES: usize> From<Mask<i32, LANES>> for Mask<isize, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i64, LANES>> for Mask<i8, LANES>
impl<const LANES: usize> From<Mask<i64, LANES>> for Mask<i8, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i64, LANES>> for Mask<i16, LANES>
impl<const LANES: usize> From<Mask<i64, LANES>> for Mask<i16, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i64, LANES>> for Mask<i32, LANES>
impl<const LANES: usize> From<Mask<i64, LANES>> for Mask<i32, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<i64, LANES>> for Mask<isize, LANES>
impl<const LANES: usize> From<Mask<i64, LANES>> for Mask<isize, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<isize, LANES>> for Mask<i8, LANES>
impl<const LANES: usize> From<Mask<isize, LANES>> for Mask<i8, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<isize, LANES>> for Mask<i16, LANES>
impl<const LANES: usize> From<Mask<isize, LANES>> for Mask<i16, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<isize, LANES>> for Mask<i32, LANES>
impl<const LANES: usize> From<Mask<isize, LANES>> for Mask<i32, LANES>
where
LaneCount<LANES>: SupportedLaneCount,impl<const LANES: usize> From<Mask<isize, LANES>> for Mask<i64, LANES>
impl<const LANES: usize> From<Mask<isize, LANES>> for Mask<i64, LANES>
where
LaneCount<LANES>: SupportedLaneCount,