Skip to main content

Schematic

Trait Schematic 

Source
pub trait Schematic {
    // Provided methods
    fn schema_name() -> Option<String> { ... }
    fn build_schema(schema: SchemaBuilder) -> Schema { ... }
}
Expand description

Defines a schema that represents the shape of the implementing type.

Provided Methods§

Source

fn schema_name() -> Option<String>

Define a name for this schema type. Names are required for non-primitive values as a means to link references, and avoid cycles.

Source

fn build_schema(schema: SchemaBuilder) -> Schema

Create and return a schema that models the structure of the implementing type. The schema can be used to generate code, documentation, or other artifacts.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

Source§

impl Schematic for &Path

Source§

impl Schematic for &RelativePath

Source§

impl Schematic for &str

Source§

impl Schematic for ()

Source§

impl Schematic for Days

Source§

impl Schematic for Decimal

Source§

impl Schematic for Duration

Source§

impl Schematic for IpAddr

Source§

impl Schematic for Ipv4Addr

Source§

impl Schematic for Ipv6Addr

Source§

impl Schematic for IsoWeek

Source§

impl Schematic for Mapping

Source§

impl Schematic for Months

Source§

impl Schematic for NaiveDate

Source§

impl Schematic for NaiveDateTime

Source§

impl Schematic for NaiveTime

Source§

impl Schematic for NaiveWeek

Source§

impl Schematic for NonZero<i8>

Source§

impl Schematic for NonZero<i16>

Source§

impl Schematic for NonZero<i32>

Source§

impl Schematic for NonZero<i64>

Source§

impl Schematic for NonZero<i128>

Source§

impl Schematic for NonZero<isize>

Source§

impl Schematic for NonZero<u8>

Source§

impl Schematic for NonZero<u16>

Source§

impl Schematic for NonZero<u32>

Source§

impl Schematic for NonZero<u64>

Source§

impl Schematic for NonZero<u128>

Source§

impl Schematic for NonZero<usize>

Source§

impl Schematic for Number

Source§

impl Schematic for Number

Source§

impl Schematic for Path

Source§

impl Schematic for PathBuf

Source§

impl Schematic for PklValue

Source§

impl Schematic for Regex

Source§

impl Schematic for RelativePath

Source§

impl Schematic for RelativePathBuf

Source§

impl Schematic for SocketAddr

Source§

impl Schematic for SocketAddrV4

Source§

impl Schematic for SocketAddrV6

Source§

impl Schematic for String

Source§

impl Schematic for SystemTime

Source§

impl Schematic for TimeDelta

Source§

impl Schematic for Url

Source§

impl Schematic for Uuid

Source§

impl Schematic for Value

Source§

impl Schematic for Value

Source§

impl Schematic for Value

Source§

impl Schematic for Value

Source§

impl Schematic for Version

Source§

impl Schematic for VersionReq

Source§

impl Schematic for bool

Source§

impl Schematic for char

Source§

impl Schematic for f32

Source§

impl Schematic for f64

Source§

impl Schematic for i8

Source§

impl Schematic for i16

Source§

impl Schematic for i32

Source§

impl Schematic for i64

Source§

impl Schematic for i128

Source§

impl Schematic for isize

Source§

impl Schematic for str

Source§

impl Schematic for u8

Source§

impl Schematic for u16

Source§

impl Schematic for u32

Source§

impl Schematic for u64

Source§

impl Schematic for u128

Source§

impl Schematic for usize

Source§

impl<K, V, S> Schematic for HashMap<K, V, S>
where K: Schematic, V: Schematic,

Source§

impl<K, V> Schematic for BTreeMap<K, V>
where K: Schematic, V: Schematic,

Source§

impl<K, V> Schematic for Map<K, V>
where K: Schematic, V: Schematic,

Source§

