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<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<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 JsonCompatible<AuditLog> for mz_catalog::durable::upgrade::objects_v79::AuditLog

Source§

impl JsonCompatible<Config> for mz_catalog::durable::upgrade::objects_v79::Config

Source§

impl JsonCompatible<FenceToken> for mz_catalog::durable::upgrade::objects_v79::FenceToken

Source§

impl JsonCompatible<IdAlloc> for mz_catalog::durable::upgrade::objects_v79::IdAlloc

Source§

impl JsonCompatible<ServerConfiguration> for mz_catalog::durable::upgrade::objects_v79::ServerConfiguration

Source§

impl JsonCompatible<Setting> for mz_catalog::durable::upgrade::objects_v79::Setting

Source§

impl JsonCompatible<TxnWalShard> for mz_catalog::durable::upgrade::objects_v79::TxnWalShard

Source§

impl JsonCompatible<UnfinalizedShard> for mz_catalog::durable::upgrade::objects_v79::UnfinalizedShard

Source§

impl JsonCompatible<AclMode> for mz_catalog::durable::upgrade::objects_v79::AclMode

Source§

impl JsonCompatible<ClusterScheduleRefreshOptions> for mz_catalog::durable::upgrade::objects_v79::ClusterScheduleRefreshOptions

Source§

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

Source§

impl JsonCompatible<DefaultPrivilegesValue> for mz_catalog::durable::upgrade::objects_v79::DefaultPrivilegesValue

Source§

impl JsonCompatible<EpochMillis> for mz_catalog::durable::upgrade::objects_v79::EpochMillis

Source§

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

Source§

impl JsonCompatible<ReplicaConfig> for mz_catalog::durable::upgrade::objects_v79::ReplicaConfig

Source§

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

Source§

impl JsonCompatible<RoleAttributes> for mz_catalog::durable::upgrade::objects_v79::RoleAttributes

Source§

impl JsonCompatible<RoleAuthValue> for mz_catalog::durable::upgrade::objects_v79::RoleAuthValue

Source§

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

Source§

impl JsonCompatible<StorageCollectionMetadataValue> for mz_catalog::durable::upgrade::objects_v79::StorageCollectionMetadataValue

Source§

impl JsonCompatible<SystemPrivilegesValue> for mz_catalog::durable::upgrade::objects_v79::SystemPrivilegesValue

Source§

impl JsonCompatible<Version> for mz_catalog::durable::upgrade::objects_v79::Version

Source§

impl JsonCompatible<AclMode> for mz_catalog::durable::upgrade::objects_v78::AclMode

Source§

impl JsonCompatible<AuditLog> for mz_catalog::durable::upgrade::objects_v78::state_update_kind::AuditLog

Source§

impl JsonCompatible<ClusterScheduleRefreshOptions> for mz_catalog::durable::upgrade::objects_v78::ClusterScheduleRefreshOptions

Source§

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

Source§

impl JsonCompatible<Config> for mz_catalog::durable::upgrade::objects_v78::state_update_kind::Config

Source§

impl JsonCompatible<DefaultPrivilegesValue> for mz_catalog::durable::upgrade::objects_v78::DefaultPrivilegesValue

Source§

impl JsonCompatible<EpochMillis> for mz_catalog::durable::upgrade::objects_v78::EpochMillis

Source§

impl JsonCompatible<FenceToken> for mz_catalog::durable::upgrade::objects_v78::state_update_kind::FenceToken

Source§

impl JsonCompatible<IdAlloc> for mz_catalog::durable::upgrade::objects_v78::state_update_kind::IdAlloc

Source§

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

Source§

impl JsonCompatible<ReplicaConfig> for mz_catalog::durable::upgrade::objects_v78::ReplicaConfig

Source§

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

Source§

impl JsonCompatible<RoleAttributes> for mz_catalog::durable::upgrade::objects_v78::RoleAttributes

Source§

impl JsonCompatible<RoleAuthValue> for mz_catalog::durable::upgrade::objects_v78::RoleAuthValue

Source§

impl JsonCompatible<ServerConfiguration> for mz_catalog::durable::upgrade::objects_v78::state_update_kind::ServerConfiguration

Source§

impl JsonCompatible<Setting> for mz_catalog::durable::upgrade::objects_v78::state_update_kind::Setting

Source§

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

Source§

impl JsonCompatible<StorageCollectionMetadataValue> for mz_catalog::durable::upgrade::objects_v78::StorageCollectionMetadataValue

Source§

impl JsonCompatible<SystemPrivilegesValue> for mz_catalog::durable::upgrade::objects_v78::SystemPrivilegesValue

Source§

impl JsonCompatible<TxnWalShard> for mz_catalog::durable::upgrade::objects_v78::state_update_kind::TxnWalShard

Source§

impl JsonCompatible<UnfinalizedShard> for mz_catalog::durable::upgrade::objects_v78::state_update_kind::UnfinalizedShard

Source§

impl JsonCompatible<Version> for mz_catalog::durable::upgrade::objects_v78::Version

Source§

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