extendr_api

Trait TryFrom

1.34.0 · Source
pub trait TryFrom<T>: Sized {
    type Error;

    // Required method
    fn try_from(value: T) -> Result<Self, Self::Error>;
}
Expand description

Simple and safe type conversions that may fail in a controlled way under some circumstances. It is the reciprocal of TryInto.

This is useful when you are doing a type conversion that may trivially succeed but may also need special handling. For example, there is no way to convert an i64 into an i32 using the From trait, because an i64 may contain a value that an i32 cannot represent and so the conversion would lose data. This might be handled by truncating the i64 to an i32 or by simply returning i32::MAX, or by some other method. The From trait is intended for perfect conversions, so the TryFrom trait informs the programmer when a type conversion could go bad and lets them decide how to handle it.

§Generic Implementations

  • TryFrom<T> for U implies TryInto<U> for T
  • try_from is reflexive, which means that TryFrom<T> for T is implemented and cannot fail – the associated Error type for calling T::try_from() on a value of type T is Infallible. When the ! type is stabilized Infallible and ! will be equivalent.

TryFrom<T> can be implemented as follows:

struct GreaterThanZero(i32);

impl TryFrom<i32> for GreaterThanZero {
    type Error = &'static str;

    fn try_from(value: i32) -> Result<Self, Self::Error> {
        if value <= 0 {
            Err("GreaterThanZero only accepts values greater than zero!")
        } else {
            Ok(GreaterThanZero(value))
        }
    }
}

§Examples

As described, i32 implements TryFrom<i64>:

let big_number = 1_000_000_000_000i64;
// Silently truncates `big_number`, requires detecting
// and handling the truncation after the fact.
let smaller_number = big_number as i32;
assert_eq!(smaller_number, -727379968);

// Returns an error because `big_number` is too big to
// fit in an `i32`.
let try_smaller_number = i32::try_from(big_number);
assert!(try_smaller_number.is_err());

// Returns `Ok(3)`.
let try_successful_smaller_number = i32::try_from(3);
assert!(try_successful_smaller_number.is_ok());

Required Associated Types§

1.34.0 · Source

type Error

The type returned in the event of a conversion error.

Required Methods§

1.34.0 · Source

fn try_from(value: T) -> Result<Self, Self::Error>

Performs the conversion.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl TryFrom<&BigInt> for i8

Source§

impl TryFrom<&BigInt> for i16

Source§

impl TryFrom<&BigInt> for i32

Source§

impl TryFrom<&BigInt> for i64

Source§

impl TryFrom<&BigInt> for i128

Source§

impl TryFrom<&BigInt> for isize

Source§

impl TryFrom<&BigInt> for u8

Source§

impl TryFrom<&BigInt> for u16

Source§

impl TryFrom<&BigInt> for u32

Source§

impl TryFrom<&BigInt> for u64

Source§

impl TryFrom<&BigInt> for u128

Source§

impl TryFrom<&BigInt> for usize

Source§

impl TryFrom<&BigInt> for BigUint

Source§

impl TryFrom<&BigUint> for i8

Source§

impl TryFrom<&BigUint> for i16

Source§

impl TryFrom<&BigUint> for i32

Source§

impl TryFrom<&BigUint> for i64

Source§

impl TryFrom<&BigUint> for i128

Source§

impl TryFrom<&BigUint> for isize

Source§

impl TryFrom<&BigUint> for u8

Source§

impl TryFrom<&BigUint> for u16

Source§

impl TryFrom<&BigUint> for u32

Source§

impl TryFrom<&BigUint> for u64

Source§

impl TryFrom<&BigUint> for u128

Source§

impl TryFrom<&BigUint> for usize

Source§

impl TryFrom<&Robj> for &str

Source§

impl TryFrom<&Robj> for &[f64]

Source§

impl TryFrom<&Robj> for &[i32]

Source§

impl TryFrom<&Robj> for &[u8]

Source§

impl TryFrom<&Robj> for &[Rbool]

Source§

impl TryFrom<&Robj> for &[Rcplx]

Source§

impl TryFrom<&Robj> for &[Rfloat]

Source§

impl TryFrom<&Robj> for &[Rint]

Source§

impl TryFrom<&Robj> for Option<&str>

Source§

impl TryFrom<&Robj> for Option<&[f64]>

Source§

impl TryFrom<&Robj> for Option<&[i32]>

Source§

impl TryFrom<&Robj> for Option<&[u8]>

Source§

impl TryFrom<&Robj> for Option<&[Rbool]>

Source§

impl TryFrom<&Robj> for Option<&[Rcplx]>

Source§

impl TryFrom<&Robj> for Option<&[Rfloat]>

Source§

impl TryFrom<&Robj> for Option<&[Rint]>

Source§

impl TryFrom<&Robj> for Option<bool>

Source§

impl TryFrom<&Robj> for Option<f32>

Source§

impl TryFrom<&Robj> for Option<f64>

Source§

impl TryFrom<&Robj> for Option<i8>

Source§

impl TryFrom<&Robj> for Option<i16>

Source§

impl TryFrom<&Robj> for Option<i32>

Source§

impl TryFrom<&Robj> for Option<i64>

Source§

impl TryFrom<&Robj> for Option<isize>

Source§

impl TryFrom<&Robj> for Option<u8>

