Sync

Trait Sync 

1.0.0 · Source
pub unsafe auto trait Sync { }
Expand description

Types for which it is safe to share references between threads.

This trait is automatically implemented when the compiler determines it’s appropriate.

The precise definition is: a type T is Sync if and only if &T is Send. In other words, if there is no possibility of undefined behavior (including data races) when passing &T references between threads.

As one would expect, primitive types like u8 and f64 are all Sync, and so are simple aggregate types containing them, like tuples, structs and enums. More examples of basic Sync types include “immutable” types like &T, and those with simple inherited mutability, such as Box<T>, Vec<T> and most other collection types. (Generic parameters need to be Sync for their container to be Sync.)

A somewhat surprising consequence of the definition is that &mut T is Sync (if T is Sync) even though it seems like that might provide unsynchronized mutation. The trick is that a mutable reference behind a shared reference (that is, & &mut T) becomes read-only, as if it were a & &T. Hence there is no risk of a data race.

A shorter overview of how Sync and Send relate to referencing:

  • &T is Send if and only if T is Sync
  • &mut T is Send if and only if T is Send
  • &T and &mut T are Sync if and only if T is Sync

Types that are not Sync are those that have “interior mutability” in a non-thread-safe form, such as Cell and RefCell. These types allow for mutation of their contents even through an immutable, shared reference. For example the set method on Cell<T> takes &self, so it requires only a shared reference &Cell<T>. The method performs no synchronization, thus Cell cannot be Sync.

Another example of a non-Sync type is the reference-counting pointer Rc. Given any reference &Rc<T>, you can clone a new Rc<T>, modifying the reference counts in a non-atomic way.

For cases when one does need thread-safe interior mutability, Rust provides atomic data types, as well as explicit locking via sync::Mutex and sync::RwLock. These types ensure that any mutation cannot cause data races, hence the types are Sync. Likewise, sync::Arc provides a thread-safe analogue of Rc.

Any types with interior mutability must also use the cell::UnsafeCell wrapper around the value(s) which can be mutated through a shared reference. Failing to doing this is undefined behavior. For example, transmute-ing from &T to &mut T is invalid.

See the Nomicon for more details about Sync.

Implementors§

1.0.0 · Source§

impl !Sync for Arguments<'_>

Source§

impl !Sync for LocalWaker

1.26.0 · Source§

impl !Sync for Args

1.26.0 · Source§

impl !Sync for ArgsOs

1.0.0 · Source§

impl Sync for TypeId

Source§

impl Sync for datex_core::without_std::ffi::c_str::Bytes<'_>

1.10.0 · Source§

impl Sync for Location<'_>

1.6.0 · Source§

impl Sync for datex_core::without_std::string::Drain<'_>

1.0.0 · Source§

impl Sync for datex_core::without_std::sync::atomic::AtomicBool

1.34.0 · Source§

impl Sync for AtomicI8

1.34.0 · Source§

impl Sync for AtomicI16

1.34.0 · Source§

impl Sync for AtomicI32

1.34.0 · Source§

impl Sync for AtomicI64

1.0.0 · Source§

impl Sync for AtomicIsize

1.34.0 · Source§

impl Sync for AtomicU8

1.34.0 · Source§

impl Sync for AtomicU16

1.34.0 · Source§

impl Sync for AtomicU32

1.34.0 · Source§

impl Sync for AtomicU64

1.0.0 · Source§

impl Sync for AtomicUsize

1.36.0 · Source§

impl Sync for Waker

Source§

impl Sync for atomic_waker::AtomicWaker

Source§

impl Sync for bytes::bytes::Bytes

Source§

impl Sync for BytesMut

Source§

impl Sync for futures_core::task::__internal::atomic_waker::AtomicWaker

Source§

impl Sync for GuardNoSend

Source§

impl Sync for Asn1BitString

Source§

impl Sync for Asn1BitStringRef

Source§

impl Sync for Asn1Enumerated

Source§

impl Sync for Asn1EnumeratedRef

Source§

impl Sync for Asn1GeneralizedTime

Source§

impl Sync for Asn1GeneralizedTimeRef

Source§

impl Sync for Asn1Integer

Source§

impl Sync for Asn1IntegerRef

Source§

impl Sync for Asn1Object

Source§

impl Sync for Asn1ObjectRef

Source§

impl Sync for Asn1OctetString

Source§

impl Sync for Asn1OctetStringRef

Source§

impl Sync for Asn1String

Source§

impl Sync for Asn1StringRef

Source§

impl Sync for Asn1Time

Source§

impl Sync for Asn1TimeRef

Source§

impl Sync for BigNum

Source§

impl Sync for BigNumContext

Source§

impl Sync for BigNumContextRef

Source§

impl Sync for BigNumRef

Source§

impl Sync for openssl::cipher::Cipher

Source§

impl Sync for CipherRef

Source§

impl Sync for CipherCtx

Source§

impl Sync for CipherCtxRef

Source§

impl Sync for CmsContentInfo

Source§

impl Sync for CmsContentInfoRef

Source§

impl Sync for Conf

Source§

impl Sync for ConfRef

Source§

impl Sync for Deriver<'_>

Source§

impl Sync for DsaSig

Source§

impl Sync for DsaSigRef

Source§

impl Sync for EcGroup

Source§

impl Sync for EcGroupRef

Source§

impl Sync for EcPoint

Source§

impl Sync for EcPointRef

Source§

impl Sync for EcdsaSig

Source§

impl Sync for EcdsaSigRef

Source§

impl Sync for Decrypter<'_>

Source§

impl Sync for Encrypter<'_>

Source§

impl Sync for openssl::error::Error

Source§

impl Sync for Hasher

Source§

impl Sync for MessageDigest

Source§

impl Sync for LibCtx

Source§

impl Sync for LibCtxRef

Source§

impl Sync for Md

Source§

impl Sync for MdRef

Source§

impl Sync for MdCtx

Source§

impl Sync for MdCtxRef

Source§

impl Sync for OcspBasicResponse

Source§

impl Sync for OcspBasicResponseRef

Source§

impl Sync for OcspCertId

Source§

impl Sync for OcspCertIdRef

Source§

impl Sync for OcspOneReq

Source§

impl Sync for OcspOneReqRef

Source§

impl Sync for OcspRequest

Source§

impl Sync for OcspRequestRef

Source§

impl Sync for OcspResponse

Source§

impl Sync for OcspResponseRef

Source§

impl Sync for Pkcs7

Source§

impl Sync for Pkcs7Ref

Source§

impl Sync for Pkcs7Signed

Source§

impl Sync for Pkcs7SignedRef

Source§

impl Sync for Pkcs7SignerInfo

Source§

impl Sync for Pkcs7SignerInfoRef

Source§

impl Sync for Pkcs12

Source§

impl Sync for Pkcs12Ref

Source§

impl Sync for Provider

Source§

impl Sync for ProviderRef

Source§

impl Sync for Signer<'_>

Source§

impl Sync for Verifier<'_>

Source§

impl Sync for SrtpProtectionProfile

Source§

impl Sync for SrtpProtectionProfileRef

Source§

impl Sync for Ssl

Source§

impl Sync for SslContext

Source§

impl Sync for SslContextRef

Source§

impl Sync for SslMethod

Source§

impl Sync for SslRef

Source§

impl Sync for SslSession

Source§

impl Sync for SslSessionRef

Source§

impl Sync for OpensslString

Source§

impl Sync for OpensslStringRef

Source§

impl Sync for openssl::symm::Cipher

Source§

impl Sync for X509Store

Source§

impl Sync for X509StoreBuilder

Source§

impl Sync for X509StoreBuilderRef

Source§

impl Sync for X509StoreRef

Source§

impl Sync for AccessDescription

Source§

impl Sync for AccessDescriptionRef

Source§

impl Sync for DistPoint

Source§

impl Sync for DistPointName

Source§

impl Sync for DistPointNameRef

Source§

impl Sync for DistPointRef

Source§

impl Sync for GeneralName

Source§

impl Sync for GeneralNameRef

Source§

