Trait JsonCompatible

Source
pub unsafe trait JsonCompatible<T>: Serialize + DeserializeOwned{
    // Provided method
    fn convert(old: &T) -> Self { ... }
}
Expand description

Denotes that Self is JSON compatible with type T.

You should not implement this yourself, instead use the json_compatible! macro.

Provided Methods§

Source

fn convert(old: &T) -> Self

Converts the type T into Self by serializing T and deserializing as Self.

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.

Implementors§

Source§

impl JsonCompatible<CatalogItem> for mz_catalog::durable::upgrade::objects_v68::CatalogItem

Source§

impl JsonCompatible<ClusterId> for mz_catalog::durable::upgrade::objects_v68::ClusterId

Source§

impl JsonCompatible<ClusterIntrospectionSourceIndexKey> for mz_catalog::durable::upgrade::objects_v68::ClusterIntrospectionSourceIndexKey

Source§

impl JsonCompatible<ClusterReplicaId> for mz_catalog::durable::upgrade::objects_v68::ClusterReplicaId

Source§

impl JsonCompatible<CommentValue> for mz_catalog::durable::upgrade::objects_v68::CommentValue

Source§

impl JsonCompatible<DatabaseId> for mz_catalog::durable::upgrade::objects_v68::DatabaseId

Source§

impl JsonCompatible<GidMappingKey> for mz_catalog::durable::upgrade::objects_v68::GidMappingKey

Source§

impl JsonCompatible<GlobalId> for mz_catalog::durable::upgrade::objects_v68::GlobalId

Source§

impl JsonCompatible<MzAclItem> for mz_catalog::durable::upgrade::objects_v68::MzAclItem

Source§

impl JsonCompatible<ResolvedSchema> for mz_catalog::durable::upgrade::objects_v68::ResolvedSchema

Source§

impl JsonCompatible<RoleId> for mz_catalog::durable::upgrade::objects_v68::RoleId

Source§

impl JsonCompatible<SchemaId> for mz_catalog::durable::upgrade::objects_v68::SchemaId

Source§

impl JsonCompatible<SourceReferencesValue> for mz_catalog::durable::upgrade::objects_v68::SourceReferencesValue

Source§

impl JsonCompatible<CatalogItem> for mz_catalog::durable::upgrade::objects_v67::CatalogItem

Source§

impl JsonCompatible<ClusterId> for mz_catalog::durable::upgrade::objects_v67::ClusterId

Source§

impl JsonCompatible<ClusterIntrospectionSourceIndexKey> for mz_catalog::durable::upgrade::objects_v67::ClusterIntrospectionSourceIndexKey

Source§

impl JsonCompatible<ClusterReplicaId> for mz_catalog::durable::upgrade::objects_v67::ClusterReplicaId

Source§

impl JsonCompatible<CommentValue> for mz_catalog::durable::upgrade::objects_v67::CommentValue

Source§

impl JsonCompatible<DatabaseId> for mz_catalog::durable::upgrade::objects_v67::DatabaseId

Source§

impl JsonCompatible<GidMappingKey> for mz_catalog::durable::upgrade::objects_v67::GidMappingKey

Source§

impl JsonCompatible<GlobalId> for mz_catalog::durable::upgrade::objects_v67::GlobalId

Source§

impl JsonCompatible<MzAclItem> for mz_catalog::durable::upgrade::objects_v67::MzAclItem

Source§

impl JsonCompatible<ResolvedSchema> for mz_catalog::durable::upgrade::objects_v67::ResolvedSchema

Source§

impl JsonCompatible<RoleId> for mz_catalog::durable::upgrade::objects_v67::RoleId

Source§

impl JsonCompatible<SchemaId> for mz_catalog::durable::upgrade::objects_v67::SchemaId

Source§

impl JsonCompatible<SourceReferencesValue> for mz_catalog::durable::upgrade::objects_v67::SourceReferencesValue

Source§

impl JsonCompatible<RoleKey> for mz_catalog::durable::upgrade::objects_v74::RoleKey