Source§

impl TryFrom<&Robj> for Option<u16>

Source§

impl TryFrom<&Robj> for Option<u32>

Source§

impl TryFrom<&Robj> for Option<u64>

Source§

impl TryFrom<&Robj> for Option<usize>

Source§

impl TryFrom<&Robj> for Option<String>

Source§

impl TryFrom<&Robj> for Option<Vec<f64>>

Source§

impl TryFrom<&Robj> for Option<Vec<i32>>

Source§

impl TryFrom<&Robj> for Option<Vec<u8>>

Source§

impl TryFrom<&Robj> for Option<Vec<String>>

Source§

impl TryFrom<&Robj> for Option<Vec<Rbool>>

Source§

impl TryFrom<&Robj> for Option<Vec<Rcplx>>

Source§

impl TryFrom<&Robj> for Option<Vec<Rfloat>>

Source§

impl TryFrom<&Robj> for Option<Vec<Rint>>

Source§

impl TryFrom<&Robj> for Option<HashMap<&str, Robj>>

Source§

impl TryFrom<&Robj> for Option<HashMap<String, Robj>>

Source§

impl TryFrom<&Robj> for Option<Rbool>

Source§

impl TryFrom<&Robj> for Option<Rcplx>

Source§

impl TryFrom<&Robj> for Option<Rfloat>

Source§

impl TryFrom<&Robj> for Option<Rint>

Source§

impl TryFrom<&Robj> for bool

Source§

impl TryFrom<&Robj> for f32

Source§

impl TryFrom<&Robj> for f64

Source§

impl TryFrom<&Robj> for i8

Source§

impl TryFrom<&Robj> for i16

Source§

impl TryFrom<&Robj> for i32

Source§

impl TryFrom<&Robj> for i64

Source§

impl TryFrom<&Robj> for isize

Source§

impl TryFrom<&Robj> for u8

Source§

impl TryFrom<&Robj> for u16

Source§

impl TryFrom<&Robj> for u32

Source§

impl TryFrom<&Robj> for u64

Source§

impl TryFrom<&Robj> for usize

Source§

impl TryFrom<&Robj> for String

Source§

impl TryFrom<&Robj> for Vec<f64>

Source§

impl TryFrom<&Robj> for Vec<i32>

Source§

impl TryFrom<&Robj> for Vec<u8>

Source§

impl TryFrom<&Robj> for Vec<String>

Source§

impl TryFrom<&Robj> for Vec<Rbool>

Source§

impl TryFrom<&Robj> for Vec<Rcplx>

Source§

impl TryFrom<&Robj> for Vec<Rfloat>

Source§

impl TryFrom<&Robj> for Vec<Rint>

Source§

impl TryFrom<&Robj> for HashMap<&str, Robj>

Source§

impl TryFrom<&Robj> for HashMap<String, Robj>

Source§

impl TryFrom<&Robj> for StrIter

Source§

impl TryFrom<&Robj> for Mat<f64>

Source§

impl TryFrom<&Robj> for Rbool

Source§

impl TryFrom<&Robj> for Rcplx

Source§

impl TryFrom<&Robj> for Rfloat

Source§

impl TryFrom<&Robj> for Rint

Source§

impl TryFrom<&Robj> for Altrep

Source§

impl TryFrom<&Robj> for Complexes

Source§

impl TryFrom<&Robj> for Doubles

Source§

impl TryFrom<&Robj> for Environment

Source§

impl TryFrom<&Robj> for Expressions

Source§

impl TryFrom<&Robj> for Function

Source§

impl TryFrom<&Robj> for Integers

Source§

impl TryFrom<&Robj> for Language

Source§

impl TryFrom<&Robj> for List

Source§

impl TryFrom<&Robj> for ListIter

Source§

impl TryFrom<&Robj> for Logicals

Source§

impl TryFrom<&Robj> for Pairlist

Source§

impl TryFrom<&Robj> for PairlistIter

Source§

impl TryFrom<&Robj> for Primitive

Source§

impl TryFrom<&Robj> for Promise

Source§

impl TryFrom<&Robj> for Raw

Source§

impl TryFrom<&Robj> for Rstr

Source§

impl TryFrom<&Robj> for S4

Source§

impl TryFrom<&Robj> for Strings

Source§

impl TryFrom<&Robj> for Symbol

Source§

impl TryFrom<&mut Robj> for &mut [f64]

Source§

impl TryFrom<&mut Robj> for &mut [i32]

Source§

impl TryFrom<&mut Robj> for &mut [u8]

Source§

impl TryFrom<&mut Robj> for &mut [Rbool]

Source§

impl TryFrom<&mut Robj> for &mut [Rcplx]

Source§

impl TryFrom<&mut Robj> for &mut [Rfloat]

Source§

impl TryFrom<&mut Robj> for &mut [Rint]

Source§

impl TryFrom<&mut Robj> for Option<&mut [f64]>

Source§

impl TryFrom<&mut Robj> for Option<&mut [i32]>

Source§

impl TryFrom<&mut Robj> for Option<&mut [u8]>

Source§

impl TryFrom<&mut Robj> for Option<&mut [Rbool]>

Source§

impl TryFrom<&mut Robj> for Option<&mut [Rcplx]>

Source§

impl TryFrom<&mut Robj> for Option<&mut [Rfloat]>

