Struct tcl::obj::Obj

source ·
pub struct Obj(/* private fields */);
Expand description

A smart pointer that points to a referece-counted, heap-allocated Tcl value.

Implementations§

source§

impl Obj

source

pub fn new() -> Obj

Creates a new, empty Obj on heap, with reference count 1.

source

pub unsafe fn from_raw(tcl_obj: *mut Tcl_Obj) -> Obj

Constructs an Obj from a raw pointer.

§Safety

The raw pointer should be provided by Tcl’s callback, or previously obtained by Obj::as_ptr().

source

pub fn as_ptr(&self) -> *mut Tcl_Obj

Provides a raw pointer to the obj.

source

pub fn into_raw(self) -> *mut Tcl_Obj

Consumes the obj, returning the raw pointer. To avoid a memory leak the pointer must be converted back to an Obj using Obj::from_raw.

source

pub fn get_string(&self) -> String

Return an obj’s string representation. If the value’s MUTF string representation is invalid, the string representation is regenerated from the value’s internal representation.

source

pub fn invalidate_string_rep(&self)

Marks an obj’s string representation invalid and to free any storage associated with the old string representation.

source

pub fn is_empty(&self) -> bool

Test if tcl::Obj has no value. A newly created Obj is guaranteed to be dummy. An empty string is considered to be dummy.

§Example
assert!( tcl::Obj::new().is_empty() );
assert!( tcl::Obj::from("").is_empty() );
assert!( !tcl::Obj::from("hello").is_empty() );
source

pub fn is_shared(&self) -> bool

Checks if the reference count of this obj is greater than 1.

source

pub fn clone_value(&self) -> Option<Obj>

Clones the underlying value of this obj.

source§

impl Obj

source

pub fn as_bool(&self) -> bool

Returns a bool value of this obj. The values 0, “0”, false, “false”( case insensitive ) is considered as false. The values 1, “1”, true, “true”( case insensitive ) is considered as true. Other values will panic.

source§

impl Obj

source

pub fn as_i8(&self) -> i8

source§

impl Obj

source

pub fn as_i16(&self) -> i16

source§

impl Obj

source

pub fn as_i32(&self) -> i32

source§

impl Obj

source

pub fn as_i64(&self) -> i64

source§

impl Obj

source

pub fn as_isize(&self) -> isize

source§

impl Obj

source

pub fn as_u8(&self) -> u8

source§

impl Obj

source

pub fn as_u16(&self) -> u16

source§

impl Obj

source

pub fn as_u32(&self) -> u32

source§

impl Obj

source

pub fn as_usize(&self) -> usize

Returns a usize value of this obj. Values that is not a usize will panic.

source§

impl Obj

source

pub fn as_u64(&self) -> u64

Returns a u64 value of this obj. Values that is not a u64 will panic.

source§

impl Obj

source

pub fn as_f32(&self) -> f32

source§

impl Obj

source

pub fn as_f64(&self) -> f64

source§

impl Obj

source

pub fn new_dict() -> Obj

Creates a new, empty dictionary value.

§Examples
use tcl::*;

let dict = Obj::new_dict();
assert_eq!( dict.to_string(), "" );
source

pub fn dict_get(&self, key: impl Into<Obj>) -> Result<Option<Obj>, NotDict>

Looks up the given key within the given dictionary and returns the value associated with that key, or None if the key has no mapping within the dictionary. An error of NotDict occurs if it cannot be converted to a dictionary.

§Examples
use std::collections::HashMap;
use tcl::*;

let mut map = HashMap::new();
map.insert( "C"   , 1972 );
map.insert( "C++" , 1983 );
map.insert( "Rust", 2006 );

let map = Obj::from( map );
assert!( map.dict_get("Cpp").unwrap().is_none() );
assert_eq!( map.dict_get("Rust").unwrap().unwrap().as_i32(), 2006 );
source

pub fn dict_put( &self, key: impl Into<Obj>, value: impl Into<Obj> ) -> Result<(), Enum2<MutateSharedDict, NotDict>>

Updates the given dictionary so that the given key maps to the given value; any key may exist at most once in any particular dictionary. The dictionary must not be shared, or an error of MutateSharedDict will occur. An error of NotDict occurs if it cannot be converted to a dictionary.

§Examples
use std::collections::HashMap;
use tcl::*;

let dict = Obj::new_dict();
assert_eq!( dict.to_string(), "" );

dict.dict_put( "Rust", 2006 );
assert_eq!( dict.to_string(), "Rust 2006" );
source

pub fn dict_remove( &self, key: impl Into<Obj> ) -> Result<(), Enum2<MutateSharedDict, NotDict>>