impl Sync for X509

Source§

impl Sync for X509Algorithm

Source§

impl Sync for X509AlgorithmRef

Source§

impl Sync for X509Crl

Source§

impl Sync for X509CrlRef

Source§

impl Sync for X509Extension

Source§

impl Sync for X509ExtensionRef

Source§

impl Sync for X509Name

Source§

impl Sync for X509NameEntry

Source§

impl Sync for X509NameEntryRef

Source§

impl Sync for X509NameRef

Source§

impl Sync for X509Object

Source§

impl Sync for X509ObjectRef

Source§

impl Sync for X509Ref

Source§

impl Sync for X509Req

Source§

impl Sync for X509ReqRef

Source§

impl Sync for X509Revoked

Source§

impl Sync for X509RevokedRef

Source§

impl Sync for X509StoreContext

Source§

impl Sync for X509StoreContextRef

Source§

impl Sync for X509VerifyParam

Source§

impl Sync for X509VerifyParamRef

Source§

impl Sync for portable_atomic::AtomicBool

Source§

impl Sync for AbortHandle

Source§

impl Sync for OwnedNotified

1.44.0 · Source§

impl<'a> Sync for IoSlice<'a>

1.44.0 · Source§

impl<'a> Sync for IoSliceMut<'a>

Source§

impl<'a> Sync for Notified<'a>

Source§

impl<'a, K, V> Sync for linked_hash_map::Drain<'a, K, V>
where K: Sync, V: Sync,

Source§

impl<'a, K, V> Sync for linked_hash_map::Iter<'a, K, V>
where K: Sync, V: Sync,

Source§

impl<'a, K, V> Sync for linked_hash_map::IterMut<'a, K, V>
where K: Sync, V: Sync,

Source§

impl<'a, K, V, S> Sync for Entries<'a, K, V, S>
where K: Sync, V: Sync, S: Sync,

Source§

impl<'a, R, G, T> Sync for MappedReentrantMutexGuard<'a, R, G, T>
where R: RawMutex + Sync + 'a, G: GetThreadId + Sync + 'a, T: Sync + 'a + ?Sized,

Source§

impl<'a, R, G, T> Sync for ReentrantMutexGuard<'a, R, G, T>
where R: RawMutex + Sync + 'a, G: GetThreadId + Sync + 'a, T: Sync + 'a + ?Sized,

Source§

impl<'a, R, T> Sync for lock_api::mutex::MappedMutexGuard<'a, R, T>
where R: RawMutex + Sync + 'a, T: Sync + 'a + ?Sized,

Source§

impl<'a, R, T> Sync for lock_api::mutex::MutexGuard<'a, R, T>
where R: RawMutex + Sync + 'a, T: Sync + 'a + ?Sized,

Source§

impl<'a, R, T> Sync for lock_api::rwlock::MappedRwLockReadGuard<'a, R, T>
where R: RawRwLock + 'a, T: Sync + 'a + ?Sized,

Source§

impl<'a, R, T> Sync for lock_api::rwlock::MappedRwLockWriteGuard<'a, R, T>
where R: RawRwLock + 'a, T: Sync + 'a + ?Sized,

Source§

impl<'a, R, T> Sync for RwLockUpgradableReadGuard<'a, R, T>
where R: RawRwLockUpgrade + 'a, T: Sync + 'a + ?Sized,

Source§

impl<'a, T> Sync for http::header::map::Drain<'a, T>
where T: Sync,

Source§

impl<'a, T> Sync for http::header::map::Iter<'a, T>
where T: Sync,

Source§

impl<'a, T> Sync for http::header::map::IterMut<'a, T>
where T: Sync,

Source§

impl<'a, T> Sync for ValueDrain<'a, T>
where T: Sync,

Source§

impl<'a, T> Sync for ValueIterMut<'a, T>
where T: Sync,

Source§

impl<'a, T> Sync for OnceRef<'a, T>
where T: Sync,

Source§

impl<'a, T> Sync for smallvec::Drain<'a, T>
where T: Sync + Array,

Source§

impl<'a, T> Sync for tokio::sync::mutex::MappedMutexGuard<'a, T>
where T: Sync + 'a + ?Sized,

Source§

impl<'a, T> Sync for ZeroVec<'a, T>
where T: AsULE, <T as AsULE>::ULE: Sync,

Source§

impl<C> Sync for CartableOptionPointer<C>

Source§

impl<Dyn> Sync for DynMetadata<Dyn>
where Dyn: ?Sized,

Source§

impl<Fut> Sync for futures_util::stream::futures_unordered::iter::IntoIter<Fut>
where Fut: Sync + Unpin,

Source§

impl<Fut> Sync for IterPinMut<'_, Fut>
where Fut: Sync,

Source§

impl<Fut> Sync for IterPinRef<'_, Fut>
where Fut: Sync,

Source§

impl<Fut> Sync for FuturesUnordered<Fut>
where Fut: Send + Sync,

Source§

impl<K, V> Sync for linked_hash_map::IntoIter<K, V>
where K: Sync, V: Sync,

Source§

impl<K, V, S> Sync for LinkedHashMap<K, V, S>
where K: Sync, V: Sync, S: Sync,

Source§

impl<K, V, S, A> Sync for hashbrown::map::OccupiedEntry<'_, K, V, S, A>
where K: Sync, V: Sync, S: Sync, A: Sync + Allocator,

Source§

impl<K, V, S, A> Sync for hashbrown::map::OccupiedEntry<'_, K, V, S, A>
where K: Sync, V: Sync, S: Sync, A: Sync + Allocator,

Source§

impl<K, V, S, A> Sync for RawOccupiedEntryMut<'_, K, V, S, A>
where K: Sync, V: Sync, S: Sync, A: Sync + Allocator,

Source§

impl<R, G> Sync for RawReentrantMutex<R, G>
where R: RawMutex + Sync, G: GetThreadId + Sync,

Source§

impl<R, G, T> Sync for ReentrantMutex<R, G, T>
where R: RawMutex + Sync, G: GetThreadId + Sync, T: Send + ?Sized,

Source§

impl<R, T> Sync for lock_api::mutex::Mutex<R, T>
where R: RawMutex + Sync, T: Send + ?Sized,

Source§

impl<R, T> Sync for lock_api::rwlock::RwLock<R, T>
where R: RawRwLock + Sync, T: Send + Sync + ?Sized,

Source§

impl<R, T> Sync for lock_api::rwlock::RwLockReadGuard<'_, R, T>
where R: RawRwLock + Sync, T: Sync + ?Sized,

Source§

impl<R, T> Sync for lock_api::rwlock::RwLockWriteGuard<'_, R, T>
where R: RawRwLock + Sync, T: Sync + ?Sized,

Source§

impl<S> Sync for AllowStd<S>
where S: Sync,

1.0.0 · Source§

impl<T> !Sync for *const T
where T: ?Sized,

1.0.0 · Source§

impl<T> !Sync for *mut T
where T: ?Sized,

1.0.0 · Source§

impl<T> !Sync for Cell<T>
where T: ?Sized,

1.70.0 · Source§

impl<T> !Sync for datex_core::without_std::cell::OnceCell<T>

1.0.0 · Source§

impl<T> !Sync for RefCell<T>
where T: ?Sized,

1.0.0 · Source§

impl<T> !Sync for UnsafeCell<T>
where T: ?Sized,

1.25.0 · Source§

impl<T> !Sync for NonNull<T>
where T: ?Sized,

NonNull pointers are not Sync because the data they reference may be aliased.

1.0.0 · Source§

impl<T> !Sync for std::sync::mpsc::Receiver<T>

Source§

impl<T> Sync for ThinBox<T>
where T: Sync + ?Sized,

ThinBox<T> is Sync if T is Sync because the data is owned.

Source§

impl<T> Sync for SyncUnsafeCell<T>
where T: Sync + ?Sized,

1.0.0 · Source§

impl<T> Sync for datex_core::without_std::collections::linked_list::Iter<'_, T>
where T: Sync,

1.0.0 · Source§