Source§

impl TryFrom<&mut Robj> for Option<&mut [Rint]>

1.59.0 · Source§

impl TryFrom<char> for u8

Maps a char with code point in U+0000..=U+00FF to a byte in 0x00..=0xFF with same value, failing if the code point is greater than U+00FF.

See impl From<u8> for char for details on the encoding.

1.74.0 · Source§

impl TryFrom<char> for u16

Maps a char with code point in U+0000..=U+FFFF to a u16 in 0x0000..=0xFFFF with same value, failing if the code point is greater than U+FFFF.

This corresponds to the UCS-2 encoding, as specified in ISO/IEC 10646:2003.

1.34.0 · Source§

impl TryFrom<i8> for u8

1.34.0 · Source§

impl TryFrom<i8> for u16

1.34.0 · Source§

impl TryFrom<i8> for u32

1.34.0 · Source§

impl TryFrom<i8> for u64

1.34.0 · Source§

impl TryFrom<i8> for u128

1.34.0 · Source§

impl TryFrom<i8> for usize

1.46.0 · Source§

impl TryFrom<i8> for NonZero<i8>

Source§

impl TryFrom<i8> for BigUint

1.34.0 · Source§

impl TryFrom<i16> for i8

1.34.0 · Source§

impl TryFrom<i16> for u8

1.34.0 · Source§

impl TryFrom<i16> for u16

1.34.0 · Source§

impl TryFrom<i16> for u32

1.34.0 · Source§

impl TryFrom<i16> for u64

1.34.0 · Source§

impl TryFrom<i16> for u128

1.34.0 · Source§

impl TryFrom<i16> for usize

1.46.0 · Source§

impl TryFrom<i16> for NonZero<i16>

Source§

impl TryFrom<i16> for BigUint

1.34.0 · Source§

impl TryFrom<i32> for i8

1.34.0 · Source§

impl TryFrom<i32> for i16

1.34.0 · Source§

impl TryFrom<i32> for isize

1.34.0 · Source§

impl TryFrom<i32> for u8

1.34.0 · Source§

impl TryFrom<i32> for u16

1.34.0 · Source§

impl TryFrom<i32> for u32

1.34.0 · Source§

impl TryFrom<i32> for u64

1.34.0 · Source§

impl TryFrom<i32> for u128

1.34.0 · Source§

impl TryFrom<i32> for usize

1.46.0 · Source§

impl TryFrom<i32> for NonZero<i32>

Source§

impl TryFrom<i32> for BigUint

1.34.0 · Source§

impl TryFrom<i64> for i8

1.34.0 · Source§

impl TryFrom<i64> for i16

1.34.0 · Source§

impl TryFrom<i64> for i32

1.34.0 · Source§

impl TryFrom<i64> for isize

1.34.0 · Source§

impl TryFrom<i64> for u8

1.34.0 · Source§

impl TryFrom<i64> for u16

1.34.0 · Source§

impl TryFrom<i64> for u32

1.34.0 · Source§

impl TryFrom<i64> for u64

1.34.0 · Source§

impl TryFrom<i64> for u128

1.34.0 · Source§

impl TryFrom<i64> for usize

1.46.0 · Source§

impl TryFrom<i64> for NonZero<i64>

Source§

impl TryFrom<i64> for BigUint

1.34.0 · Source§

impl TryFrom<i128> for i8

1.34.0 · Source§

impl TryFrom<i128> for i16

1.34.0 · Source§

impl TryFrom<i128> for i32

1.34.0 · Source§

impl TryFrom<i128> for i64

1.34.0 · Source§

impl TryFrom<i128> for isize

1.34.0 · Source§

impl TryFrom<i128> for u8

1.34.0 · Source§

impl TryFrom<i128> for u16

1.34.0 · Source§

impl TryFrom<i128> for u32

1.34.0 · Source§

impl TryFrom<i128> for u64

1.34.0 · Source§

impl TryFrom<i128> for u128

1.34.0 · Source§

impl TryFrom<i128> for usize

1.46.0 · Source§

impl TryFrom<i128> for NonZero<i128>

Source§

impl TryFrom<i128> for BigUint

1.34.0 · Source§

impl TryFrom<isize> for i8

1.34.0 · Source§

impl TryFrom<isize> for i16

1.34.0 · Source§

impl TryFrom<isize> for i32

1.34.0 · Source§

impl TryFrom<isize> for i64

1.34.0 · Source§

impl TryFrom<isize> for i128

1.34.0 · Source§

impl TryFrom<isize> for u8

1.34.0 · Source§

impl TryFrom<isize> for u16

1.34.0 · Source§

impl TryFrom<isize> for u32

1.34.0 · Source§

impl TryFrom<isize> for u64

1.34.0 · Source§

impl TryFrom<isize> for u128

1.34.0 · Source§

impl TryFrom<isize> for usize

1.46.0 · Source§

impl TryFrom<isize> for NonZero<isize>

Source§

impl TryFrom<isize> for BigUint

1.34.0 · Source§

impl TryFrom<u8> for i8

1.46.0 · Source§

impl TryFrom<u8> for NonZero<u8>

1.34.0 · Source§

impl TryFrom<u16> for i8

1.34.0 · Source§

impl TryFrom<u16> for i16

1.34.0 · Source§

