[][src]Struct serde_type_name::NotStruct

pub struct NotStruct;
extern crate serde_type_name;
extern crate serde;
#[macro_use]
extern crate serde_derive;

use serde::Serialize;
use serde_type_name::type_name;

#[derive(Serialize)]
enum SimpleEnum {
    A(i32),
    B,
    C { code: i32 },
}

#[derive(Serialize)]
struct SimpleStruct {
    pub a: i32,
}

#[derive(Serialize)]
struct GenericStruct<T: Serialize> {
    pub inner: T,
}

fn main() {
    assert_eq!("SimpleEnum", type_name(&SimpleEnum::A(10)).unwrap());
    assert_eq!("SimpleEnum", type_name(&SimpleEnum::B).unwrap());
    assert_eq!("SimpleEnum", type_name(&SimpleEnum::C { code: 32 }).unwrap());

    assert_eq!("SimpleStruct", type_name(&SimpleStruct { a: 20 }).unwrap());

    let gs = GenericStruct { inner: 32 };
    assert_eq!("GenericStruct", type_name(&gs).unwrap());

    let gs_enum = GenericStruct {
        inner: SimpleEnum::B,
    };
    assert_eq!("GenericStruct", type_name(&gs_enum).unwrap());
    assert_eq!("SimpleEnum", type_name(&gs_enum.inner).unwrap());
}

Trait Implementations

impl Display for NotStruct[src]

impl Debug for NotStruct[src]

impl Error for NotStruct[src]

fn cause(&self) -> Option<&dyn Error>
1.0.0
[src]

Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

The lower-level cause of this error, if any. Read more

fn source(&self) -> Option<&(dyn Error + 'static)>
1.30.0
[src]

The lower-level source of this error, if any. Read more

impl Error for NotStruct[src]

Auto Trait Implementations

impl Send for NotStruct

impl Sync for NotStruct

Blanket Implementations

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.