impl<T> Sync for datex_core::without_std::collections::linked_list::IterMut<'_, T>
where T: Sync,

1.28.0 · Source§

impl<T> Sync for NonZero<T>

Source§

impl<T> Sync for UnsafePinned<T>
where T: Sync + ?Sized,

1.31.0 · Source§

impl<T> Sync for ChunksExactMut<'_, T>
where T: Sync,

1.0.0 · Source§

impl<T> Sync for ChunksMut<'_, T>
where T: Sync,

1.0.0 · Source§

impl<T> Sync for datex_core::without_std::slice::Iter<'_, T>
where T: Sync,

1.0.0 · Source§

impl<T> Sync for datex_core::without_std::slice::IterMut<'_, T>
where T: Sync,

1.31.0 · Source§

impl<T> Sync for RChunksExactMut<'_, T>
where T: Sync,

1.31.0 · Source§

impl<T> Sync for RChunksMut<'_, T>
where T: Sync,

1.0.0 · Source§

impl<T> Sync for AtomicPtr<T>

Source§

impl<T> Sync for Exclusive<T>
where T: ?Sized,

Source§

impl<T> Sync for std::sync::mpmc::Receiver<T>
where T: Send,

Source§

impl<T> Sync for std::sync::mpmc::Sender<T>
where T: Send,

1.72.0 · Source§

impl<T> Sync for std::sync::mpsc::Sender<T>
where T: Send,

Source§

impl<T> Sync for std::sync::nonpoison::mutex::MappedMutexGuard<'_, T>
where T: Sync + ?Sized,

Source§

impl<T> Sync for std::sync::nonpoison::mutex::Mutex<T>
where T: Send + ?Sized,

T must be Send for Mutex to be Sync. This ensures that the protected data can be accessed safely from multiple threads without causing data races or other unsafe behavior.

Mutex<T> provides mutable access to T to one thread at a time. However, it’s essential for T to be Send because it’s not safe for non-Send structures to be accessed in this manner. For instance, consider Rc, a non-atomic reference counted smart pointer, which is not Send. With Rc, we can have multiple copies pointing to the same heap allocation with a non-atomic reference count. If we were to use Mutex<Rc<_>>, it would only protect one instance of Rc from shared access, leaving other copies vulnerable to potential data races.

Also note that it is not necessary for T to be Sync as &T is only made available to one thread at a time if T is not Sync.

Source§

impl<T> Sync for std::sync::nonpoison::mutex::MutexGuard<'_, T>
where T: Sync + ?Sized,

T must be Sync for a MutexGuard<T> to be Sync because it is possible to get a &T from &MutexGuard (via Deref).

Source§

impl<T> Sync for std::sync::nonpoison::rwlock::MappedRwLockReadGuard<'_, T>
where T: Sync + ?Sized,

Source§

impl<T> Sync for std::sync::nonpoison::rwlock::MappedRwLockWriteGuard<'_, T>
where T: Sync + ?Sized,

Source§

impl<T> Sync for std::sync::nonpoison::rwlock::RwLock<T>
where T: Send + Sync + ?Sized,

Source§

impl<T> Sync for std::sync::nonpoison::rwlock::RwLockReadGuard<'_, T>
where T: Sync + ?Sized,

Source§

impl<T> Sync for std::sync::nonpoison::rwlock::RwLockWriteGuard<'_, T>
where T: Sync + ?Sized,

1.70.0 · Source§

impl<T> Sync for OnceLock<T>
where T: Sync + Send,

Source§

impl<T> Sync for std::sync::poison::mutex::MappedMutexGuard<'_, T>
where T: Sync + ?Sized,

1.0.0 · Source§

impl<T> Sync for std::sync::poison::mutex::Mutex<T>
where T: Send + ?Sized,

T must be Send for Mutex to be Sync. This ensures that the protected data can be accessed safely from multiple threads without causing data races or other unsafe behavior.

Mutex<T> provides mutable access to T to one thread at a time. However, it’s essential for T to be Send because it’s not safe for non-Send structures to be accessed in this manner. For instance, consider Rc, a non-atomic reference counted smart pointer, which is not Send. With Rc, we can have multiple copies pointing to the same heap allocation with a non-atomic reference count. If we were to use Mutex<Rc<_>>, it would only protect one instance of Rc from shared access, leaving other copies vulnerable to potential data races.

Also note that it is not necessary for T to be Sync as &T is only made available to one thread at a time if T is not Sync.

1.19.0 · Source§

impl<T> Sync for std::sync::poison::mutex::MutexGuard<'_, T>
where T: Sync + ?Sized,

T must be Sync for a MutexGuard<T> to be Sync because it is possible to get a &T from &MutexGuard (via Deref).

Source§

impl<T> Sync for std::sync::poison::rwlock::MappedRwLockReadGuard<'_, T>
where T: Sync + ?Sized,

Source§

impl<T> Sync for std::sync::poison::rwlock::MappedRwLockWriteGuard<'_, T>
where T: Sync + ?Sized,

1.0.0 · Source§

impl<T> Sync for std::sync::poison::rwlock::RwLock<T>
where T: Send + Sync + ?Sized,

1.23.0 · Source§

impl<T> Sync for std::sync::poison::rwlock::RwLockReadGuard<'_, T>
where T: Sync + ?Sized,

1.23.0 · Source§

impl<T> Sync for std::sync::poison::rwlock::RwLockWriteGuard<'_, T>
where T: Sync + ?Sized,

Source§

impl<T> Sync for ReentrantLock<T>
where T: Send + ?Sized,

Source§

impl<T> Sync for ReentrantLockGuard<'_, T>
where T: Sync + ?Sized,

1.29.0 · Source§

impl<T> Sync for std::thread::JoinHandle<T>

Source§

impl<T> Sync for futures_util::lock::mutex::Mutex<T>
where T: Send + ?Sized,

Source§

impl<T> Sync for futures_util::lock::mutex::MutexGuard<'_, T>
where T: Sync + ?Sized,

Source§

impl<T> Sync for MutexLockFuture<'_, T>
where T: ?Sized,

Source§

impl<T> Sync for futures_util::lock::mutex::OwnedMutexGuard<T>
where T: Sync + ?Sized,

Source§

impl<T> Sync for OwnedMutexLockFuture<T>
where T: ?Sized,

Source§

impl<T> Sync for IoVec<T>
where T: Sync,

Source§

impl<T> Sync for OnceBox<T>
where T: Sync + Send,

Source§

impl<T> Sync for Dh<T>

Source§

impl<T> Sync for DhRef<T>

Source§

impl<T> Sync for Dsa<T>

Source§

impl<T> Sync for DsaRef<T>

Source§

impl<T> Sync for EcKey<T>

Source§

impl<T> Sync for EcKeyRef<T>

Source§

impl<T> Sync for PKey<T>

Source§

impl<T> Sync for PKeyRef<T>

Source§

impl<T> Sync for PkeyCtx<T>

Source§

impl<T> Sync for PkeyCtxRef<T>

Source§

impl<T> Sync for Rsa<T>

Source§

impl<T> Sync for RsaRef<T>

Source§

impl<T> Sync for Stack<T>
where T: Stackable + Sync,

Source§

impl<T> Sync for StackRef<T>
where T: Stackable + Sync,

Source§

impl<T> Sync for X509Lookup<T>

Source§

impl<T> Sync for X509LookupMethod<T>

Source§

impl<T> Sync for X509LookupMethodRef<T>

Source§

impl<T> Sync for X509LookupRef<T>

Source§

impl<T> Sync for SyncWrapper<T>

Source§

impl<T> Sync for tokio_stream::empty::Empty<T>

Source§

impl<T> Sync for tokio_stream::pending::Pending<T>

Source§

impl<T> Sync for ReusableBoxFuture<'_, T>

Source§

impl<T> Sync for ReadHalf<T>
where T: Sync,

Source§

impl<T> Sync for WriteHalf<T>
where T: Sync,

Source§

impl<T> Sync for tokio::runtime::task::join::JoinHandle<T>
where T: Send,

Source§