impl TryFrom<u16> for isize

1.34.0 · Source§

impl TryFrom<u16> for u8

1.46.0 · Source§

impl TryFrom<u16> for NonZero<u16>

1.34.0 · Source§

impl TryFrom<u32> for char

1.34.0 · Source§

impl TryFrom<u32> for i8

1.34.0 · Source§

impl TryFrom<u32> for i16

1.34.0 · Source§

impl TryFrom<u32> for i32

1.34.0 · Source§

impl TryFrom<u32> for isize

1.34.0 · Source§

impl TryFrom<u32> for u8

1.34.0 · Source§

impl TryFrom<u32> for u16

1.34.0 · Source§

impl TryFrom<u32> for usize

1.46.0 · Source§

impl TryFrom<u32> for NonZero<u32>

1.34.0 · Source§

impl TryFrom<u64> for i8

1.34.0 · Source§

impl TryFrom<u64> for i16

1.34.0 · Source§

impl TryFrom<u64> for i32

1.34.0 · Source§

impl TryFrom<u64> for i64

1.34.0 · Source§

impl TryFrom<u64> for isize

1.34.0 · Source§

impl TryFrom<u64> for u8

1.34.0 · Source§

impl TryFrom<u64> for u16

1.34.0 · Source§

impl TryFrom<u64> for u32

1.34.0 · Source§

impl TryFrom<u64> for usize

1.46.0 · Source§

impl TryFrom<u64> for NonZero<u64>

1.34.0 · Source§

impl TryFrom<u128> for i8

1.34.0 · Source§

impl TryFrom<u128> for i16

1.34.0 · Source§

impl TryFrom<u128> for i32

1.34.0 · Source§

impl TryFrom<u128> for i64

1.34.0 · Source§

impl TryFrom<u128> for i128

1.34.0 · Source§

impl TryFrom<u128> for isize

1.34.0 · Source§

impl TryFrom<u128> for u8

1.34.0 · Source§

impl TryFrom<u128> for u16

1.34.0 · Source§

impl TryFrom<u128> for u32

1.34.0 · Source§

impl TryFrom<u128> for u64

1.34.0 · Source§

impl TryFrom<u128> for usize

1.46.0 · Source§

impl TryFrom<u128> for NonZero<u128>

1.34.0 · Source§

impl TryFrom<usize> for i8

1.34.0 · Source§

impl TryFrom<usize> for i16

1.34.0 · Source§

impl TryFrom<usize> for i32

1.34.0 · Source§

impl TryFrom<usize> for i64

1.34.0 · Source§

impl TryFrom<usize> for i128

1.34.0 · Source§

impl TryFrom<usize> for isize

1.34.0 · Source§

impl TryFrom<usize> for u8

1.34.0 · Source§

impl TryFrom<usize> for u16

1.34.0 · Source§

impl TryFrom<usize> for u32

1.34.0 · Source§

impl TryFrom<usize> for u64

1.34.0 · Source§

impl TryFrom<usize> for u128

1.46.0 · Source§

impl TryFrom<usize> for NonZero<usize>

Source§

impl TryFrom<usize> for Alignment

Source§

impl TryFrom<CString> for String

Source§

impl TryFrom<Vec<bool>> for Logicals

Source§

impl TryFrom<Vec<f64>> for Doubles

Source§

impl TryFrom<Vec<i32>> for Integers

Source§

impl TryFrom<Vec<Complex<f64>>> for Complexes

1.49.0 · Source§

impl TryFrom<NonZero<i8>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<i8>> for NonZero<u16>

1.49.0 · Source§

impl TryFrom<NonZero<i8>> for NonZero<u32>

1.49.0 · Source§

impl TryFrom<NonZero<i8>> for NonZero<u64>

1.49.0 · Source§

impl TryFrom<NonZero<i8>> for NonZero<u128>

1.49.0 · Source§

impl TryFrom<NonZero<i8>> for NonZero<usize>

1.49.0 · Source§

impl TryFrom<NonZero<i16>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<i16>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<i16>> for NonZero<u16>

1.49.0 · Source§

impl TryFrom<NonZero<i16>> for NonZero<u32>

1.49.0 · Source§

impl TryFrom<NonZero<i16>> for NonZero<u64>

1.49.0 · Source§

impl TryFrom<NonZero<i16>> for NonZero<u128>

1.49.0 · Source§

impl TryFrom<NonZero<i16>> for NonZero<usize>

1.49.0 · Source§

impl TryFrom<NonZero<i32>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<i32>> for NonZero<i16>

1.49.0 · Source§

impl TryFrom<NonZero<i32>> for NonZero<isize>

1.49.0 · Source§

impl TryFrom<NonZero<i32>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<i32>> for NonZero<u16>

1.49.0 · Source§

impl TryFrom<NonZero<i32>> for NonZero<u32>

1.49.0 · Source§

impl TryFrom<NonZero<i32>> for NonZero<u64>

1.49.0 · Source§

impl TryFrom<NonZero<i32>> for NonZero<u128>

1.49.0 · Source§

impl TryFrom<NonZero<i32>> for NonZero<usize>

1.49.0 · Source§

impl TryFrom<NonZero<i64>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<i64>> for NonZero<i16>

1.49.0 · Source§

impl TryFrom<NonZero<i64>> for NonZero<i32>