Source§

impl JsonCompatible<ManagedLocation> for mz_catalog::durable::upgrade::objects_v75::replica_config::ManagedLocation

Source§

impl JsonCompatible<ClusterId> for mz_catalog::durable::upgrade::objects_v75::ClusterId

Source§

impl JsonCompatible<ClusterReplicaKey> for mz_catalog::durable::upgrade::objects_v75::ClusterReplicaKey

Source§

impl JsonCompatible<ReplicaLogging> for mz_catalog::durable::upgrade::objects_v75::ReplicaLogging

Source§

impl JsonCompatible<RoleId> for mz_catalog::durable::upgrade::objects_v75::RoleId

Source§

impl JsonCompatible<RoleKey> for mz_catalog::durable::upgrade::objects_v73::RoleKey

Source§

impl JsonCompatible<ManagedLocation> for mz_catalog::durable::upgrade::objects_v74::replica_config::ManagedLocation

Source§

impl JsonCompatible<UnmanagedLocation> for mz_catalog::durable::upgrade::objects_v76::replica_config::UnmanagedLocation

Source§

impl JsonCompatible<ClusterId> for mz_catalog::durable::upgrade::objects_v74::ClusterId

Source§

impl JsonCompatible<ClusterId> for mz_catalog::durable::upgrade::objects_v76::ClusterId

Source§

impl JsonCompatible<ClusterKey> for mz_catalog::durable::upgrade::objects_v76::ClusterKey

Source§

impl JsonCompatible<ClusterReplicaKey> for mz_catalog::durable::upgrade::objects_v74::ClusterReplicaKey

Source§

impl JsonCompatible<ClusterReplicaKey> for mz_catalog::durable::upgrade::objects_v76::ClusterReplicaKey

Source§

impl JsonCompatible<ClusterSchedule> for mz_catalog::durable::upgrade::objects_v76::ClusterSchedule

Source§

impl JsonCompatible<MzAclItem> for mz_catalog::durable::upgrade::objects_v76::MzAclItem

Source§

impl JsonCompatible<OptimizerFeatureOverride> for mz_catalog::durable::upgrade::objects_v76::OptimizerFeatureOverride

Source§

impl JsonCompatible<ReplicaLogging> for mz_catalog::durable::upgrade::objects_v74::ReplicaLogging

Source§

impl JsonCompatible<ReplicaLogging> for mz_catalog::durable::upgrade::objects_v76::ReplicaLogging

Source§

impl JsonCompatible<RoleId> for mz_catalog::durable::upgrade::objects_v74::RoleId

Source§

impl JsonCompatible<RoleId> for mz_catalog::durable::upgrade::objects_v76::RoleId

Source§

impl JsonCompatible<UnmanagedLocation> for mz_catalog::durable::upgrade::objects_v75::replica_config::UnmanagedLocation

Source§

impl JsonCompatible<ClusterId> for mz_catalog::durable::upgrade::objects_v75::ClusterId

Source§

impl JsonCompatible<ClusterKey> for mz_catalog::durable::upgrade::objects_v75::ClusterKey

Source§

impl JsonCompatible<ClusterReplicaKey> for mz_catalog::durable::upgrade::objects_v75::ClusterReplicaKey

Source§

impl JsonCompatible<ClusterSchedule> for mz_catalog::durable::upgrade::objects_v75::ClusterSchedule

Source§

impl JsonCompatible<MzAclItem> for mz_catalog::durable::upgrade::objects_v75::MzAclItem

Source§

impl JsonCompatible<OptimizerFeatureOverride> for mz_catalog::durable::upgrade::objects_v75::OptimizerFeatureOverride

Source§

impl JsonCompatible<ReplicaLogging> for mz_catalog::durable::upgrade::objects_v75::ReplicaLogging

Source§

impl JsonCompatible<RoleId> for mz_catalog::durable::upgrade::objects_v75::RoleId

Source§

impl<T: Serialize + DeserializeOwned + Clone> JsonCompatible<T> for T