impl<T> Sync for tokio::sync::mutex::Mutex<T>
where T: Send + ?Sized,

Source§

impl<T> Sync for tokio::sync::mutex::MutexGuard<'_, T>
where T: Send + Sync + ?Sized,

Source§

impl<T> Sync for tokio::sync::mutex::OwnedMutexGuard<T>
where T: Send + Sync + ?Sized,

Source§

impl<T> Sync for tokio::sync::once_cell::OnceCell<T>
where T: Sync + Send,

Source§

impl<T> Sync for OwnedRwLockWriteGuard<T>
where T: Send + Sync + ?Sized,

Source§

impl<T> Sync for tokio::sync::rwlock::read_guard::RwLockReadGuard<'_, T>
where T: Send + Sync + ?Sized,

Source§

impl<T> Sync for tokio::sync::rwlock::RwLock<T>
where T: Send + Sync + ?Sized,

Source§

impl<T> Sync for tokio::sync::rwlock::write_guard::RwLockWriteGuard<'_, T>
where T: Send + Sync + ?Sized,

Source§

impl<T> Sync for RwLockMappedWriteGuard<'_, T>
where T: Send + Sync + ?Sized,

Source§

impl<T> Sync for SetOnce<T>
where T: Sync + Send,

1.0.0 · Source§

impl<T, A> !Sync for Rc<T, A>
where A: Allocator, T: ?Sized,

Source§

impl<T, A> !Sync for UniqueRc<T, A>
where A: Allocator, T: ?Sized,

1.4.0 · Source§

impl<T, A> !Sync for datex_core::without_std::rc::Weak<T, A>
where A: Allocator, T: ?Sized,

Source§

impl<T, A> Sync for datex_core::without_std::collections::linked_list::Cursor<'_, T, A>
where T: Sync, A: Allocator + Sync,

Source§

impl<T, A> Sync for datex_core::without_std::collections::linked_list::CursorMut<'_, T, A>
where T: Sync, A: Allocator + Sync,

1.0.0 · Source§

impl<T, A> Sync for LinkedList<T, A>
where T: Sync, A: Allocator + Sync,

1.6.0 · Source§

impl<T, A> Sync for datex_core::without_std::collections::vec_deque::Drain<'_, T, A>
where T: Sync, A: Allocator + Sync,

1.6.0 · Source§

impl<T, A> Sync for datex_core::without_std::prelude::vec::Drain<'_, T, A>
where T: Sync, A: Sync + Allocator,

1.0.0 · Source§

impl<T, A> Sync for datex_core::without_std::prelude::vec::IntoIter<T, A>
where T: Sync, A: Allocator + Sync,

1.0.0 · Source§

impl<T, A> Sync for Arc<T, A>
where T: Sync + Send + ?Sized, A: Allocator + Sync,

Source§

impl<T, A> Sync for UniqueArc<T, A>
where T: Sync + Send + ?Sized, A: Allocator + Sync,

1.4.0 · Source§

impl<T, A> Sync for datex_core::without_std::sync::Weak<T, A>
where T: Sync + Send + ?Sized, A: Allocator + Sync,

Source§

impl<T, A> Sync for allocator_api2::stable::boxed::Box<T, A>
where A: Allocator + Sync, T: Sync + ?Sized,

Source§

impl<T, A> Sync for allocator_api2::stable::vec::drain::Drain<'_, T, A>
where T: Sync, A: Sync + Allocator,

Source§

impl<T, A> Sync for allocator_api2::stable::vec::into_iter::IntoIter<T, A>
where T: Sync, A: Allocator + Sync,

Source§

impl<T, A> Sync for hashbrown::table::OccupiedEntry<'_, T, A>
where T: Sync, A: Sync + Allocator,

Source§

impl<T, A> Sync for hashbrown::table::OccupiedEntry<'_, T, A>
where T: Sync, A: Sync + Allocator,

1.80.0 · Source§

impl<T, F> Sync for LazyLock<T, F>
where T: Sync + Send, F: Send,

Source§

impl<T, F> Sync for Lazy<T, F>
where F: Send, OnceCell<T>: Sync,

Source§

impl<T, F, S> Sync for ScopeGuard<T, F, S>
where T: Sync, F: FnOnce(T), S: Strategy,

Source§

impl<T, N> Sync for GenericArray<T, N>
where T: Sync, N: ArrayLength<T>,

Source§

impl<T, U> Sync for futures_util::lock::mutex::MappedMutexGuard<'_, T, U>
where T: Sync + ?Sized, U: Sync + ?Sized,

Source§

impl<T, U> Sync for OwnedMappedMutexGuard<T, U>
where T: Send + Sync + ?Sized, U: Send + Sync + ?Sized,

Source§

impl<T, U> Sync for OwnedRwLockReadGuard<T, U>
where T: Send + Sync + ?Sized, U: Send + Sync + ?Sized,

Source§

impl<T, U> Sync for OwnedRwLockMappedWriteGuard<T, U>
where T: Send + Sync + ?Sized, U: Send + Sync + ?Sized,

Auto implementors§

§

impl !Sync for ApplyOperation

§

impl !Sync for DatexExpression

§

impl !Sync for StaticValueOrDXB

§

impl !Sync for CompilerError

§

impl !Sync for DIFApplyError

§

impl !Sync for DIFUpdateError

§

impl !Sync for AssignmentError

§

impl !Sync for Reference

§

impl !Sync for TypeError

§

impl !Sync for ExecutionError

§

impl !Sync for ExecutionStep

§

impl !Sync for InterruptProvider

§

impl !Sync for ExecutionContext

§

impl !Sync for ScriptExecutionError

§

impl !Sync for DeserializationError

§

impl !Sync for SerializationError

§

impl !Sync for CollectionTypeDefinition

§

impl !Sync for TypeDefinition

§

impl !Sync for StructuralTypeDefinition

§

impl !Sync for TypeContainer

§

impl !Sync for CoreValue

§

impl !Sync for datex_core::values::core_values::map::Map

§

impl !Sync for OwnedMapKey

§

impl !Sync for ValueContainer

§

impl !Sync for DatexParseResult

§

impl !Sync for Statement

§

impl !Sync for CompilationScope

§

impl !Sync for PrecompilerData

§

impl !Sync for BlockHandler

§

impl !Sync for ComHub

§

impl !Sync for ComInterfaceInfo

§

impl !Sync for BaseInterface

§

impl !Sync for HTTPServerNativeInterface

§

impl !Sync for LocalLoopbackInterface

§

impl !Sync for SerialNativeInterface

§

impl !Sync for TCPClientNativeInterface

§

impl !Sync for TCPServerNativeInterface

§

impl !Sync for WebRTCCommon

§

impl !Sync for WebRTCNativeInterface

§

impl !Sync for WebSocketClientNativeInterface

§

impl !Sync for WebSocketServerNativeInterface

§

impl !Sync for Observer

§

impl !Sync for TypeReference

§

impl !Sync for ValueReference

§

impl !Sync for MemoryDump

§

impl !Sync for RuntimeExecutionContext

§

impl !Sync for LocalExecutionContext

§

impl !Sync for RemoteExecutionContext

§

impl !Sync for Memory

§

impl !Sync for Runtime

§

impl !Sync for RuntimeConfig

§

impl !Sync for RuntimeConfigInterface

§

impl !Sync for RuntimeInternal

§

impl !Sync for DatexDeserializer

§

impl !Sync for MapSerializer

§

impl !Sync for SeqSerializer

§

impl !Sync for StructSerializer

§

impl !Sync for StructVariantSerializer

§

impl !Sync for TupleSerializer

§

impl !Sync for TupleStructSerializer

§

impl !Sync for TupleVariantSerializer

§

impl !Sync for List

§

impl !Sync for IntoMapIterator

§

impl !Sync for Type

§

impl !Sync for Value

§

impl !Sync for RawWaker

§

impl Sync for AssignmentOperator

§

impl Sync for ArithmeticOperator

§

impl Sync for BinaryOperator

§

impl Sync for BitwiseOperator

§

impl Sync for LogicalOperator

§

impl Sync for ComparisonOperator