1.49.0 · Source§

impl TryFrom<NonZero<i64>> for NonZero<isize>

1.49.0 · Source§

impl TryFrom<NonZero<i64>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<i64>> for NonZero<u16>

1.49.0 · Source§

impl TryFrom<NonZero<i64>> for NonZero<u32>

1.49.0 · Source§

impl TryFrom<NonZero<i64>> for NonZero<u64>

1.49.0 · Source§

impl TryFrom<NonZero<i64>> for NonZero<u128>

1.49.0 · Source§

impl TryFrom<NonZero<i64>> for NonZero<usize>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<i16>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<i32>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<i64>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<isize>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<u16>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<u32>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<u64>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<u128>

1.49.0 · Source§

impl TryFrom<NonZero<i128>> for NonZero<usize>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<i16>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<i32>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<i64>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<i128>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<u16>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<u32>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<u64>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<u128>

1.49.0 · Source§

impl TryFrom<NonZero<isize>> for NonZero<usize>

1.49.0 · Source§

impl TryFrom<NonZero<u8>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<u16>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<u16>> for NonZero<i16>

1.49.0 · Source§

impl TryFrom<NonZero<u16>> for NonZero<isize>

1.49.0 · Source§

impl TryFrom<NonZero<u16>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<u32>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<u32>> for NonZero<i16>

1.49.0 · Source§

impl TryFrom<NonZero<u32>> for NonZero<i32>

1.49.0 · Source§

impl TryFrom<NonZero<u32>> for NonZero<isize>

1.49.0 · Source§

impl TryFrom<NonZero<u32>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<u32>> for NonZero<u16>

1.49.0 · Source§

impl TryFrom<NonZero<u32>> for NonZero<usize>

1.49.0 · Source§

impl TryFrom<NonZero<u64>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<u64>> for NonZero<i16>

1.49.0 · Source§

impl TryFrom<NonZero<u64>> for NonZero<i32>

1.49.0 · Source§

impl TryFrom<NonZero<u64>> for NonZero<i64>

1.49.0 · Source§

impl TryFrom<NonZero<u64>> for NonZero<isize>

1.49.0 · Source§

impl TryFrom<NonZero<u64>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<u64>> for NonZero<u16>

1.49.0 · Source§

impl TryFrom<NonZero<u64>> for NonZero<u32>

1.49.0 · Source§

impl TryFrom<NonZero<u64>> for NonZero<usize>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<i16>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<i32>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<i64>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<i128>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<isize>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<u16>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<u32>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<u64>

1.49.0 · Source§

impl TryFrom<NonZero<u128>> for NonZero<usize>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<i8>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<i16>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<i32>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<i64>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<i128>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<isize>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<u8>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<u16>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<u32>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<u64>

1.49.0 · Source§

impl TryFrom<NonZero<usize>> for NonZero<u128>

Source§

impl TryFrom<NonZero<usize>> for Alignment

Source§

impl TryFrom<BigInt> for i8

Source§

impl TryFrom<BigInt> for i16

Source§

impl TryFrom<BigInt> for i32

Source§

impl TryFrom<BigInt> for i64

Source§

impl TryFrom<BigInt> for i128

Source§

impl TryFrom<BigInt> for isize

Source§

impl TryFrom<BigInt> for u8

Source§

impl TryFrom<BigInt> for u16

Source§

impl TryFrom<BigInt> for u32

Source§

impl TryFrom<BigInt> for u64

Source§

impl TryFrom<BigInt> for u128

Source§

impl TryFrom<BigInt> for usize

Source§

impl TryFrom<BigInt> for BigUint

Source§

impl TryFrom<BigUint> for i8

Source§

impl TryFrom<BigUint> for i16

Source§

impl TryFrom<BigUint> for i32

Source§

impl TryFrom<BigUint> for i64

Source§

impl TryFrom<BigUint> for i128

Source§

impl TryFrom<BigUint> for isize

Source§

impl TryFrom<BigUint> for u8

Source§

impl TryFrom<BigUint> for u16

Source§

impl TryFrom<BigUint> for u32

Source§

impl TryFrom<BigUint> for u64

Source§

impl TryFrom<BigUint> for u128

Source§

impl TryFrom<BigUint> for usize

Source§

impl TryFrom<Robj> for &str

Source§

impl TryFrom<Robj> for &[f64]

Source§

impl TryFrom<Robj> for &[i32]

Source§

impl TryFrom<Robj> for &[u8]

Source§

impl TryFrom<Robj> for &[Rbool]

Source§

impl TryFrom<Robj> for &[Rcplx]

Source§

impl TryFrom<Robj> for &[Rfloat]

Source§

impl TryFrom<Robj> for &[Rint]

Source§

impl TryFrom<Robj> for &mut [f64]

Source§

impl TryFrom<Robj> for &mut [i32]

Source§

impl TryFrom<Robj> for &mut [u8]

Source§

impl TryFrom<Robj> for &mut [Rbool]

Source§

impl TryFrom<Robj> for &mut [Rcplx]

Source§

impl TryFrom<Robj> for &mut [Rfloat]

Source§

impl TryFrom<Robj> for &mut [Rint]

Source§

impl TryFrom<Robj> for Option<&str>

Source§

impl TryFrom<Robj> for Option<&[f64]>

Source§