impl<K, V> Schematic for Map<K, V>
where K: Schematic, V: Schematic,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Schematic for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where T0: Schematic, T1: Schematic, T2: Schematic, T3: Schematic, T4: Schematic, T5: Schematic, T6: Schematic, T7: Schematic, T8: Schematic, T9: Schematic, T10: Schematic, T11: Schematic, T12: Schematic,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Schematic for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T0: Schematic, T1: Schematic, T2: Schematic, T3: Schematic, T4: Schematic, T5: Schematic, T6: Schematic, T7: Schematic, T8: Schematic, T9: Schematic, T10: Schematic, T11: Schematic,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Schematic for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where T0: Schematic, T1: Schematic, T2: Schematic, T3: Schematic, T4: Schematic, T5: Schematic, T6: Schematic, T7: Schematic, T8: Schematic, T9: Schematic, T10: Schematic,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Schematic for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T0: Schematic, T1: Schematic, T2: Schematic, T3: Schematic, T4: Schematic, T5: Schematic, T6: Schematic, T7: Schematic, T8: Schematic, T9: Schematic,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Schematic for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where T0: Schematic, T1: Schematic, T2: Schematic, T3: Schematic, T4: Schematic, T5: Schematic, T6: Schematic, T7: Schematic, T8: Schematic,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> Schematic for (T0, T1, T2, T3, T4, T5, T6, T7)
where T0: Schematic, T1: Schematic, T2: Schematic, T3: Schematic, T4: Schematic, T5: Schematic, T6: Schematic, T7: Schematic,

Source§

impl<T0, T1, T2, T3, T4, T5, T6> Schematic for (T0, T1, T2, T3, T4, T5, T6)
where T0: Schematic, T1: Schematic, T2: Schematic, T3: Schematic, T4: Schematic, T5: Schematic, T6: Schematic,

Source§

impl<T0, T1, T2, T3, T4, T5> Schematic for (T0, T1, T2, T3, T4, T5)
where T0: Schematic, T1: Schematic, T2: Schematic, T3: Schematic, T4: Schematic, T5: Schematic,

Source§

impl<T0, T1, T2, T3, T4> Schematic for (T0, T1, T2, T3, T4)
where T0: Schematic, T1: Schematic, T2: Schematic, T3: Schematic, T4: Schematic,

Source§

impl<T0, T1, T2, T3> Schematic for (T0, T1, T2, T3)
where T0: Schematic, T1: Schematic, T2: Schematic, T3: Schematic,

Source§

impl<T0, T1, T2> Schematic for (T0, T1, T2)
where T0: Schematic, T1: Schematic, T2: Schematic,

Source§

impl<T0, T1> Schematic for (T0, T1)
where T0: Schematic, T1: Schematic,

Source§

impl<T0> Schematic for (T0,)
where T0: Schematic,

Source§

impl<T, S> Schematic for HashSet<T, S>
where T: Schematic,

Source§

impl<T, S> Schematic for IndexSet<T, S>
where T: Schematic,

Source§

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

Source§

impl<T> Schematic for &T
where T: Schematic,

Source§

impl<T> Schematic for &[T]
where T: Schematic,

Source§

impl<T> Schematic for &mut T
where T: Schematic,

Source§

impl<T> Schematic for Arc<T>
where T: Schematic + ?Sized,

Source§

impl<T> Schematic for BTreeSet<T>
where T: Schematic,

Source§

impl<T> Schematic for BinaryHeap<T>
where T: Schematic,

Source§

impl<T> Schematic for Box<T>
where T: Schematic + ?Sized,

Source§

impl<T> Schematic for Cow<'_, T>
where T: Schematic + ToOwned + ?Sized,

Source§

impl<T> Schematic for LinkedList<T>
where T: Schematic,

Source§

impl<T> Schematic for Option<T>
where T: Schematic,

Source§

impl<T> Schematic for Range<T>
where T: Schematic,

Source§

impl<T> Schematic for RangeInclusive<T>
where T: Schematic,

Source§

impl<T> Schematic for Rc<T>
where T: Schematic + ?Sized,

Source§

impl<T> Schematic for Vec<T>
where T: Schematic,

Source§

impl<T> Schematic for VecDeque<T>
where T: Schematic,

Source§

impl<T> Schematic for [T]
where T: Schematic,

Source§

impl<Tz> Schematic for Date<Tz>
where Tz: TimeZone,

Source§

impl<Tz> Schematic for DateTime<Tz>
where Tz: TimeZone,

Implementors§

Source§

impl Schematic for ExtendsFrom

Source§

impl Schematic for RegexSetting

Available on crate feature schema only.
Source§

impl Schematic for Schema

Source§

impl Schematic for SchemaField

Source§

impl Schematic for SchemaType

Source§

impl Schematic for VersionSetting

Available on crate feature schema only.
Source§

impl<K, V, S> Schematic for IndexMap<K, V, S>
where K: Schematic, V: Schematic,