§

impl Sync for Slot

§

impl Sync for TypeExpression

§

impl Sync for VariableKind

§

impl Sync for ErrorKind

§

impl Sync for SpanOrToken

§

impl Sync for Pattern

§

impl Sync for Token

§

impl Sync for ArithmeticUnaryOperator

§

impl Sync for BitwiseUnaryOperator

§

impl Sync for LogicalUnaryOperator

§

impl Sync for ReferenceUnaryOperator

§

impl Sync for UnaryOperator

§

impl Sync for VariableModel

§

impl Sync for VariableRepresentation

§

impl Sync for CryptoError

§

impl Sync for Formatting

§

impl Sync for ScopeType

§

impl Sync for DIFCreatePointerError

§

impl Sync for DIFObserveError

§

impl Sync for DIFResolveReferenceError

§

impl Sync for DIFTypeRepresentation

§

impl Sync for DIFValueRepresentation

§

impl Sync for DIFTypeContainer

§

impl Sync for DIFTypeDefinition

§

impl Sync for DIFProperty

§

impl Sync for DIFUpdateData

§

impl Sync for DIFValueContainer

§

impl Sync for HeaderParsingError

§

impl Sync for IncomingSection

§

impl Sync for InstructionCode

§

impl Sync for BlockType

§

impl Sync for UserAgent

§

impl Sync for Instruction

§

impl Sync for TypeInstruction

§

impl Sync for EncryptionType

§

impl Sync for ReceiverType

§

impl Sync for Receivers

§

impl Sync for SignatureType

§

impl Sync for InternalSlot

§

impl Sync for TypeSpaceInstructionCode

§

impl Sync for CoreLibPointerId

§

impl Sync for ComHubError

§

impl Sync for InterfacePriority

§

impl Sync for Response

§

impl Sync for ResponseError

§

impl Sync for ResponseResolutionStrategy

§

impl Sync for ResponseTimeout

§

impl Sync for SocketEndpointRegistrationError

§

impl Sync for NetworkTraceHopDirection

§

impl Sync for ComInterfaceError

§

impl Sync for ComInterfaceState

§

impl Sync for InterfaceDirection

§

impl Sync for ReconnectionConfig

§

impl Sync for SocketState

§

impl Sync for BaseInterfaceError

§

impl Sync for HTTPError

§

impl Sync for SerialError

§

impl Sync for TCPError

§

impl Sync for MediaKind

§

impl Sync for MediaTrackCodec

§

impl Sync for RTCSdpTypeDX

§

impl Sync for WebRTCError

§

impl Sync for URLError

§

impl Sync for WebSocketError

§

impl Sync for WebSocketServerError

§

impl Sync for ObserverError

§

impl Sync for AccessError

§

impl Sync for ReferenceCreationError

§

impl Sync for ReferenceMutability

§

impl Sync for InvalidProgramError

§

impl Sync for IllegalTypeError

§

impl Sync for Color

§

impl Sync for BigDecimalType

§

impl Sync for datex_core::values::core_values::decimal::Decimal

§

impl Sync for DecimalTypeVariant

§

impl Sync for TypedDecimal

§

impl Sync for EndpointInstance

§

impl Sync for EndpointType

§

impl Sync for InvalidEndpointError

§

impl Sync for NumberParseError

§

impl Sync for IntegerTypeVariant

§

impl Sync for TypedInteger

§

impl Sync for MapAccessError

§

impl Sync for datex_core::values::pointer::PointerAddress

§

impl Sync for ValueError

§

impl Sync for AsciiChar

§

impl Sync for datex_core::without_std::cmp::Ordering

§

impl Sync for TryReserveErrorKind

§

impl Sync for Infallible

§

impl Sync for FromBytesWithNulError

§

impl Sync for c_void

§

impl Sync for datex_core::without_std::fmt::Alignment

§

impl Sync for DebugAsHex

§

impl Sync for datex_core::without_std::fmt::Sign

§

impl Sync for AtomicOrdering

§

impl Sync for BasicBlock

§

impl Sync for UnwindTerminateReason

§

impl Sync for IpAddr

§

impl Sync for Ipv6MulticastScope

§

impl Sync for SocketAddr

§

impl Sync for FpCategory

§

impl Sync for IntErrorKind

§

impl Sync for OneSidedRangeBound

§

impl Sync for GetDisjointMutError

§

impl Sync for SearchStep

§

impl Sync for datex_core::without_std::sync::atomic::Ordering

§

impl Sync for ParseError

§

impl Sync for SrcId

§

impl Sync for Loc

§

impl Sync for VirtualSlot

§

impl Sync for CompileMetadata

§

impl Sync for Variable

§

impl Sync for Crypto

§

impl Sync for CryptoNative

§

impl Sync for DecompileOptions

§

impl Sync for DIFReference

§

impl Sync for DIFStructuralTypeDefinition

§

impl Sync for DIFType

§

impl Sync for DIFUpdate

§

impl Sync for DIFReferenceNotFoundError

§

impl Sync for DIFValue

§

impl Sync for BlockId

§

impl Sync for DXBBlock

§

impl Sync for IncomingEndpointContextId

§

impl Sync for IncomingEndpointContextSectionId

§

impl Sync for BlockHeader

§

impl Sync for FlagsAndTimestamp

§

impl Sync for EncryptedHeader

§

impl Sync for datex_core::global::protocol_structures::encrypted_header::Flags

§

impl Sync for ApplyData

§

impl Sync for DecimalData

§

impl Sync for ExecutionBlockData

§

impl Sync for Float32Data

§

impl Sync for Float64Data

§

impl Sync for FloatAsInt16Data

§

impl Sync for FloatAsInt32Data

§

impl Sync for GetOrCreateRefData

§

impl Sync for InstructionCloseAndStore

§

impl Sync for Int8Data

§

impl Sync for Int16Data

§

impl Sync for Int32Data

§

impl Sync for Int64Data

§

impl Sync for Int128Data

§

impl Sync for IntegerData

§

impl Sync for RawFullPointerAddress

§

impl Sync for RawInternalPointerAddress

§

impl Sync for RawLocalPointerAddress

§

impl Sync for ShortTextData

§

impl Sync for ShortTextDataRaw

§

impl Sync for SlotAddress

§

impl Sync for TextData

§

impl Sync for TextDataRaw

§

impl Sync for UInt8Data

§

impl Sync for UInt16Data

§

impl Sync for UInt32Data

§

impl Sync for UInt64Data

§

impl Sync for UInt128Data

§

impl Sync for datex_core::global::protocol_structures::routing_header::Flags

§

impl Sync for Key512

§

impl Sync for datex_core::global::protocol_structures::routing_header::PointerAddress

§

impl Sync for ReceiverEndpoints

§

impl Sync for ReceiverEndpointsWithKeys

§

impl Sync for RoutingHeader

§

impl Sync for BlockHistoryData

§

impl Sync for ScopeContext

§

impl Sync for ComHubOptions

§

impl Sync for DynamicEndpointProperties

§

impl Sync for ResponseOptions

§

impl Sync for NetworkTraceHop

§

impl Sync for NetworkTraceHopSocket

§

impl Sync for NetworkTraceResult

§

impl Sync for TraceOptions

§

impl Sync for ComInterfaceSockets

§

impl Sync for ComInterfaceUUID

§

impl Sync for InterfaceProperties

§

impl Sync for ComInterfaceSocket

§

impl Sync for ComInterfaceSocketUUID

§

impl Sync for BaseInterfaceSetupData

§

impl Sync for SerialInterfaceSetupData

§

impl Sync for TCPClientInterfaceSetupData

§

impl Sync for TCPServerInterfaceSetupData

§

impl Sync for RTCIceCandidateInitDX

§

impl Sync for RTCIceServer

§

impl Sync for RTCSessionDescriptionDX

§

impl Sync for WebRTCInterfaceSetupData

§

impl Sync for WebSocketClientInterfaceSetupData

§

impl Sync for WebSocketServerInterfaceSetupData

§

impl Sync for ObserveOptions

§