impl TryFrom<Robj> for Option<&[i32]>

Source§

impl TryFrom<Robj> for Option<&[u8]>

Source§

impl TryFrom<Robj> for Option<&[Rbool]>

Source§

impl TryFrom<Robj> for Option<&[Rcplx]>

Source§

impl TryFrom<Robj> for Option<&[Rfloat]>

Source§

impl TryFrom<Robj> for Option<&[Rint]>

Source§

impl TryFrom<Robj> for Option<&mut [f64]>

Source§

impl TryFrom<Robj> for Option<&mut [i32]>

Source§

impl TryFrom<Robj> for Option<&mut [u8]>

Source§

impl TryFrom<Robj> for Option<&mut [Rbool]>

Source§

impl TryFrom<Robj> for Option<&mut [Rcplx]>

Source§

impl TryFrom<Robj> for Option<&mut [Rfloat]>

Source§

impl TryFrom<Robj> for Option<&mut [Rint]>

Source§

impl TryFrom<Robj> for Option<bool>

Source§

impl TryFrom<Robj> for Option<f32>

Source§

impl TryFrom<Robj> for Option<f64>

Source§

impl TryFrom<Robj> for Option<i8>

Source§

impl TryFrom<Robj> for Option<i16>

Source§

impl TryFrom<Robj> for Option<i32>

Source§

impl TryFrom<Robj> for Option<i64>

Source§

impl TryFrom<Robj> for Option<isize>

Source§

impl TryFrom<Robj> for Option<u8>

Source§

impl TryFrom<Robj> for Option<u16>

Source§

impl TryFrom<Robj> for Option<u32>

Source§

impl TryFrom<Robj> for Option<u64>

Source§

impl TryFrom<Robj> for Option<usize>

Source§

impl TryFrom<Robj> for Option<String>

Source§

impl TryFrom<Robj> for Option<Vec<f64>>

Source§

impl TryFrom<Robj> for Option<Vec<i32>>

Source§

impl TryFrom<Robj> for Option<Vec<u8>>

Source§

impl TryFrom<Robj> for Option<Vec<String>>

Source§

impl TryFrom<Robj> for Option<Vec<Rbool>>

Source§

impl TryFrom<Robj> for Option<Vec<Rcplx>>

Source§

impl TryFrom<Robj> for Option<Vec<Rfloat>>

Source§

impl TryFrom<Robj> for Option<Vec<Rint>>

Source§

impl TryFrom<Robj> for Option<HashMap<&str, Robj>>

Source§

impl TryFrom<Robj> for Option<HashMap<String, Robj>>

Source§

impl TryFrom<Robj> for Option<Rbool>

Source§

impl TryFrom<Robj> for Option<Rcplx>

Source§

impl TryFrom<Robj> for Option<Rfloat>

Source§

impl TryFrom<Robj> for Option<Rint>

Source§

impl TryFrom<Robj> for bool

Source§

impl TryFrom<Robj> for f32

Source§

impl TryFrom<Robj> for f64

Source§

impl TryFrom<Robj> for i8

Source§

impl TryFrom<Robj> for i16

Source§

impl TryFrom<Robj> for i32

Source§

impl TryFrom<Robj> for i64

Source§

impl TryFrom<Robj> for isize

Source§

impl TryFrom<Robj> for u8

Source§

impl TryFrom<Robj> for u16

Source§

impl TryFrom<Robj> for u32

Source§

impl TryFrom<Robj> for u64

Source§

impl TryFrom<Robj> for usize

Source§

impl TryFrom<Robj> for String

Source§

impl TryFrom<Robj> for Vec<f64>

Source§

impl TryFrom<Robj> for Vec<i32>

Source§

impl TryFrom<Robj> for Vec<u8>

Source§

impl TryFrom<Robj> for Vec<String>

Source§

impl TryFrom<Robj> for Vec<Rbool>

Source§

impl TryFrom<Robj> for Vec<Rcplx>

Source§

impl TryFrom<Robj> for Vec<Rfloat>

Source§

impl TryFrom<Robj> for Vec<Rint>

Source§

impl TryFrom<Robj> for HashMap<&str, Robj>

Source§

impl TryFrom<Robj> for HashMap<String, Robj>

Source§

impl TryFrom<Robj> for StrIter

Source§

impl TryFrom<Robj> for Mat<f64>

Source§

impl TryFrom<Robj> for Rbool

Source§

impl TryFrom<Robj> for Rcplx

Source§

impl TryFrom<Robj> for Rfloat

Source§

impl TryFrom<Robj> for Rint

Source§

impl TryFrom<Robj> for Altrep

Source§

impl TryFrom<Robj> for Complexes

Source§

impl TryFrom<Robj> for Doubles

Source§

impl TryFrom<Robj> for Environment

Source§

impl TryFrom<Robj> for Expressions

Source§

impl TryFrom<Robj> for Function

Source§

impl TryFrom<Robj> for Integers

Source§

impl TryFrom<Robj> for Language

Source§

impl TryFrom<Robj> for List

Source§

impl TryFrom<Robj> for ListIter

Source§

impl TryFrom<Robj> for Logicals

Source§

impl TryFrom<Robj> for Pairlist

Source§

impl TryFrom<Robj> for Primitive

Source§

impl TryFrom<Robj> for Promise

Source§

