use_prelude!();
use serde::de::DeserializeOwned;

/// This trait describes a Ditto type for which modifications do not follow the
/// regular assignment policy.
pub trait MutableValue: Sized {
    type BaseType: DeserializeOwned;
    fn mutable_version(
        base: Self::BaseType,
        document: &mut ffi_sdk::Document,
        path: char_p::Box,
    ) -> Result<Self>;
}