impl Sync for NominalTypeDeclaration

§

impl Sync for ExecutionOptions

§

impl Sync for GlobalContext

§

impl Sync for DatexSerializer

§

impl Sync for AnsiCodes

§

impl Sync for Time

§

impl Sync for TimeNative

§

impl Sync for UUID

§

impl Sync for Boolean

§

impl Sync for Rational

§

impl Sync for DecimalTypeVariantIter

§

impl Sync for Endpoint

§

impl Sync for EndpointParsingError

§

impl Sync for Integer

§

impl Sync for IntegerTypeVariantIter

§

impl Sync for Text

§

impl Sync for AllocError

§

impl Sync for Global

§

impl Sync for Layout

§

impl Sync for LayoutError

§

impl Sync for CpuidResult

§

impl Sync for __m128

§

impl Sync for __m128bh

§

impl Sync for __m128d

§

impl Sync for __m128h

§

impl Sync for __m128i

§

impl Sync for __m256

§

impl Sync for __m256bh

§

impl Sync for __m256d

§

impl Sync for __m256h

§

impl Sync for __m256i

§

impl Sync for __m512

§

impl Sync for __m512bh

§

impl Sync for __m512d

§

impl Sync for __m512h

§

impl Sync for __m512i

§

impl Sync for bf16

§

impl Sync for TryFromSliceError

§

impl Sync for datex_core::without_std::ascii::EscapeDefault

§

impl Sync for BorrowError

§

impl Sync for BorrowMutError

§

impl Sync for CharTryFromError

§

impl Sync for DecodeUtf16Error

§

impl Sync for datex_core::without_std::char::EscapeDebug

§

impl Sync for datex_core::without_std::char::EscapeDefault

§

impl Sync for datex_core::without_std::char::EscapeUnicode

§

impl Sync for ParseCharError

§

impl Sync for ToLowercase

§

impl Sync for ToUppercase

§

impl Sync for TryFromCharError

§

impl Sync for UnorderedKeyError

§

impl Sync for TryReserveError

§

impl Sync for CStr

§

impl Sync for CString

§

impl Sync for FromBytesUntilNulError

§

impl Sync for FromVecWithNulError

§

impl Sync for IntoStringError

§

impl Sync for NulError

§

impl Sync for datex_core::without_std::fmt::Error

§

impl Sync for FormattingOptions

§

impl Sync for SipHasher

§

impl Sync for ReturnToArg

§

impl Sync for UnwindActionArg

§

impl Sync for Assume

§

impl Sync for AddrParseError

§

impl Sync for Ipv4Addr

§

impl Sync for Ipv6Addr

§

impl Sync for SocketAddrV4

§

impl Sync for SocketAddrV6

§

impl Sync for ParseFloatError

§

impl Sync for ParseIntError

§

impl Sync for TryFromIntError

§

impl Sync for RangeFull

§

impl Sync for String

§

impl Sync for datex_core::without_std::ptr::Alignment

§

impl Sync for ParseBoolError

§

impl Sync for Utf8Error

§

impl Sync for FromUtf8Error

§

impl Sync for FromUtf16Error

§

impl Sync for IntoChars

§

impl Sync for RawWakerVTable

§

impl Sync for Duration

§

impl Sync for TryFromFloatSecsError

§

impl Sync for PhantomPinned

§

impl Sync for Big8x3

§

impl Sync for Big32x40

§

impl Sync for CodePointInner

§

impl Sync for Decimal

§

impl Sync for DecimalSeq

§

impl Sync for Decoded

§

impl Sync for FullDecoded

§

impl Sync for I32NotAllOnes

§

impl Sync for I64NotAllOnes

§

impl Sync for Nanoseconds

§

impl Sync for NonZeroCharInner

§

impl Sync for NonZeroI8Inner

§

impl Sync for NonZeroI16Inner

§

impl Sync for NonZeroI32Inner

§

impl Sync for NonZeroI64Inner

§

impl Sync for NonZeroI128Inner

§

impl Sync for NonZeroIsizeInner

§

impl Sync for NonZeroU8Inner

§

impl Sync for NonZeroU16Inner

§

impl Sync for NonZeroU32Inner

§

impl Sync for NonZeroU64Inner

§

impl Sync for NonZeroU128Inner

§

impl Sync for NonZeroUsizeInner

§

impl Sync for Sign

§

impl Sync for U32NotAllOnes

§

impl Sync for U64NotAllOnes

§

impl Sync for UsizeNoHighBit

§

impl<'a> !Sync for MapKey<'a>

§

impl<'a> !Sync for MapMutIterator<'a>

§

impl<'a> !Sync for CompilationContext<'a>

§

impl<'a> !Sync for CompileOptions<'a>

§

impl<'a> !Sync for ExecutionInput<'a>

§

impl<'a> !Sync for MapIterator<'a>

§

impl<'a> !Sync for Request<'a>

§

impl<'a> !Sync for Source<'a>

§

impl<'a> !Sync for Formatter<'a>

§

impl<'a> !Sync for PanicInfo<'a>

§

impl<'a> !Sync for PanicMessage<'a>

§

impl<'a> !Sync for Context<'a>

§

impl<'a> !Sync for ContextBuilder<'a>

§

impl<'a> Sync for Utf8Pattern<'a>

§

impl<'a> Sync for BorrowedCursor<'a>

§

impl<'a> Sync for EscapeAscii<'a>

§

impl<'a> Sync for CharSearcher<'a>

§

impl<'a> Sync for datex_core::without_std::str::Bytes<'a>

§

impl<'a> Sync for CharIndices<'a>

§

impl<'a> Sync for Chars<'a>

§

impl<'a> Sync for EncodeUtf16<'a>

§

impl<'a> Sync for datex_core::without_std::str::EscapeDebug<'a>

§

impl<'a> Sync for datex_core::without_std::str::EscapeDefault<'a>

§

impl<'a> Sync for datex_core::without_std::str::EscapeUnicode<'a>

§

impl<'a> Sync for Lines<'a>

§

impl<'a> Sync for LinesAny<'a>

§

impl<'a> Sync for SplitAsciiWhitespace<'a>

§

impl<'a> Sync for SplitWhitespace<'a>

§

impl<'a> Sync for Utf8Chunk<'a>

§

impl<'a> Sync for Utf8Chunks<'a>

§

impl<'a> Sync for PhantomContravariantLifetime<'a>

§

impl<'a> Sync for PhantomCovariantLifetime<'a>

§

impl<'a> Sync for PhantomInvariantLifetime<'a>

§

impl<'a> Sync for Formatted<'a>

§

impl<'a> Sync for Part<'a>

§

impl<'a, 'b> !Sync for DebugList<'a, 'b>

§

impl<'a, 'b> !Sync for DebugMap<'a, 'b>

§

impl<'a, 'b> !Sync for DebugSet<'a, 'b>

§

impl<'a, 'b> !Sync for DebugStruct<'a, 'b>

§

impl<'a, 'b> !Sync for DebugTuple<'a, 'b>

§

impl<'a, 'b> Sync for CharSliceSearcher<'a, 'b>

§

impl<'a, 'b> Sync for StrSearcher<'a, 'b>

§

impl<'a, 'b, const N: usize> Sync for CharArrayRefSearcher<'a, 'b, N>

§

impl<'a, 'f> !Sync for VaList<'a, 'f>

§

impl<'a, A> Sync for datex_core::without_std::option::Iter<'a, A>
where A: Sync,

§

impl<'a, A> Sync for datex_core::without_std::option::IterMut<'a, A>
where A: Sync,

§

impl<'a, B> Sync for Cow<'a, B>
where <B as ToOwned>::Owned: Sync, B: Sync + ?Sized,

§

impl<'a, F> Sync for CharPredicateSearcher<'a, F>
where F: Sync,

§

impl<'a, I> Sync for ByRefSized<'a, I>
where I: Sync,

§

impl<'a, I, A> Sync for Splice<'a, I, A>
where I: Sync, <I as Iterator>::Item: Sync, A: Sync,

§