impl TryFrom<Robj> for Raw

Source§

impl TryFrom<Robj> for Rstr

Source§

impl TryFrom<Robj> for S4

Source§

impl TryFrom<Robj> for Strings

Source§

impl TryFrom<Robj> for Symbol

1.72.0 · Source§

impl<'a> TryFrom<&'a OsStr> for &'a str

Source§

impl<'a> TryFrom<&Robj> for MatRef<'a, f64>

Source§

impl<'a> TryFrom<&Robj> for ArrayView1<'a, f64>

Source§

impl<'a> TryFrom<&Robj> for ArrayView1<'a, i32>

Source§

impl<'a> TryFrom<&Robj> for ArrayView1<'a, Rbool>

Source§

impl<'a> TryFrom<&Robj> for ArrayView1<'a, Rcplx>

Source§

impl<'a> TryFrom<&Robj> for ArrayView1<'a, Rfloat>

Source§

impl<'a> TryFrom<&Robj> for ArrayView1<'a, Rint>

Source§

impl<'a> TryFrom<&Robj> for ArrayView1<'a, Rstr>

Source§

impl<'a> TryFrom<&Robj> for ArrayView1<'a, c64>

Source§

impl<'a> TryFrom<&Robj> for ArrayView2<'a, f64>

Source§

impl<'a> TryFrom<&Robj> for ArrayView2<'a, i32>

Source§

impl<'a> TryFrom<&Robj> for ArrayView2<'a, Rbool>

Source§

impl<'a> TryFrom<&Robj> for ArrayView2<'a, Rcplx>

Source§

impl<'a> TryFrom<&Robj> for ArrayView2<'a, Rfloat>

Source§

impl<'a> TryFrom<&Robj> for ArrayView2<'a, Rint>

Source§

impl<'a> TryFrom<&Robj> for ArrayView2<'a, Rstr>

Source§

impl<'a> TryFrom<&Robj> for ArrayView2<'a, c64>

Source§

impl<'a> TryFrom<Robj> for MatRef<'a, f64>

Source§

impl<'a> TryFrom<Robj> for ArrayView1<'a, f64>

Source§

impl<'a> TryFrom<Robj> for ArrayView1<'a, i32>

Source§

impl<'a> TryFrom<Robj> for ArrayView1<'a, Rbool>

Source§

impl<'a> TryFrom<Robj> for ArrayView1<'a, Rcplx>

Source§

impl<'a> TryFrom<Robj> for ArrayView1<'a, Rfloat>

Source§

impl<'a> TryFrom<Robj> for ArrayView1<'a, Rint>

Source§

impl<'a> TryFrom<Robj> for ArrayView1<'a, Rstr>

Source§

impl<'a> TryFrom<Robj> for ArrayView1<'a, c64>

Source§

impl<'a> TryFrom<Robj> for ArrayView2<'a, f64>

Source§

impl<'a> TryFrom<Robj> for ArrayView2<'a, i32>

Source§

impl<'a> TryFrom<Robj> for ArrayView2<'a, Rbool>

Source§

impl<'a> TryFrom<Robj> for ArrayView2<'a, Rcplx>

Source§

impl<'a> TryFrom<Robj> for ArrayView2<'a, Rfloat>

Source§

impl<'a> TryFrom<Robj> for ArrayView2<'a, Rint>

Source§

impl<'a> TryFrom<Robj> for ArrayView2<'a, Rstr>

Source§

impl<'a> TryFrom<Robj> for ArrayView2<'a, c64>

Source§

impl<'a, Din, Dout> TryFrom<&'a [SliceInfoElem]> for SliceInfo<&'a [SliceInfoElem], Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<'a, L, R> TryFrom<&'a Robj> for Either<L, R>
where L: TryFrom<&'a Robj, Error = Error>, R: TryFrom<&'a Robj, Error = Error>,

Source§

impl<'a, T> TryFrom<&'a Robj> for Nullable<T>
where T: TryFrom<&'a Robj, Error = Error>,

1.34.0 · Source§

impl<'a, T, const N: usize> TryFrom<&'a [T]> for &'a [T; N]

Tries to create an array ref &[T; N] from a slice ref &[T]. Succeeds if slice.len() == N.

let bytes: [u8; 3] = [1, 0, 2];

let bytes_head: &[u8; 2] = <&[u8; 2]>::try_from(&bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(*bytes_head));

let bytes_tail: &[u8; 2] = bytes[1..3].try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(*bytes_tail));
1.34.0 · Source§

impl<'a, T, const N: usize> TryFrom<&'a mut [T]> for &'a mut [T; N]

Tries to create a mutable array ref &mut [T; N] from a mutable slice ref &mut [T]. Succeeds if slice.len() == N.

let mut bytes: [u8; 3] = [1, 0, 2];

let bytes_head: &mut [u8; 2] = <&mut [u8; 2]>::try_from(&mut bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(*bytes_head));

let bytes_tail: &mut [u8; 2] = (&mut bytes[1..3]).try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(*bytes_tail));
Source§

impl<A, S, D> TryFrom<&ArrayBase<S, D>> for Robj
where S: Data<Elem = A>, A: Copy + ToVectorValue, D: Dimension,

Source§

impl<A, S, D> TryFrom<ArrayBase<S, D>> for Robj
where S: Data<Elem = A>, A: Copy + ToVectorValue, D: Dimension,

