pub fn from_bson<T>(bson: Bson) -> Result<T>
where
    T: DeserializeOwned,
{
    let de = Deserializer::new(bson);
    Deserialize::deserialize(de)
}
/// Deserialize a `T` from the provided [`Bson`] value.
///
/// The `Deserializer` used by this function presents itself as human readable, whereas the
/// one used in [`from_slice`] does not. This means that this function may deserialize differently
/// than [`from_slice`] for types that change their deserialization logic depending on whether
/// the format is human readable or not. To deserialize from [`Bson`] with a deserializer that
/// presents itself as not human readable, use [`from_bson_with_options`] with
/// [`DeserializerOptions::human_readable`] set to false.
Deserialize a `T` from the provided [`Bson`] value.
The `Deserializer` used by this function presents itself as human readable, whereas the
one used in [`from_slice`] does not. This means that this function may deserialize differently
than [`from_slice`] for types that change their deserialization logic depending on whether
the format is human readable or not.
Deserialize a ` T ` from the provided [ ` Bson ` ] value . The ` Deserializer ` used by this function presents itself as human readable whereas the one used in [ ` from_slice ` ] does not . This means that this function may deserialize differently than [ ` from_slice ` ] for types that change their deserialization logic depending on whether the format is human readable or not .
pub fn from_bson<T>(bson: Bson) -> Result<T>
where
    T: DeserializeOwned,
{
    let de = Deserializer::new(bson);
    Deserialize::deserialize(de)
}
pub fn from_bson < T > ( bson : Bson ) -> Result < T > where T : DeserializeOwned , { let de = Deserializer :: new ( bson ) ; Deserialize :: deserialize ( de ) }
Deserialize a `T` from the provided [`Bson`] value.
Deserialize a ` T ` from the provided [ ` Bson ` ] value .
bson
Bson
bson
Bson