impl<'a, K> Sync for datex_core::without_std::collections::btree_set::Cursor<'a, K>
where K: Sync,

§

impl<'a, K, A> Sync for datex_core::without_std::collections::btree_set::CursorMut<'a, K, A>
where A: Sync, K: Sync,

§

impl<'a, K, A> Sync for datex_core::without_std::collections::btree_set::CursorMutKey<'a, K, A>
where A: Sync, K: Sync,

§

impl<'a, K, V> Sync for datex_core::without_std::collections::btree_map::Cursor<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Sync for datex_core::without_std::collections::btree_map::Iter<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Sync for datex_core::without_std::collections::btree_map::IterMut<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Sync for Keys<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Sync for datex_core::without_std::collections::btree_map::Range<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Sync for RangeMut<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Sync for Values<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Sync for ValuesMut<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V, A> Sync for datex_core::without_std::collections::btree_map::Entry<'a, K, V, A>
where K: Sync, A: Sync, V: Sync,

§

impl<'a, K, V, A> Sync for datex_core::without_std::collections::btree_map::CursorMut<'a, K, V, A>
where A: Sync, K: Sync, V: Sync,

§

impl<'a, K, V, A> Sync for datex_core::without_std::collections::btree_map::CursorMutKey<'a, K, V, A>
where A: Sync, K: Sync, V: Sync,

§

impl<'a, K, V, A> Sync for datex_core::without_std::collections::btree_map::OccupiedEntry<'a, K, V, A>
where A: Sync, K: Sync, V: Sync,

§

impl<'a, K, V, A> Sync for OccupiedError<'a, K, V, A>
where V: Sync, A: Sync, K: Sync,

§

impl<'a, K, V, A> Sync for datex_core::without_std::collections::btree_map::VacantEntry<'a, K, V, A>
where K: Sync, A: Sync, V: Sync,

§

impl<'a, K, V, R, F, A> Sync for datex_core::without_std::collections::btree_map::ExtractIf<'a, K, V, R, F, A>
where F: Sync, A: Sync, R: Sync, K: Sync, V: Sync,

§

impl<'a, P> Sync for MatchIndices<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, P> Sync for Matches<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, P> Sync for RMatchIndices<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, P> Sync for RMatches<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, P> Sync for datex_core::without_std::str::RSplit<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, P> Sync for datex_core::without_std::str::RSplitN<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, P> Sync for RSplitTerminator<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, P> Sync for datex_core::without_std::str::Split<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, P> Sync for datex_core::without_std::str::SplitInclusive<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, P> Sync for datex_core::without_std::str::SplitN<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, P> Sync for SplitTerminator<'a, P>
where <P as Pattern>::Searcher<'a>: Sync,

§

impl<'a, T> Sync for datex_core::without_std::collections::binary_heap::Iter<'a, T>
where T: Sync,

§

impl<'a, T> Sync for datex_core::without_std::collections::btree_set::Iter<'a, T>
where T: Sync,

§

impl<'a, T> Sync for datex_core::without_std::collections::btree_set::Range<'a, T>
where T: Sync,

§

impl<'a, T> Sync for SymmetricDifference<'a, T>
where T: Sync,

§

impl<'a, T> Sync for Union<'a, T>
where T: Sync,

§

impl<'a, T> Sync for datex_core::without_std::collections::vec_deque::Iter<'a, T>
where T: Sync,

§

impl<'a, T> Sync for datex_core::without_std::collections::vec_deque::IterMut<'a, T>
where T: Sync,

§

impl<'a, T> Sync for datex_core::without_std::result::Iter<'a, T>
where T: Sync,

§

impl<'a, T> Sync for datex_core::without_std::result::IterMut<'a, T>
where T: Sync,

§

impl<'a, T> Sync for Chunks<'a, T>
where T: Sync,

§

impl<'a, T> Sync for ChunksExact<'a, T>
where T: Sync,

§

impl<'a, T> Sync for RChunks<'a, T>
where T: Sync,

§

impl<'a, T> Sync for RChunksExact<'a, T>
where T: Sync,

§

impl<'a, T> Sync for Windows<'a, T>
where T: Sync,

§

impl<'a, T, A> Sync for datex_core::without_std::collections::btree_set::Entry<'a, T, A>
where A: Sync, T: Sync,

§

impl<'a, T, A> Sync for datex_core::without_std::collections::binary_heap::Drain<'a, T, A>
where T: Sync, A: Sync,

§

impl<'a, T, A> Sync for DrainSorted<'a, T, A>
where A: Sync, T: Sync,

§

impl<'a, T, A> Sync for datex_core::without_std::collections::binary_heap::PeekMut<'a, T, A>
where A: Sync, T: Sync,

§

impl<'a, T, A> Sync for Difference<'a, T, A>
where T: Sync, A: Sync,

§

impl<'a, T, A> Sync for Intersection<'a, T, A>
where T: Sync, A: Sync,

§

impl<'a, T, A> Sync for datex_core::without_std::collections::btree_set::OccupiedEntry<'a, T, A>
where A: Sync, T: Sync,

§

impl<'a, T, A> Sync for datex_core::without_std::collections::btree_set::VacantEntry<'a, T, A>
where T: Sync, A: Sync,

§

impl<'a, T, A> Sync for datex_core::without_std::prelude::vec::PeekMut<'a, T, A>
where A: Sync, T: Sync,

§

impl<'a, T, F, A = Global> !Sync for datex_core::without_std::collections::linked_list::ExtractIf<'a, T, F, A>

§

impl<'a, T, F, A> Sync for datex_core::without_std::prelude::vec::ExtractIf<'a, T, F, A>
where F: Sync, A: Sync, T: Sync,

§

impl<'a, T, P> Sync for ChunkBy<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for ChunkByMut<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for datex_core::without_std::slice::RSplit<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for RSplitMut<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for datex_core::without_std::slice::RSplitN<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for RSplitNMut<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for datex_core::without_std::slice::Split<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for datex_core::without_std::slice::SplitInclusive<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for SplitInclusiveMut<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for SplitMut<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for datex_core::without_std::slice::SplitN<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, P> Sync for SplitNMut<'a, T, P>
where P: Sync, T: Sync,

§

impl<'a, T, R, F, A> Sync for datex_core::without_std::collections::btree_set::ExtractIf<'a, T, R, F, A>
where F: Sync, A: Sync, R: Sync, T: Sync,

§

impl<'a, T, const N: usize> Sync for ArrayWindows<'a, T, N>
where T: Sync,

§

impl<'a, const N: usize> Sync for CharArraySearcher<'a, N>

§

impl<'b, T> !Sync for Ref<'b, T>

§

impl<'b, T> !Sync for RefMut<'b, T>

§

impl<'data> Sync for BorrowedBuf<'data>

§

impl<'f> !Sync for VaListImpl<'f>

§

impl<A> Sync for Repeat<A>
where A: Sync,

§

impl<A> Sync for RepeatN<A>
where A: Sync,

§

impl<A> Sync for datex_core::without_std::option::IntoIter<A>
where A: Sync,

§

impl<A> Sync for IterRange<A>
where A: Sync,

§

impl<A> Sync for IterRangeFrom<A>
where A: Sync,

§

impl<A> Sync for IterRangeInclusive<A>
where A: Sync,

§

impl<A, B> Sync for Chain<A, B>
where A: Sync, B: Sync,

§

impl<A, B> Sync for Zip<A, B>
where A: Sync, B: Sync,

§

impl<B, C> Sync for ControlFlow<B, C>
where C: Sync, B: Sync,

§

impl<F> Sync for datex_core::without_std::fmt::FromFn<F>
where F: Sync,

§

impl<F> Sync for PollFn<F>
where F: Sync,

§

impl<F> Sync for datex_core::without_std::iter::FromFn<F>
where F: Sync,

§

impl<F> Sync for OnceWith<F>
where F: Sync,

§

impl<F> Sync for RepeatWith<F>
where F: Sync,

§

impl<G> Sync for FromCoroutine<G>
where G: Sync,

§

impl<H> Sync for BuildHasherDefault<H>

§

