try_drop/
global_crate_root.rs

1pub use crate::handlers::fns::*;
2use crate::handlers::{
3    FallbackHandler, PrimaryHandler, DEFAULT_FALLBACK_HANDLER, DEFAULT_PRIMARY_HANDLER,
4};
5use crate::prelude::*;
6
7impl<TD: ImpureTryDrop> PureTryDrop for TD {
8    type Error = TD::Error;
9    type FallbackTryDropStrategy = FallbackHandler;
10    type TryDropStrategy = PrimaryHandler;
11
12    fn fallback_try_drop_strategy(&self) -> &Self::FallbackTryDropStrategy {
13        &DEFAULT_FALLBACK_HANDLER
14    }
15
16    fn try_drop_strategy(&self) -> &Self::TryDropStrategy {
17        &DEFAULT_PRIMARY_HANDLER
18    }
19
20    unsafe fn try_drop(&mut self) -> Result<(), Self::Error> {
21        TD::try_drop(self)
22    }
23}