Trait JsonTypedef

Source
pub trait JsonTypedef {
    // Required methods
    fn schema(generator: &mut Generator) -> Schema;
    fn names() -> Names;

    // Provided method
    fn referenceable() -> bool { ... }
}
Expand description

Types that have an associated Typedef schema.

Required Methods§

Source

fn schema(generator: &mut Generator) -> Schema

Generate the Schema for the implementor type, according to how the Generator is configured.

Source

fn names() -> Names

Returns info about how to refer to this type within the Typedef schema. Mostly used to generate a name for the top-level definitions.

Provided Methods§

Source

fn referenceable() -> bool

Returns true if this type can appear in the top-level definitions and be referenced using the “ref” form.

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.

Implementations on Foreign Types§

Source§

impl JsonTypedef for IpAddr

Source§

impl JsonTypedef for SocketAddr

Source§

impl JsonTypedef for bool

Source§

impl JsonTypedef for char

Source§

impl JsonTypedef for f32

Source§

impl JsonTypedef for f64

Source§

impl JsonTypedef for i8

Source§

impl JsonTypedef for i16

Source§

impl JsonTypedef for i32

Source§

impl JsonTypedef for str

Source§

impl JsonTypedef for u8

Source§

impl JsonTypedef for u16

Source§

impl JsonTypedef for u32

Source§

impl JsonTypedef for String

Source§

impl JsonTypedef for Ipv4Addr

Source§

impl JsonTypedef for Ipv6Addr

Source§

impl JsonTypedef for SocketAddrV4

Source§

impl JsonTypedef for SocketAddrV6

Source§

impl JsonTypedef for AtomicBool

Source§

impl JsonTypedef for AtomicI8

Source§

impl JsonTypedef for AtomicI16

Source§

impl JsonTypedef for AtomicI32

Source§

impl JsonTypedef for AtomicU8

Source§

impl JsonTypedef for AtomicU16

Source§

impl JsonTypedef for AtomicU32

Source§

impl JsonTypedef for Path

Source§

impl JsonTypedef for PathBuf

Source§

impl JsonTypedef for NonZeroI8

Source§

impl JsonTypedef for NonZeroI16

Source§

impl JsonTypedef for NonZeroI32

Source§

impl JsonTypedef for NonZeroU8

Source§

impl JsonTypedef for NonZeroU16

Source§

impl JsonTypedef for NonZeroU32

Source§

impl<'a> JsonTypedef for Arguments<'a>

Source§

impl<'a, T: JsonTypedef + Clone> JsonTypedef for Cow<'a, T>

Source§

impl<'a, T: JsonTypedef + ?Sized> JsonTypedef for &'a T

Source§

impl<'a, T: JsonTypedef + ?Sized> JsonTypedef for &'a mut T

Source§

impl<K: ToString, V: JsonTypedef> JsonTypedef for BTreeMap<K, V>

Source§

impl<K: ToString, V: JsonTypedef> JsonTypedef for HashMap<K, V>

Source§

impl<T: JsonTypedef> JsonTypedef for Option<T>

Source§

impl<T: JsonTypedef> JsonTypedef for [T]

Source§

impl<T: JsonTypedef> JsonTypedef for Box<T>

Source§

impl<T: JsonTypedef> JsonTypedef for BinaryHeap<T>

Source§

impl<T: JsonTypedef> JsonTypedef for BTreeSet<T>

Source§

impl<T: JsonTypedef> JsonTypedef for LinkedList<T>

Source§

impl<T: JsonTypedef> JsonTypedef for VecDeque<T>

Source§

impl<T: JsonTypedef> JsonTypedef for Vec<T>

Source§

impl<T: JsonTypedef> JsonTypedef for Cell<T>

Source§

impl<T: JsonTypedef> JsonTypedef for RefCell<T>

Source§

impl<T: JsonTypedef> JsonTypedef for Reverse<T>

Source§

impl<T: JsonTypedef> JsonTypedef for Wrapping<T>

Source§

impl<T: JsonTypedef> JsonTypedef for Range<T>

Source§

impl<T: JsonTypedef> JsonTypedef for RangeInclusive<T>

Source§

impl<T: JsonTypedef> JsonTypedef for HashSet<T>

Source§

impl<T: JsonTypedef> JsonTypedef for Mutex<T>

Source§

impl<T: JsonTypedef> JsonTypedef for RwLock<T>

Source§

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

Implementors§