Updates the given dictionary so that the given key has no mapping to any value. The dictionary must not be shared, or an error of MutateSharedDict will occur. It is not an error if the key did not previously exist. An error of NotDict occurs if it cannot be converted to a dictionary.

§Examples
use std::collections::HashMap;
use tcl::*;

let mut map = HashMap::new();
map.insert( "C++" , 1983 );
map.insert( "Rust", 2006 );

let map = Obj::from( map );
map.dict_remove("Cpp").unwrap();
map.dict_remove("C++").unwrap();
assert_eq!( map.to_string(), "Rust 2006" );
source

pub fn dict_size(&self) -> Result<c_int, NotDict>

Updates the given variable with the number of key/value pairs currently in the given dictionary. An error of NotDict occurs if it cannot be converted to a dictionary.

§Examples
use std::collections::HashMap;
use tcl::*;

let mut map = HashMap::new();
map.insert( "C++" , 1983 );
map.insert( "Rust", 2006 );
let map = Obj::from( map );
assert_eq!( map.dict_size().unwrap(), 2 );

let obj = vec![ "C++", "1983", "Rust", "2006" ];
assert_eq!( map.dict_size().unwrap(), 2 );
source

pub fn dict_iter(self) -> Result<DictIter, NotDict>

Creates an iterator from a dictionary.

§Examples
use std::collections::HashMap;
use tcl::*;

let mut map = HashMap::new();
map.insert( "C"   , 1972 );
map.insert( "C++" , 1983 );
map.insert( "Rust", 2006 );
let map = Obj::from( map );
let mut list = map
    .dict_iter()
    .unwrap()
    .map( |(k,v)| (k.to_string(), v.as_i32() ))
    .collect::<Vec<_>>();
list.sort();
assert_eq!( list, vec![ ("C".to_owned(),1972), ("C++".to_owned(),1983), ("Rust".to_owned(),2006) ]);
source§

impl Obj

source

pub fn new_list(objs: impl Iterator<Item = Obj>) -> Obj

Creates a new value as a Tcl list obj to hold objs.

source

pub fn new_list_with_capacity(cap: usize) -> Obj

Creates a new, empty Tcl list obj with the specified capacity.

source

pub fn set_list(self, objs: impl Iterator<Item = Obj>) -> Self

Sets the obj to hold a Tcl list composed of objs.

source

pub fn list_append(&self, to_append: impl Into<Obj>) -> Result<(), NotList>

Append a list to_append to this list.

§Examples
use tcl::*;
let list = Obj::from(( "The", "answer" ));
list.list_append(( "is", 42 ));
assert_eq!( list.to_string(), "The answer is 42" );
source

pub fn list_append_element(&self, elem: impl Into<Obj>) -> Result<(), NotList>

Append an element elem to this list.

§Examples
use tcl::*;
let list = Obj::from(( "The", "answer" ));
list.list_append_element(( "is", 42 ));
assert_eq!( list.to_string(), "The answer {is 42}" );
source

pub fn get_elements(self) -> Result<impl Iterator<Item = Obj>, NotList>

Converts the list to an iterator that iterates over all its elements.

§Examples
use tcl::*;
let list = Obj::from(( "The", "answer", "is", 42 ));
let mut elems = list.get_elements().unwrap();
assert_eq!( elems.next().unwrap().to_string(), "The" );
assert_eq!( elems.next().unwrap().to_string(), "answer" );
assert_eq!( elems.next().unwrap().to_string(), "is" );
assert_eq!( elems.next().unwrap().as_i32(), 42 );
source

pub fn list_length(&self) -> Result<c_int, NotList>

Returns the amount of list elements.

§Examples
use tcl::*;
let list = Obj::from(( "The", "answer", "is", 42 ));
assert_eq!( list.list_length().unwrap(), 4 );
source

pub fn list_index(&self, index: c_int) -> Result<Option<Obj>, NotList>

Returns the nth obj in the list. Note that the index is 0-based.

§Examples
use tcl::*;
let list = Obj::from(( "The", "answer", "is", 42 ));
assert_eq!( list.list_index(1).unwrap().unwrap().to_string(), "answer" );
assert!( list.list_index(4).unwrap().is_none() );
source

pub fn list_replace( &self, first: c_int, count: c_int, objs: impl Iterator<Item = Obj> ) -> Result<(), NotList>

Replace from the first to first+count objs in the list with objs.

If the argument first is zero or negative, it refers to the first element; if it is greater than or equal to the number of elements in the list, then no elements are deleted; the new elements are appended to the list.

If count is zero or negative then no elements are deleted; the new elements are simply inserted before the one designated by first.

