#![allow(deprecated)]

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

/// This trait describes a Ditto type for which modifications do not follow the
/// regular assignment policy.
#[deprecated(
    since = "4.14.4",
    note = "Will be removed in SDK 5.0. Use DQL queries instead"
)]
pub trait MutableValue<'doc>: Sized {
    type BaseType: DeserializeOwned;
    fn mutable_version(
        base: Self::BaseType,
        document: &'doc mut ffi_sdk::Document,
        path: char_p::Box,
    ) -> Result<Self>;
}