Source§

impl<Din, Dout> TryFrom<Vec<SliceInfoElem>> for SliceInfo<Vec<SliceInfoElem>, Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<Din, Dout> TryFrom<[SliceInfoElem; 0]> for SliceInfo<[SliceInfoElem; 0], Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<Din, Dout> TryFrom<[SliceInfoElem; 1]> for SliceInfo<[SliceInfoElem; 1], Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<Din, Dout> TryFrom<[SliceInfoElem; 2]> for SliceInfo<[SliceInfoElem; 2], Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<Din, Dout> TryFrom<[SliceInfoElem; 3]> for SliceInfo<[SliceInfoElem; 3], Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<Din, Dout> TryFrom<[SliceInfoElem; 4]> for SliceInfo<[SliceInfoElem; 4], Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<Din, Dout> TryFrom<[SliceInfoElem; 5]> for SliceInfo<[SliceInfoElem; 5], Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<Din, Dout> TryFrom<[SliceInfoElem; 6]> for SliceInfo<[SliceInfoElem; 6], Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<Din, Dout> TryFrom<[SliceInfoElem; 7]> for SliceInfo<[SliceInfoElem; 7], Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<Din, Dout> TryFrom<[SliceInfoElem; 8]> for SliceInfo<[SliceInfoElem; 8], Din, Dout>
where Din: Dimension, Dout: Dimension,

Source§

impl<L, R> TryFrom<Robj> for Either<L, R>
where for<'a> Either<L, R>: TryFrom<&'a Robj, Error = Error>,

Source§

impl<T> TryFrom<&Robj> for &ExternalPtr<T>

Source§

impl<T> TryFrom<&Robj> for Option<RColumn<T>>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<&Robj> for Option<RMatrix3D<T>>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<&Robj> for Option<RMatrix<T>>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<&Robj> for Dataframe<T>

Source§

impl<T> TryFrom<&Robj> for ExternalPtr<T>

Source§

impl<T> TryFrom<&Robj> for FromList<Vec<T>>
where T: TryFrom<Robj>, <T as TryFrom<Robj>>::Error: Into<Error>,

Source§

impl<T> TryFrom<&Robj> for RColumn<T>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<&Robj> for RMatrix3D<T>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<&Robj> for RMatrix<T>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<&mut Robj> for &mut ExternalPtr<T>

Source§

impl<T> TryFrom<Robj> for Option<RColumn<T>>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<Robj> for Option<RMatrix3D<T>>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<Robj> for Option<RMatrix<T>>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<Robj> for Nullable<T>
where T: TryFrom<Robj, Error = Error>,

Source§

impl<T> TryFrom<Robj> for Dataframe<T>

Source§

impl<T> TryFrom<Robj> for ExternalPtr<T>

Source§

impl<T> TryFrom<Robj> for FromList<Vec<T>>
where T: TryFrom<Robj>, <T as TryFrom<Robj>>::Error: Into<Error>,

Source§

impl<T> TryFrom<Robj> for RColumn<T>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<Robj> for RMatrix3D<T>
where Robj: for<'a> AsTypedSlice<'a, T>,

Source§

impl<T> TryFrom<Robj> for RMatrix<T>
where Robj: for<'a> AsTypedSlice<'a, T>,

1.43.0 · Source§

impl<T, A, const N: usize> TryFrom<Rc<[T], A>> for Rc<[T; N], A>
where A: Allocator,

Source§

type Error = Rc<[T], A>

1.43.0 · Source§

impl<T, A, const N: usize> TryFrom<Arc<[T], A>> for Arc<[T; N], A>
where A: Allocator,

Source§

type Error = Arc<[T], A>

1.48.0 · Source§

impl<T, A, const N: usize> TryFrom<Vec<T, A>> for [T; N]
where A: Allocator,

Source§

type Error = Vec<T, A>

1.34.0 · Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

1.34.0 · Source§

impl<T, const N: usize> TryFrom<&[T]> for [T; N]
where T: Copy,

Tries to create an array [T; N] by copying from a slice &[T]. Succeeds if slice.len() == N.

let bytes: [u8; 3] = [1, 0, 2];

let bytes_head: [u8; 2] = <[u8; 2]>::try_from(&bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(bytes_head));

let bytes_tail: [u8; 2] = bytes[1..3].try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(bytes_tail));
Source§

impl<T, const N: usize> TryFrom<&[T]> for Simd<T, N>

1.59.0 · Source§

impl<T, const N: usize> TryFrom<&mut [T]> for [T; N]
where T: Copy,

Tries to create an array [T; N] by copying from a mutable slice &mut [T]. Succeeds if slice.len() == N.

let mut bytes: [u8; 3] = [1, 0, 2];

let bytes_head: [u8; 2] = <[u8; 2]>::try_from(&mut bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(bytes_head));

let bytes_tail: [u8; 2] = (&mut bytes[1..3]).try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(bytes_tail));
Source§

impl<T, const N: usize> TryFrom<&mut [T]> for Simd<T, N>

1.43.0 · Source§

impl<T, const N: usize> TryFrom<Box<[T]>> for Box<[T; N]>

1.66.0 · Source§

impl<T, const N: usize> TryFrom<Vec<T>> for Box<[T; N]>

Source§

type Error = Vec<T>