impl<I> Sync for FromIter<I>
where I: Sync,

§

impl<I> Sync for DecodeUtf16<I>
where I: Sync,

§

impl<I> Sync for Cloned<I>
where I: Sync,

§

impl<I> Sync for Copied<I>
where I: Sync,

§

impl<I> Sync for Cycle<I>
where I: Sync,

§

impl<I> Sync for Enumerate<I>
where I: Sync,

§

impl<I> Sync for Flatten<I>
where <<I as Iterator>::Item as IntoIterator>::IntoIter: Sync, I: Sync,

§

impl<I> Sync for Fuse<I>
where I: Sync,

§

impl<I> Sync for Intersperse<I>
where <I as Iterator>::Item: Sized + Sync, I: Sync,

§

impl<I> Sync for Peekable<I>
where I: Sync, <I as Iterator>::Item: Sync,

§

impl<I> Sync for Skip<I>
where I: Sync,

§

impl<I> Sync for StepBy<I>
where I: Sync,

§

impl<I> Sync for Take<I>
where I: Sync,

§

impl<I, F> Sync for FilterMap<I, F>
where I: Sync, F: Sync,

§

impl<I, F> Sync for Inspect<I, F>
where I: Sync, F: Sync,

§

impl<I, F> Sync for datex_core::without_std::iter::Map<I, F>
where I: Sync, F: Sync,

§

impl<I, F, const N: usize> Sync for MapWindows<I, F, N>
where F: Sync, I: Sync, <I as Iterator>::Item: Sync,

§

impl<I, G> Sync for IntersperseWith<I, G>
where G: Sync, <I as Iterator>::Item: Sync, I: Sync,

§

impl<I, P> Sync for Filter<I, P>
where I: Sync, P: Sync,

§

impl<I, P> Sync for MapWhile<I, P>
where I: Sync, P: Sync,

§

impl<I, P> Sync for SkipWhile<I, P>
where I: Sync, P: Sync,

§

impl<I, P> Sync for TakeWhile<I, P>
where I: Sync, P: Sync,

§

impl<I, St, F> Sync for Scan<I, St, F>
where I: Sync, F: Sync, St: Sync,

§

impl<I, U, F> Sync for FlatMap<I, U, F>
where <U as IntoIterator>::IntoIter: Sync, I: Sync, F: Sync,

§

impl<I, const N: usize> Sync for ArrayChunks<I, N>
where I: Sync, <I as Iterator>::Item: Sync,

§

impl<Idx> Sync for datex_core::without_std::ops::Range<Idx>
where Idx: Sync,

§

impl<Idx> Sync for datex_core::without_std::ops::RangeFrom<Idx>
where Idx: Sync,

§

impl<Idx> Sync for datex_core::without_std::ops::RangeInclusive<Idx>
where Idx: Sync,

§

impl<Idx> Sync for RangeTo<Idx>
where Idx: Sync,

§

impl<Idx> Sync for datex_core::without_std::ops::RangeToInclusive<Idx>
where Idx: Sync,

§

impl<Idx> Sync for datex_core::without_std::range::Range<Idx>
where Idx: Sync,

§

impl<Idx> Sync for datex_core::without_std::range::RangeFrom<Idx>
where Idx: Sync,

§

impl<Idx> Sync for datex_core::without_std::range::RangeInclusive<Idx>
where Idx: Sync,

§

impl<Idx> Sync for datex_core::without_std::range::RangeToInclusive<Idx>
where Idx: Sync,

§

impl<K, T> Sync for FreeHashMap<K, T>
where K: Sync, T: Sync,

§

impl<K, V, A> Sync for datex_core::without_std::collections::btree_map::IntoIter<K, V, A>
where A: Sync, K: Sync, V: Sync,

§

impl<K, V, A> Sync for IntoKeys<K, V, A>
where A: Sync, K: Sync, V: Sync,

§

impl<K, V, A> Sync for IntoValues<K, V, A>
where A: Sync, K: Sync, V: Sync,

§

impl<K, V, A> Sync for BTreeMap<K, V, A>
where A: Sync, K: Sync, V: Sync,

§

impl<Ptr> Sync for Pin<Ptr>
where Ptr: Sync,

§

impl<T> !Sync for DataChannel<T>

§

impl<T> !Sync for DataChannels<T>

§

impl<T> !Sync for MediaTrack<T>

§

impl<T> !Sync for MediaTracks<T>

§

impl<T> Sync for DeserializeMapOrArray<T>
where T: Sync,

§

impl<T> Sync for Bound<T>
where T: Sync,

§

impl<T> Sync for Option<T>
where T: Sync,

§

impl<T> Sync for Poll<T>
where T: Sync,

§

impl<T> Sync for TypedLiteral<T>
where T: Sync,

§

impl<T> Sync for Reverse<T>
where T: Sync,

§

impl<T> Sync for NumBuffer<T>
where T: Sync,

§

impl<T> Sync for datex_core::without_std::future::Pending<T>

§

impl<T> Sync for Ready<T>
where T: Sync,

§

impl<T> Sync for datex_core::without_std::iter::Empty<T>

§

impl<T> Sync for Once<T>
where T: Sync,

§

impl<T> Sync for Rev<T>
where T: Sync,

§

impl<T> Sync for Discriminant<T>

§

impl<T> Sync for ManuallyDrop<T>
where T: Sync + ?Sized,

§

impl<T> Sync for Saturating<T>
where T: Sync,

§

impl<T> Sync for Wrapping<T>
where T: Sync,

§

impl<T> Sync for Yeet<T>
where T: Sync,

§

impl<T> Sync for AssertUnwindSafe<T>
where T: Sync,

§

impl<T> Sync for datex_core::without_std::result::IntoIter<T>
where T: Sync,

§

impl<T> Sync for PhantomContravariant<T>
where T: ?Sized,

§

impl<T> Sync for PhantomCovariant<T>
where T: ?Sized,

§

impl<T> Sync for PhantomData<T>
where T: Sync + ?Sized,

§

impl<T> Sync for PhantomInvariant<T>
where T: ?Sized,

§

impl<T> Sync for MaybeUninit<T>
where T: Sync,

§

impl<T, A> Sync for datex_core::without_std::collections::binary_heap::IntoIter<T, A>
where T: Sync, A: Sync,

§

impl<T, A> Sync for IntoIterSorted<T, A>
where A: Sync, T: Sync,

§

impl<T, A> Sync for datex_core::without_std::collections::btree_set::IntoIter<T, A>
where A: Sync, T: Sync,

§

impl<T, A> Sync for datex_core::without_std::collections::linked_list::IntoIter<T, A>
where T: Sync, A: Sync,

§

impl<T, A> Sync for BTreeSet<T, A>
where A: Sync, T: Sync,

§

impl<T, A> Sync for BinaryHeap<T, A>
where A: Sync, T: Sync,

§

impl<T, A> Sync for VecDeque<T, A>
where A: Sync, T: Sync,

§

impl<T, A> Sync for datex_core::without_std::collections::vec_deque::IntoIter<T, A>
where A: Sync, T: Sync,

§

impl<T, A> Sync for datex_core::without_std::prelude::Box<T, A>
where A: Sync, T: Sync + ?Sized,

§

impl<T, A> Sync for Vec<T, A>
where A: Sync, T: Sync,

§

impl<T, E> Sync for Result<T, E>
where T: Sync, E: Sync,

§

impl<T, F = fn() -> T> !Sync for LazyCell<T, F>

§

impl<T, F> Sync for Successors<T, F>
where F: Sync, T: Sync,

§

impl<T, F> Sync for DropGuard<T, F>
where T: Sync, F: Sync,

§

impl<T, const N: usize> Sync for datex_core::without_std::array::IntoIter<T, N>
where T: Sync,

§

impl<T, const N: usize> Sync for Mask<T, N>
where T: Sync,

§

impl<T, const N: usize> Sync for Simd<T, N>
where T: Sync,

§

impl<Y, R> Sync for CoroutineState<Y, R>
where Y: Sync, R: Sync,

§

impl<const N: usize> Sync for LaneCount<N>