Skip to main content

NewTypeAdapter

Trait NewTypeAdapter 

Source
pub trait NewTypeAdapter {
    type StandardType;
    type AdaptedType;
}
Expand description

Convenience trait for newtype adapters.

This trait simplifies construction of adapters that newtype the standard type. On top of the standard bounds, the newtype (adapted type) needs to also have a From and Into implementation for the standard thrift type.

§Examples

use fbthrift::adapter::NewTypeAdapter;

#[derive(Clone, Debug)]
struct MyInt(i64);

impl From<MyInt> for i64 {
    fn from(v: MyInt) -> Self { v.0 }
}

impl From<i64> for MyInt {
    fn from(v: i64) -> Self { Self(v) }
}

struct MyIntAdapter;

impl NewTypeAdapter for MyIntAdapter {
    type StandardType = i64;
    type AdaptedType = MyInt;
}

Required Associated Types§

Source

type StandardType

The thrift type that the adapter interprets.

Source

type AdaptedType

The Rust type to adapt to.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§