Note that the index is 0-based.

§Examples
use tcl::*;
let list = Obj::from(( "The", "answer", "is", 42 ));
let objs = vec![ "to", "life,", "the", "universe,", "and", "everything:" ].into_iter().map( Obj::from );
list.list_replace( 2, 1, objs ).unwrap();
assert_eq!( list.to_string(), "The answer to life, the universe, and everything: 42" );

Trait Implementations§

source§

impl Clone for Obj

source§

fn clone(&self) -> Obj

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Obj

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Obj

source§

fn default() -> Obj

Returns the “default value” for a type. Read more
source§

impl Display for Obj

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Drop for Obj

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<T, O> From<&[T]> for Obj
where T: ToOwned<Owned = O>, O: Into<Obj>,

source§

fn from(v: &[T]) -> Obj

Converts to this type from the input type.
source§

impl<'a> From<&'a str> for Obj

source§

fn from(s: &'a str) -> Obj

Converts to this type from the input type.
source§

impl From<CString> for Obj

source§

fn from(s: CString) -> Obj

Converts to this type from the input type.
source§

impl<'a, B> From<Cow<'a, B>> for Obj
where B: 'a + ToOwned + ?Sized, &'a B: Into<Obj>, <B as ToOwned>::Owned: Into<Obj>,

source§

fn from(cow: Cow<'a, B>) -> Obj

Converts to this type from the input type.
source§

impl<K, V> From<HashMap<K, V>> for Obj
where K: Into<Obj>, V: Into<Obj>,

source§

fn from(hash_map: HashMap<K, V>) -> Obj

Converts to this type from the input type.
source§

impl From<Obj> for PathBuf

source§

fn from(obj: Obj) -> Self

Converts to this type from the input type.
source§

impl<T> From<Option<T>> for Obj
where T: Into<Obj>,

source§

fn from(option: Option<T>) -> Obj

Converts to this type from the input type.
source§

impl From<PathBuf> for Obj

source§

fn from(s: PathBuf) -> Obj

Converts to this type from the input type.
source§

impl<T> From<Range<T>> for Obj
where T: Into<Obj>,

source§

fn from(range: Range<T>) -> Obj

Converts to this type from the input type.
source§

impl From<String> for Obj

source§

fn from(s: String) -> Obj

Converts to this type from the input type.
source§

impl<Tup, HTup, MTup> From<Tup> for Obj
where Tup: IntoHomoTuple<Obj, Output = HTup>, HTup: MapHomoTuple<Obj, *mut Tcl_Obj, Output = MTup>, MTup: HomoTuple<*mut Tcl_Obj>,

source§

fn from(tuple: Tup) -> Obj

Converts to this type from the input type.
source§

impl<T> From<Vec<T>> for Obj
where T: Into<Obj>,

source§

fn from(v: Vec<T>) -> Obj

Converts to this type from the input type.
source§

impl From<bool> for Obj

source§

fn from(b: bool) -> Obj

Converts to this type from the input type.
source§

impl From<char> for Obj

source§

fn from(c: char) -> Obj

Converts to this type from the input type.
source§

impl From<f64> for Obj

source§

fn from(i: f64) -> Obj

Converts to this type from the input type.
source§

impl From<i16> for Obj

source§

fn from(i: i16) -> Obj

Converts to this type from the input type.
source§

impl From<i32> for Obj

source§

fn from(i: i32) -> Obj

Converts to this type from the input type.
source§

impl From<i64> for Obj

source§

fn from(i: i64) -> Obj

Converts to this type from the input type.
source§

impl From<i8> for Obj

source§

fn from(i: i8) -> Obj

Converts to this type from the input type.
source§

impl From<isize> for Obj

source§

fn from(i: isize) -> Obj

Converts to this type from the input type.
source§

impl From<u16> for Obj

source§

fn from(i: u16) -> Obj

Converts to this type from the input type.
source§

impl From<u32> for Obj

source§

fn from(i: u32) -> Obj

Converts to this type from the input type.
source§

impl From<u64> for Obj

source§

fn from(v: u64) -> Obj

Converts to this type from the input type.
source§

impl From<u8> for Obj

source§

fn from(i: u8) -> Obj

Converts to this type from the input type.
source§

impl From<usize> for Obj

source§

fn from(v: usize) -> Obj

Converts to this type from the input type.
source§

impl<T0> TryFrom<Obj> for (T0,)
where Obj: TryInto<T0, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1> TryFrom<Obj> for (T0, T1)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2> TryFrom<Obj> for (T0, T1, T2)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3> TryFrom<Obj> for (T0, T1, T2, T3)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4> TryFrom<Obj> for (T0, T1, T2, T3, T4)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError> + TryInto<T22, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError> + TryInto<T22, Error = DeError> + TryInto<T23, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError> + TryInto<T22, Error = DeError> + TryInto<T23, Error = DeError> + TryInto<T24, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError> + TryInto<T22, Error = DeError> + TryInto<T23, Error = DeError> + TryInto<T24, Error = DeError> + TryInto<T25, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError> + TryInto<T22, Error = DeError> + TryInto<T23, Error = DeError> + TryInto<T24, Error = DeError> + TryInto<T25, Error = DeError> + TryInto<T26, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError> + TryInto<T22, Error = DeError> + TryInto<T23, Error = DeError> + TryInto<T24, Error = DeError> + TryInto<T25, Error = DeError> + TryInto<T26, Error = DeError> + TryInto<T27, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError> + TryInto<T22, Error = DeError> + TryInto<T23, Error = DeError> + TryInto<T24, Error = DeError> + TryInto<T25, Error = DeError> + TryInto<T26, Error = DeError> + TryInto<T27, Error = DeError> + TryInto<T28, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError> + TryInto<T22, Error = DeError> + TryInto<T23, Error = DeError> + TryInto<T24, Error = DeError> + TryInto<T25, Error = DeError> + TryInto<T26, Error = DeError> + TryInto<T27, Error = DeError> + TryInto<T28, Error = DeError> + TryInto<T29, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError> + TryInto<T22, Error = DeError> + TryInto<T23, Error = DeError> + TryInto<T24, Error = DeError> + TryInto<T25, Error = DeError> + TryInto<T26, Error = DeError> + TryInto<T27, Error = DeError> + TryInto<T28, Error = DeError> + TryInto<T29, Error = DeError> + TryInto<T30, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> TryFrom<Obj> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31)
where Obj: TryInto<T0, Error = DeError> + TryInto<T1, Error = DeError> + TryInto<T2, Error = DeError> + TryInto<T3, Error = DeError> + TryInto<T4, Error = DeError> + TryInto<T5, Error = DeError> + TryInto<T6, Error = DeError> + TryInto<T7, Error = DeError> + TryInto<T8, Error = DeError> + TryInto<T9, Error = DeError> + TryInto<T10, Error = DeError> + TryInto<T11, Error = DeError> + TryInto<T12, Error = DeError> + TryInto<T13, Error = DeError> + TryInto<T14, Error = DeError> + TryInto<T15, Error = DeError> + TryInto<T16, Error = DeError> + TryInto<T17, Error = DeError> + TryInto<T18, Error = DeError> + TryInto<T19, Error = DeError> + TryInto<T20, Error = DeError> + TryInto<T21, Error = DeError> + TryInto<T22, Error = DeError> + TryInto<T23, Error = DeError> + TryInto<T24, Error = DeError> + TryInto<T25, Error = DeError> + TryInto<T26, Error = DeError> + TryInto<T27, Error = DeError> + TryInto<T28, Error = DeError> + TryInto<T29, Error = DeError> + TryInto<T30, Error = DeError> + TryInto<T31, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<K, V> TryFrom<Obj> for HashMap<K, V>
where Obj: TryInto<K, Error = DeError> + TryInto<V, Error = DeError>, K: Hash + Eq,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T> TryFrom<Obj> for Range<T>
where Obj: TryInto<T, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for String

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<T> TryFrom<Obj> for Tcl<T>
where T: 'static + Serialize + DeserializeOwned + Clone,

§

type Error = Enum4<DeError, MoveBorrowedValue, MoveSharedObj, NullDataPtr>

The type returned in the event of a conversion error.
source§

fn try_from( obj: Obj ) -> Result<Self, Enum4<DeError, MoveBorrowedValue, MoveSharedObj, NullDataPtr>>

Performs the conversion.
source§

impl<T> TryFrom<Obj> for Vec<T>
where Obj: TryInto<T, Error = DeError>,

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for bool

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for char

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for f32

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for f64

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for i16

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for i32

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for i64

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for i8

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for isize

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for u16

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for u32

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for u64

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<u64, DeError>

Performs the conversion.
source§

impl TryFrom<Obj> for u8

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Obj> for usize

§

type Error = DeError

The type returned in the event of a conversion error.
source§

fn try_from(obj: Obj) -> Result<usize, DeError>

Performs the conversion.

Auto Trait Implementations§

§

impl RefUnwindSafe for Obj

§

impl !Send for Obj

§

impl !Sync for Obj

§

impl Unpin for Obj

§

impl UnwindSafe for Obj

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Enum> Error for Enum

source§

fn error<T, Dest, Index>(self) -> Result<T, Dest>
where Self: Sized + ExchangeInto<Dest, Index>,

source§

impl<_I0, _T0, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0,)>> for Dest
where Src: Proto<Type = __1<_T0>>, Dest: ExchangeFrom<_T0, _I0>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _T0, _T1, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1)>> for Dest
where Src: Proto<Type = __2<_T0, _T1>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _T0, _T1, _T2, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2)>> for Dest
where Src: Proto<Type = __3<_T0, _T1, _T2>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _T0, _T1, _T2, _T3, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3)>> for Dest
where Src: Proto<Type = __4<_T0, _T1, _T2, _T3>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _T0, _T1, _T2, _T3, _T4, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4)>> for Dest
where Src: Proto<Type = __5<_T0, _T1, _T2, _T3, _T4>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _T0, _T1, _T2, _T3, _T4, _T5, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5)>> for Dest
where Src: Proto<Type = __6<_T0, _T1, _T2, _T3, _T4, _T5>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _T0, _T1, _T2, _T3, _T4, _T5, _T6, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6)>> for Dest
where Src: Proto<Type = __7<_T0, _T1, _T2, _T3, _T4, _T5, _T6>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7)>> for Dest
where Src: Proto<Type = __8<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8)>> for Dest
where Src: Proto<Type = __9<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9)>> for Dest
where Src: Proto<Type = __10<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10)>> for Dest
where Src: Proto<Type = __11<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11)>> for Dest
where Src: Proto<Type = __12<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12)>> for Dest
where Src: Proto<Type = __13<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13)>> for Dest
where Src: Proto<Type = __14<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12> + ExchangeFrom<_T13, _I13>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14)>> for Dest
where Src: Proto<Type = __15<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12> + ExchangeFrom<_T13, _I13> + ExchangeFrom<_T14, _I14>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14, _I15, _T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15, Src, Dest> ExchangeFrom<Src, EnumToEnum<(_I0, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8, _I9, _I10, _I11, _I12, _I13, _I14, _I15)>> for Dest
where Src: Proto<Type = __16<_T0, _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10, _T11, _T12, _T13, _T14, _T15>>, Dest: ExchangeFrom<_T0, _I0> + ExchangeFrom<_T1, _I1> + ExchangeFrom<_T2, _I2> + ExchangeFrom<_T3, _I3> + ExchangeFrom<_T4, _I4> + ExchangeFrom<_T5, _I5> + ExchangeFrom<_T6, _I6> + ExchangeFrom<_T7, _I7> + ExchangeFrom<_T8, _I8> + ExchangeFrom<_T9, _I9> + ExchangeFrom<_T10, _I10> + ExchangeFrom<_T11, _I11> + ExchangeFrom<_T12, _I12> + ExchangeFrom<_T13, _I13> + ExchangeFrom<_T14, _I14> + ExchangeFrom<_T15, _I15>,

