//! Keychain item support. use core_foundation::base::TCFType; use security_framework_sys::base::SecKeychainItemRef; use security_framework_sys::keychain_item::SecKeychainItemGetTypeID; use std::fmt; declare_TCFType! { /// A type representing a keychain item. SecKeychainItem, SecKeychainItemRef } impl_TCFType!( SecKeychainItem, SecKeychainItemRef, SecKeychainItemGetTypeID ); unsafe impl Sync for SecKeychainItem {} unsafe impl Send for SecKeychainItem {} impl fmt::Debug for SecKeychainItem { #[cold] fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { fmt.debug_struct("SecKeychainItem").finish_non_exhaustive() } }