source§

fn exchange_from(src: Src) -> Dest

source§

impl<Src, Dest, Index> ExchangeInto<Dest, Index> for Src
where Dest: ExchangeFrom<Src, Index>,

source§

fn exchange_into(self) -> Dest

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Enum, Variant, Index> IntoEnum<Enum, Index> for Variant
where Enum: FromVariant<Variant, Index>,

source§

fn into_enum(self) -> Enum

source§

impl<Src, Dest> IntoTuple<Dest> for Src
where Dest: FromTuple<Src>,

source§

fn into_tuple(self) -> Dest

source§

impl<T, E> Ret<Result<T, E>, _WrapOk> for T

source§

fn ret(self) -> Result<T, E>

source§

impl<T, E, A> RetLog<Result<T, E>, A, _WrapOk> for T
where A: LogAgent,

source§

fn ret_log(self, _item: impl Fn() -> <A as LogAgent>::Item) -> Result<T, E>

source§

impl<T, E, F, I> Throw<Result<T, F>, _WrapErr<I>> for E
where E: ExchangeInto<F, I>,

source§

fn throw(self) -> Result<T, F>

source§

impl<T, E, F, A, I> ThrowLog<Result<T, F>, A, _ToLog<I>> for E
where A: LogAgent, E: ToLog<A>, Log<E, A>: ExchangeInto<F, I>,

source§

fn throw_log(self, item: impl Fn() -> <A as LogAgent>::Item) -> Result<T, F>

source§

impl<Inner, Agent> ToLog<Agent> for Inner
where Agent: LogAgent,

source§

fn new_log(self) -> Log<Inner, Agent>

source§

fn to_log(self, item: <Agent as LogAgent>::Item) -> Log<Inner, Agent>

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.