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.6.0 · Source§

impl Sync for alloc::string::Drain<'_>

1.0.0 · Source§

impl Sync for TypeId

Source§

impl Sync for Bytes<'_>

1.10.0 · Source§

impl Sync for Location<'_>

1.0.0 · Source§

impl Sync for AtomicBool

Available on target_has_atomic_load_store=8 only.
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 ConstGeneric

Source§

impl Sync for ROnce

Source§

impl Sync for SyncUnsend

Source§

impl Sync for NulStr<'_>

Source§

impl Sync for abi_stable::std_types::string::iters::IntoIter

Source§

impl Sync for UTypeId

Source§

impl Sync for SharedVars

Source§

impl Sync for MonoTypeLayout

Source§

impl Sync for TypeLayout

Source§

impl Sync for MonoTLEnum

Source§

impl Sync for TLDiscriminants

Source§

impl Sync for CompTLFields

Source§

impl Sync for TLFunctions

Source§

impl Sync for BoxBytes

Source§

impl Sync for Select<'_>

Source§

impl Sync for Collector

Source§

impl Sync for Unparker

Source§

impl Sync for Scope<'_>

Source§

impl Sync for FT_MemoryRec

Source§

impl Sync for libloading::os::unix::Library

Source§

impl Sync for libloading::os::unix::Library

Source§

impl Sync for libloading::safe::Library

Source§

impl Sync for libloading::safe::Library

Source§

impl Sync for GuardNoSend

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 RStr<'a>

Source§

impl<'a> Sync for abi_stable::std_types::string::iters::Drain<'a>

Source§

impl<'a, 'b, K, Q, V, S, A> Sync for OccupiedEntryRef<'a, 'b, K, Q, V, S, A>
where K: Sync, Q: Sync + ?Sized, V: Sync, S: Sync, A: Sync + Allocator,

Source§

impl<'a, 'i, K, S, M> Sync for dashmap::iter_set::Iter<'i, K, S, M>
where K: 'a + Eq + Hash + Sync, S: 'a + BuildHasher + Clone, M: Map<'a, K, (), S>,

Source§

impl<'a, 'i, K, V, S, M> Sync for dashmap::iter::Iter<'i, K, V, S, M>
where K: 'a + Eq + Hash + Sync, V: 'a + Sync, S: 'a + BuildHasher + Clone, M: Map<'a, K, V, S>,

Source§

impl<'a, 'i, K, V, S, M> Sync for dashmap::iter::IterMut<'i, K, V, S, M>
where K: 'a + Eq + Hash + Sync, V: 'a + Sync, S: 'a + BuildHasher + Clone, M: Map<'a, K, V, S>,

Source§

impl<'a, A, D> Sync for AxisChunksIter<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for AxisChunksIterMut<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for AxisIter<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for AxisIterMut<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for ExactChunks<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for ExactChunksIter<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for ExactChunksIterMut<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for ExactChunksMut<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for IndexedIter<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for IndexedIterMut<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for rssn::prelude::ndarray::iter::Iter<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for rssn::prelude::ndarray::iter::IterMut<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for LanesIter<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for LanesIterMut<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, A, D> Sync for Windows<'a, A, D>
where A: Sync, D: Sync,

Source§

impl<'a, K, V> Sync for dashmap::mapref::entry::OccupiedEntry<'a, K, V>
where K: Eq + Hash + Sync, V: Sync,

Source§

impl<'a, K, V> Sync for VacantEntry<'a, K, V>
where K: Eq + Hash + Sync, V: Sync,

Source§

impl<'a, K, V> Sync for RefMulti<'a, K, V>
where K: Eq + Hash + Sync, V: Sync,

Source§

impl<'a, K, V> Sync for RefMutMulti<'a, K, V>
where K: Eq + Hash + Sync, V: Sync,

Source§

impl<'a, K, V> Sync for Ref<'a, K, V>
where K: Eq + Hash + Sync, V: Sync,

Source§

impl<'a, K, V> Sync for RefMut<'a, K, V>
where K: Eq + Hash + Sync, V: Sync,

Source§

impl<'a, P> Sync for PrefixRef<P>
where P: 'a, &'a WithMetadata_<P, P>: 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 MovePtr<'a, T>
where T: Sync,

Source§

impl<'a, T> Sync for RMut<'a, T>
where &'a T: Sync,

Source§

impl<'a, T> Sync for RRef<'a, T>
where &'a T: Sync,

Source§

impl<'a, T> Sync for StaticRef<T>
where T: 'a, &'a T: Sync,

Source§

impl<'a, T> Sync for RSliceMut<'a, T>
where &'a mut [T]: Sync,

Source§

impl<'a, T> Sync for RSlice<'a, T>
where &'a [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, R, C, RStride, CStride> Sync for rssn::prelude::nalgebra::ViewStorage<'a, T, R, C, RStride, CStride>
where T: Sync, R: Dim, C: Dim, RStride: Dim, CStride: Dim,

Source§

impl<'a, T, R, C, RStride, CStride> Sync for rssn::prelude::nalgebra::ViewStorageMut<'a, T, R, C, RStride, CStride>
where T: Sync, R: Dim, C: Dim, RStride: Dim, CStride: Dim,

Source§

impl<'a, T, R, C, RStride, CStride> Sync for nalgebra::base::matrix_view::ViewStorage<'a, T, R, C, RStride, CStride>
where T: Sync, R: Dim, C: Dim, RStride: Dim, CStride: Dim,

Source§

impl<'a, T, R, C, RStride, CStride> Sync for nalgebra::base::matrix_view::ViewStorageMut<'a, T, R, C, RStride, CStride>
where T: Sync, R: Dim, C: Dim, RStride: Dim, CStride: Dim,

Source§

impl<'borr, P, I, EV> Sync for DynTrait<'borr, P, I, EV>

Source§

impl<'lib, T> Sync for libloading::safe::Symbol<'lib, T>
where T: Sync,

Source§

impl<'lt, P, I, V> Sync for RObject<'lt, P, I, V>

Source§

impl<'lt, _ErasedPtr> Sync for StablePlugin_TO<'lt, _ErasedPtr>
where _ErasedPtr: __GetPointerKind,

Source§

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

Source§

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

Source§

impl<K, S> Sync for dashmap::iter_set::OwningIter<K, S>
where K: Eq + Hash + Sync, S: BuildHasher + Clone + Sync,

Source§

impl<K, V, S> Sync for RHashMap<K, V, S>
where HashMap<K, V, S>: Sync,

Source§

impl<K, V, S> Sync for dashmap::iter::OwningIter<K, V, S>
where K: Eq + Hash + Sync, V: Sync, S: BuildHasher + Clone + 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, D> Sync for ArrayBase<S, D>
where S: Sync + Data, D: Sync,

ArrayBase is Sync when the storage type is.

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.70.0 · Source§

impl<T> !Sync for core::cell::once::OnceCell<T>

1.0.0 · Source§

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

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.

1.0.0 · Source§

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

1.0.0 · Source§

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

Source§

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

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 core::slice::iter::Iter<'_, T>
where T: Sync,

1.0.0 · Source§

impl<T> Sync for core::slice::iter::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>

Available on target_has_atomic_load_store=ptr only.
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 JoinHandle<T>

Source§

impl<T> Sync for RReceiver<T>
where T: Send,

Source§

impl<T> Sync for RSender<T>
where T: Send,

Source§

impl<T> Sync for RMutex<T>
where T: Send, RawMutex: Sync,

Source§

impl<T> Sync for RRwLock<T>
where T: Send + Sync, RawRwLock: Sync,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> Sync for crossbeam_channel::channel::Receiver<T>
where T: Send,

Source§

impl<T> Sync for crossbeam_channel::channel::Sender<T>
where T: Send,

Source§

impl<T> Sync for Injector<T>
where T: Send,

Source§

impl<T> Sync for Stealer<T>
where T: Send,

Source§

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

Source§

impl<T> Sync for AtomicCell<T>
where T: Send,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> Sync for libloading::os::unix::Symbol<T>
where T: Sync,

Source§

impl<T> Sync for libloading::os::unix::Symbol<T>
where T: Sync,

Source§

impl<T> Sync for libloading::safe::Symbol<'_, T>
where T: Sync,

Source§

impl<T> Sync for OnceBox<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 alloc::rc::Weak<T, A>
where A: Allocator, T: ?Sized,

Source§

impl<T, A> Sync for Cursor<'_, T, A>
where T: Sync, A: Allocator + Sync,

Source§

impl<T, A> Sync for 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 alloc::collections::vec_deque::drain::Drain<'_, 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 alloc::sync::Weak<T, A>
where T: Sync + Send + ?Sized, A: Allocator + Sync,

1.6.0 · Source§

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

1.0.0 · Source§

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

Source§

impl<T, A> Sync for RawDrain<'_, T, A>
where A: Allocator + Sync, T: Sync,

Source§

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

Source§

impl<T, A> Sync for RawTable<T, A>
where A: Allocator + Sync, T: 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,

Source§

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

1.80.0 · Source§

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

Source§

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

Source§

impl<T, Inline> Sync for RSmallBox<T, Inline>
where T: Sync,

Source§

impl<_ErasedPtr> Sync for ExtraChecks_TO<_ErasedPtr>
where _ErasedPtr: GetPointerKind,

Source§

impl<_ErasedPtr> Sync for TypeChecker_TO<_ErasedPtr>
where _ErasedPtr: GetPointerKind,

Auto implementors§

§

impl !Sync for BincodeBuffer

§

impl !Sync for rssn::prelude::argmin::prelude::ThreadRng

§

impl !Sync for rssn::prelude::rand_prelude::ThreadRng

§

impl Sync for ComputationStatus

§

impl Sync for QuadratureMethod

§

impl Sync for ProblemType

§

impl Sync for LinearSolution

§

impl Sync for Dimensions

§

impl Sync for PluginHealth

§

impl Sync for ConvergenceResult

§

impl Sync for CoordinateSystem

§

impl Sync for TensorType

§

impl Sync for DagOp

§

impl Sync for Expr

§

impl Sync for PathType

§

impl Sync for SymbolicError

§

impl Sync for CurvePoint

§

impl Sync for LinearOperator

§

impl Sync for MonomialOrder

§

impl Sync for Literal

§

impl Sync for ExtremumType

§

impl Sync for PDEType

§

impl Sync for SupportedQuantity

§

impl Sync for CheckpointingFrequency

§

impl Sync for ArgminError

§

impl Sync for KvValue

§

impl Sync for TerminationReason

§

impl Sync for TerminationStatus

§

impl Sync for ObserverMode

§

impl Sync for rssn::prelude::argmin::distr::BernoulliError

§

impl Sync for rssn::prelude::argmin::distr::uniform::Error

§

impl Sync for rssn::prelude::argmin::seq::WeightError

§

impl Sync for rssn::prelude::argmin::seq::index::IndexVec

§

impl Sync for rssn::prelude::argmin::seq::index::IndexVecIntoIter

§

impl Sync for Endianness

§

impl Sync for IntEncoding

§

impl Sync for AllowedEnumVariants

§

impl Sync for rssn::prelude::bincode::error::DecodeError

§

impl Sync for rssn::prelude::bincode::error::EncodeError

§

impl Sync for IntegerType

§

impl Sync for rssn::prelude::bincode::serde::DecodeError

§

impl Sync for rssn::prelude::bincode::serde::EncodeError

§

impl Sync for rssn::prelude::length::Units

§

impl Sync for rssn::prelude::mass::Units

§

impl Sync for TAffine

§

impl Sync for TGeneral

§

impl Sync for TProjective

§

impl Sync for ErrorKind

§

impl Sync for Order

§

impl Sync for SliceInfoElem

§

impl Sync for FloatErrorKind

§

impl Sync for Sign

§

impl Sync for rssn::prelude::rand::distributions::BernoulliError

§

impl Sync for WeightedError

§

impl Sync for rssn::prelude::rand::seq::index::IndexVec

§

impl Sync for rssn::prelude::rand::seq::index::IndexVecIntoIter

§

impl Sync for FftDirection

§

impl Sync for CompressedStorage

§

impl Sync for FillInReduction

§

impl Sync for PermutationCheck

§

impl Sync for SymmetryCheck

§

impl Sync for LinalgError

§

impl Sync for SprsError

§

impl Sync for StructureError

§

impl Sync for StructureErrorKind

§

impl Sync for IoError

§

impl Sync for SymmetryMode

§

impl Sync for NumKind

§

impl Sync for ThreadingStrategy

§

impl Sync for BetaError

§

impl Sync for BinomialError

§

impl Sync for CategoricalError

§

impl Sync for CauchyError

§

impl Sync for ChiError

§

impl Sync for DiracError

§

impl Sync for DirichletError

§

impl Sync for DiscreteUniformError

§

impl Sync for ExpError

§

impl Sync for FisherSnedecorError

§

impl Sync for GammaError

§

impl Sync for GeometricError

§

impl Sync for GumbelError

§

impl Sync for HypergeometricError

§

impl Sync for InverseGammaError

§

impl Sync for LaplaceError

§

impl Sync for LogNormalError

§

impl Sync for MultinomialError

§

impl Sync for MultivariateNormalError

§

impl Sync for MultivariateStudentError

§

impl Sync for NegativeBinomialError

§

impl Sync for NormalError

§

impl Sync for ParetoError

§

impl Sync for PoissonError

§

impl Sync for StudentsTError

§

impl Sync for TriangularError

§

impl Sync for UniformError

§

impl Sync for WeibullError

§

impl Sync for BetaFuncError

§

impl Sync for GammaFuncError

§

impl Sync for RankTieBreaker

§

impl Sync for Alternative

§

impl Sync for FishersExactTestError

§

impl Sync for TryFromError

§

impl Sync for rssn::prelude::time::Units

§

impl Sync for ComputationResultCache

§

impl Sync for ParsingCache

§

impl Sync for Computation

§

impl Sync for ComputationProgress

§

impl Sync for ComputeEngine

§

impl Sync for rssn::compute::state::State

§

impl Sync for BuildInfo

§

impl Sync for FfiPoint

§

impl Sync for Point3D

§

impl Sync for rssn::numerical::computer_graphics::Vector3D

§

impl Sync for PolyGF256

§

impl Sync for rssn::numerical::finite_field::PrimeFieldElement

§

impl Sync for Multivector3D

§

impl Sync for rssn::numerical::graph::Graph

§

impl Sync for rssn::numerical::graph::State

§

impl Sync for EquationOptimizer

§

impl Sync for LinearRegression

§

impl Sync for OptimizationConfig

§

impl Sync for Rastrigin

§

impl Sync for ResultAnalyzer

§

impl Sync for Rosenbrock

§

impl Sync for Sphere

§

impl Sync for LinearElement1D

§

impl Sync for rssn::numerical::physics_md::Particle

§

impl Sync for Polynomial

§

impl Sync for BinomialDist

§

impl Sync for ExponentialDist

§

impl Sync for GammaDist

§

impl Sync for NormalDist

§

impl Sync for PoissonDist

§

impl Sync for UniformDist

§

impl Sync for PrintBox

§

impl Sync for Element2D

§

impl Sync for rssn::physics::physics_bem::Vector2D

§

impl Sync for rssn::physics::physics_bem::Vector3D

§

impl Sync for HeatEquationSolverConfig

§

impl Sync for OrbitalSystem

§

impl Sync for StiffDecaySystem

§

impl Sync for GaussQuadrature

§

impl Sync for rssn::physics::physics_fvm::Cell

§

impl Sync for Mesh2D

§

impl Sync for Mesh3D

§

impl Sync for Mesh

§

impl Sync for rssn::physics::physics_mm::Particle

§

impl Sync for Poly6Kernel

§

impl Sync for SPHSystem

§

impl Sync for SpikyKernel

§

impl Sync for rssn::physics::physics_mm::Vector2D

§

impl Sync for Grid2D

§

impl Sync for rssn::physics::physics_mtm::Grid

§

impl Sync for DampedOscillatorSystem

§

impl Sync for DormandPrince54

§

impl Sync for LorenzSystem

§

impl Sync for FdtdParameters

§

impl Sync for GeodesicParameters

§

impl Sync for SchwarzschildSystem

§

impl Sync for GpeParameters

§

impl Sync for IsingParameters

§

impl Sync for ElasticityParameters

§

impl Sync for NavierStokesParameters

§

impl Sync for SchrodingerParameters

§

impl Sync for AdvectionDiffusionConfig3d

§

impl Sync for AdvectionDiffusionConfig

§

impl Sync for ManagedPlugin

§

impl Sync for ManagedStablePlugin

§

impl Sync for PluginManager

§

impl Sync for PluginError

§

impl Sync for StablePlugin_Interface

§

impl Sync for RoVtable

§

impl Sync for StablePluginModule

§

impl Sync for StablePluginModule_Prefix

§

impl Sync for Cad

§

impl Sync for CadCell

§

impl Sync for Kinematics

§

impl Sync for PathContinuation

§

impl Sync for BSplineCurve

§

impl Sync for BezierCurve

§

impl Sync for Polygon

§

impl Sync for PolygonMesh

§

impl Sync for DAG_MANAGER

§

impl Sync for DYNAMIC_OP_REGISTRY

§

impl Sync for DagManager

§

impl Sync for DagNode

§

impl Sync for DynamicOpProperties

§

impl Sync for Monomial

§

impl Sync for SparsePolynomial

§

impl Sync for EcdhKeyPair

§

impl Sync for EllipticCurve

§

impl Sync for DifferentialForm

§

impl Sync for MaxwellEquations

§

impl Sync for FieldElement

§

impl Sync for FiniteField

§

impl Sync for ExtensionField

§

impl Sync for ExtensionFieldElement

§

impl Sync for FiniteFieldPolynomial

§

impl Sync for PrimeField

§

impl Sync for rssn::symbolic::finite_field::PrimeFieldElement

§

impl Sync for IteratedFunctionSystem

§

impl Sync for BanachSpace

§

impl Sync for HilbertSpace

§

impl Sync for Multivector

§

impl Sync for DSU

§

impl Sync for Group

§

impl Sync for GroupElement

§

impl Sync for Representation

§

impl Sync for HandleManager

§

impl Sync for FredholmEquation

§

impl Sync for VolterraEquation

§

impl Sync for LieAlgebra

§

impl Sync for LieAlgebraElement

§

impl Sync for ParsedODE

§

impl Sync for CriticalPoint

§

impl Sync for BoundaryConditions

§

impl Sync for PDEClassification

§

impl Sync for Bra

§

impl Sync for Ket

§

impl Sync for Operator

§

impl Sync for rssn::symbolic::rewriting::RewriteRule

§

impl Sync for rssn::symbolic::simplify::RewriteRule

§

impl Sync for CrystalLattice

§

impl Sync for HypothesisTest

§

impl Sync for rssn::symbolic::stats_probability::Bernoulli

§

impl Sync for rssn::symbolic::stats_probability::Beta

§

impl Sync for rssn::symbolic::stats_probability::Binomial

§

impl Sync for Exponential

§

impl Sync for rssn::symbolic::stats_probability::Gamma

§

impl Sync for rssn::symbolic::stats_probability::Normal

§

impl Sync for rssn::symbolic::stats_probability::Poisson

§

impl Sync for StudentT

§

impl Sync for rssn::symbolic::stats_probability::Uniform

§

impl Sync for MetricTensor

§

impl Sync for Tensor

§

impl Sync for Chain

§

impl Sync for ChainComplex

§

impl Sync for Filtration

§

impl Sync for Simplex

§

impl Sync for SimplicialComplex

§

impl Sync for UnitQuantity

§

impl Sync for Vector

§

impl Sync for ParametricCurve

§

impl Sync for ParametricSurface

§

impl Sync for Volume

§

impl Sync for KV

§

impl Sync for TestProblem

§

impl Sync for TestSolver

§

impl Sync for TestSparseProblem

§

impl Sync for Empty

§

impl Sync for Alphabetic

§

impl Sync for rssn::prelude::argmin::distr::Alphanumeric

§

impl Sync for rssn::prelude::argmin::distr::Bernoulli

§

impl Sync for rssn::prelude::argmin::distr::Open01

§

impl Sync for rssn::prelude::argmin::distr::OpenClosed01

§

impl Sync for StandardUniform

§

impl Sync for rssn::prelude::argmin::distr::uniform::UniformChar

§

impl Sync for rssn::prelude::argmin::distr::uniform::UniformDuration

§

impl Sync for UniformUsize

§

impl Sync for SmallRng

§

impl Sync for rssn::prelude::argmin::prelude::StdRng

§

impl Sync for OsError

§

impl Sync for rssn::prelude::argmin::rngs::mock::StepRng

§

impl Sync for rssn::prelude::argmin::rngs::OsRng

§

impl Sync for FletcherReeves

§

impl Sync for HestenesStiefel

§

impl Sync for PolakRibiere

§

impl Sync for PolakRibierePlus

§

impl Sync for rssn::prelude::argmin::Error

§

impl Sync for BigEndian

§

impl Sync for Fixint

§

impl Sync for LittleEndian

§

impl Sync for NoLimit

§

impl Sync for Varint

§

impl Sync for SizeWriter

§

impl Sync for angstrom

§

impl Sync for astronomical_unit

§

impl Sync for atomic_unit_of_length

§

impl Sync for attometer

§

impl Sync for bohr_radius

§

impl Sync for centimeter

§

impl Sync for chain

§

impl Sync for decameter

§

impl Sync for decimeter

§

impl Sync for exameter

§

impl Sync for fathom

§

impl Sync for femtometer

§

impl Sync for fermi

§

impl Sync for foot

§

impl Sync for foot_survey

§

impl Sync for gigameter

§

impl Sync for hectometer

§

impl Sync for inch

§

impl Sync for kilometer

§

impl Sync for light_year

§

impl Sync for megameter

§

impl Sync for meter

§

impl Sync for microinch

§

impl Sync for micrometer

§

impl Sync for micron

§

impl Sync for mil

§

impl Sync for mile

§

impl Sync for mile_survey

§

impl Sync for millimeter

§

impl Sync for nanometer

§

impl Sync for nautical_mile

§

impl Sync for parsec

§

impl Sync for petameter

§

impl Sync for pica_computer

§

impl Sync for pica_printers

§

impl Sync for picometer

§

impl Sync for point_computer

§

impl Sync for point_printers

§

impl Sync for rod

§

impl Sync for terameter

§

impl Sync for yard

§

impl Sync for yoctometer

§

impl Sync for yottameter

§

impl Sync for zeptometer

§

impl Sync for zettameter

§

impl Sync for attogram

§

impl Sync for carat

§

impl Sync for centigram

§

impl Sync for dalton

§

impl Sync for decagram

§

impl Sync for decigram

§

impl Sync for exagram

§

impl Sync for femtogram

§

impl Sync for gigagram

§

impl Sync for grain

§

impl Sync for gram

§

impl Sync for hectogram

§

impl Sync for hundredweight_long

§

impl Sync for hundredweight_short

§

impl Sync for kilogram

§

impl Sync for megagram

§

impl Sync for microgram

§

impl Sync for milligram

§

impl Sync for nanogram

§

impl Sync for ounce

§

impl Sync for ounce_troy

§

impl Sync for pennyweight

§

impl Sync for petagram

§

impl Sync for picogram

§

impl Sync for pound

§

impl Sync for pound_troy

§

impl Sync for slug

§

impl Sync for teragram

§

impl Sync for ton

§

impl Sync for ton_assay

§

impl Sync for ton_long

§

impl Sync for ton_short

§

impl Sync for yoctogram

§

impl Sync for yottagram

§

impl Sync for zeptogram

§

impl Sync for zettagram

§

impl Sync for ShapeConstraint

§

impl Sync for Init

§

impl Sync for Uninit

§

impl Sync for DefaultAllocator

§

impl Sync for Dyn

§

impl Sync for EuclideanNorm

§

impl Sync for LpNorm

§

impl Sync for UniformNorm

§

impl Sync for AxisDescription

§

impl Sync for IxDynImpl

§

impl Sync for NewAxis

§

impl Sync for ShapeError

§

impl Sync for rssn::prelude::ndarray::Slice

§

impl Sync for BigInt

§

impl Sync for BigUint

§

impl Sync for FloatIsNan

§

impl Sync for ParseBigIntError

§

impl Sync for ParseFloatError

§

impl Sync for ParseRatioError

§

impl Sync for RandomBits

§

impl Sync for UniformBigInt

§

impl Sync for UniformBigUint

§

impl Sync for Output

§

impl Sync for rssn::prelude::rand::distributions::Alphanumeric

§

impl Sync for rssn::prelude::rand::distributions::Bernoulli

§

impl Sync for rssn::prelude::rand::distributions::Open01

§

impl Sync for rssn::prelude::rand::distributions::OpenClosed01

§

impl Sync for Standard

§

impl Sync for rssn::prelude::rand::distributions::uniform::UniformChar

§

impl Sync for rssn::prelude::rand::distributions::uniform::UniformDuration

§

impl Sync for ReadError

§

impl Sync for rssn::prelude::rand::rngs::mock::StepRng

§

impl Sync for rssn::prelude::rand::rngs::OsRng

§

impl Sync for rssn::prelude::rand::Error

§

impl Sync for rssn::prelude::rand_prelude::StdRng

§

impl Sync for ShapeMismatchInfo

§

impl Sync for SingularMatrixInfo

§

impl Sync for MinimumDegree

§

impl Sync for Next

§

impl Sync for PseudoPeripheral

§

impl Sync for Pattern

§

impl Sync for NnzIndex

§

impl Sync for rssn::prelude::statrs::distribution::Bernoulli

§

impl Sync for rssn::prelude::statrs::distribution::Beta

§

impl Sync for rssn::prelude::statrs::distribution::Binomial

§

impl Sync for Categorical

§

impl Sync for Cauchy

§

impl Sync for Chi

§

impl Sync for ChiSquared

§

impl Sync for Dirac

§

impl Sync for DiscreteUniform

§

impl Sync for Empirical

§

impl Sync for Erlang

§

impl Sync for Exp

§

impl Sync for FisherSnedecor

§

impl Sync for rssn::prelude::statrs::distribution::Gamma

§

impl Sync for Geometric

§

impl Sync for Gumbel

§

impl Sync for Hypergeometric

§

impl Sync for InverseGamma

§

impl Sync for Laplace

§

impl Sync for LogNormal

§

impl Sync for NegativeBinomial

§

impl Sync for rssn::prelude::statrs::distribution::Normal

§

impl Sync for Pareto

§

impl Sync for rssn::prelude::statrs::distribution::Poisson

§

impl Sync for StudentsT

§

impl Sync for Triangular

§

impl Sync for rssn::prelude::statrs::distribution::Uniform

§

impl Sync for Weibull

§

impl Sync for InfinitePeriodic

§

impl Sync for InfiniteSawtooth

§

impl Sync for InfiniteSinusoidal

§

impl Sync for InfiniteSquare

§

impl Sync for InfiniteTriangle

§

impl Sync for Axis

§

impl Sync for BigDecimal

§

impl Sync for attosecond

§

impl Sync for centisecond

§

impl Sync for day

§

impl Sync for day_sidereal

§

impl Sync for decasecond

§

impl Sync for decisecond

§

impl Sync for exasecond

§

impl Sync for femtosecond

§

impl Sync for gigasecond

§

impl Sync for hectosecond

§

impl Sync for hour

§

impl Sync for hour_sidereal

§

impl Sync for kilosecond

§

impl Sync for megasecond

§

impl Sync for microsecond

§

impl Sync for millisecond

§

impl Sync for minute

§

impl Sync for nanosecond

§

impl Sync for petasecond

§

impl Sync for picosecond

§

impl Sync for second

§

impl Sync for second_sidereal

§

impl Sync for shake

§

impl Sync for terasecond

§

impl Sync for year

§

impl Sync for year_sidereal

§

impl Sync for year_tropical

§

impl Sync for yoctosecond

§

impl Sync for yottasecond

§

impl Sync for zeptosecond

§

impl Sync for zettasecond

§

impl Sync for String

§

impl<'a> Sync for rssn::prelude::argmin::seq::index::IndexVecIter<'a>

§

impl<'a> Sync for rssn::prelude::rand::seq::index::IndexVecIter<'a>

§

impl<'a> Sync for U32Digits<'a>

§

impl<'a> Sync for U64Digits<'a>

§

impl<'a, A> Sync for CowRepr<'a, A>
where A: Sync,

§

impl<'a, A, D> Sync for AxisWindows<'a, A, D>
where D: Sync, A: Sync,

§

impl<'a, A, D> Sync for Lanes<'a, A, D>
where D: Sync, A: Sync,

§

impl<'a, A, D> Sync for LanesMut<'a, A, D>
where D: Sync, A: Sync,

§

impl<'a, D> Sync for Axes<'a, D>
where D: Sync,

§

impl<'a, Ite1, Ite2, N1, N2> Sync for NnzOrZip<'a, Ite1, Ite2, N1, N2>
where Ite1: Sync, Ite2: Sync, N1: Sync, N2: Sync,

§

impl<'a, N1, N2> Sync for NnzEither<'a, N1, N2>
where N1: Sync, N2: Sync,

§

impl<'a, N, I> Sync for VectorIterator<'a, N, I>
where I: Sync, N: Sync,

§

impl<'a, N, I> Sync for VectorIteratorMut<'a, N, I>
where I: Sync, N: Sync,

§

impl<'a, N, I, Iptr> Sync for CsIter<'a, N, I, Iptr>
where N: Sync,

§

impl<'a, N, I, Iptr> Sync for NnzPatternFormatter<'a, N, I, Iptr>
where N: Sync,

§

impl<'a, R> Sync for RngReadAdapter<'a, R>
where R: Sync + ?Sized,

§

impl<'a, S, T> Sync for rssn::prelude::argmin::seq::SliceChooseIter<'a, S, T>
where S: Sync + ?Sized, T: Sync,

§

impl<'a, S, T> Sync for rssn::prelude::rand::seq::SliceChooseIter<'a, S, T>
where S: Sync + ?Sized, T: Sync,

§

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

§

impl<'a, T> Sync for rssn::prelude::rand::distributions::Slice<'a, T>
where T: Sync,

§

impl<'a, T, I, Iptr> Sync for BiCGSTAB<'a, T, I, Iptr>
where T: Sync,

§

impl<'a, T, R, C, S> !Sync for ColumnIterMut<'a, T, R, C, S>

§

impl<'a, T, R, C, S> !Sync for MatrixIter<'a, T, R, C, S>

§

impl<'a, T, R, C, S> !Sync for MatrixIterMut<'a, T, R, C, S>

§

impl<'a, T, R, C, S> !Sync for RowIterMut<'a, T, R, C, S>

§

impl<'a, T, R, C, S> Sync for ColumnIter<'a, T, R, C, S>
where S: Sync, T: Sync,

§

impl<'a, T, R, C, S> Sync for RowIter<'a, T, R, C, S>
where S: Sync, T: Sync,

§

impl<'de, DE> Sync for BorrowedSerdeDecoder<'de, DE>
where DE: Sync,

§

impl<'r, R> Sync for UnwrapMut<'r, R>
where R: Sync + ?Sized,

§

impl<'storage> Sync for SliceReader<'storage>

§

impl<'storage> Sync for SliceWriter<'storage>

§

impl<A> Sync for OwnedArcRepr<A>
where A: Sync + Send,

§

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

§

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

§

impl<A, D> !Sync for rssn::prelude::ndarray::iter::IntoIter<A, D>

§

impl<D> !Sync for PermutationSequence<D>

§

impl<D> !Sync for Dirichlet<D>

§

impl<D> !Sync for Multinomial<D>

§

impl<D> !Sync for MultivariateNormal<D>

§

impl<D> !Sync for MultivariateStudent<D>

§

impl<D> Sync for Indices<D>

§

impl<D> Sync for IndicesIter<D>
where D: Sync,

§

impl<D> Sync for Shape<D>
where D: Sync,

§

impl<D> Sync for StrideShape<D>
where D: Sync,

§

impl<D> Sync for Data<D>
where D: Sync,

§

impl<D, F, T, S> Sync for Map<D, F, T, S>
where D: Sync, F: Sync,

§

impl<D, F, T, S> Sync for DistMap<D, F, T, S>
where D: Sync, F: Sync,

§

impl<D, R, T> Sync for rssn::prelude::argmin::distr::Iter<D, R, T>
where D: Sync, R: Sync, T: Sync,

§

impl<D, R, T> Sync for DistIter<D, R, T>
where D: Sync, R: Sync, T: Sync,

§

impl<DE> Sync for OwnedSerdeDecoder<DE>
where DE: Sync,

§

impl<E> Sync for ParseNotNanError<E>
where E: Sync,

§

impl<E> Sync for ParseComplexError<E>
where E: Sync,

§

impl<E, I, L> Sync for Configuration<E, I, L>
where E: Sync, I: Sync, L: Sync,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<F, R> Sync for SimulatedAnnealing<F, R>
where F: Sync, R: Sync,

§

impl<I> !Sync for Observers<I>

§

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

§

impl<I> Sync for Dim<I>
where I: Sync + ?Sized,

§

impl<I> Sync for Forward<I>

§

impl<I> Sync for Reversed<I>

§

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

§

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

§

impl<I, IndStorage> Sync for Permutation<I, IndStorage>
where IndStorage: Sync,

§

impl<IStorage, DStorage> Sync for TriMatBase<IStorage, DStorage>
where IStorage: Sync, DStorage: Sync,

§

impl<IStorage, DStorage, N, I> Sync for CsVecBase<IStorage, DStorage, N, I>
where IStorage: Sync, DStorage: Sync,

§

impl<Iptr, Storage> Sync for IndPtrBase<Iptr, Storage>
where Storage: Sync,

§

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

§

impl<K, V, S> Sync for DashMap<K, V, S>
where S: Sync, K: Send + Sync, V: Send + Sync,

§

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

§

impl<L> Sync for SteepestDescent<L>
where L: Sync,

§

impl<L, F> Sync for GaussNewtonLS<L, F>
where L: Sync, F: Sync,

§

impl<L, F> Sync for NewtonCG<L, F>
where L: Sync, F: Sync,

§

impl<L, F> Sync for BFGS<L, F>
where L: Sync, F: Sync,

§

impl<L, F> Sync for DFP<L, F>
where L: Sync, F: Sync,

§

impl<L, F> Sync for SR1<L, F>
where F: Sync, L: Sync,

§

impl<L, P, G, F> Sync for LBFGS<L, P, G, F>
where L: Sync, F: Sync, G: Sync, P: Sync,

§

impl<N, I, IptrStorage, IndStorage, DataStorage, Iptr> Sync for CsMatBase<N, I, IptrStorage, IndStorage, DataStorage, Iptr>
where IndStorage: Sync, DataStorage: Sync, IptrStorage: Sync,

§

impl<O> Sync for Problem<O>
where O: Sync,

§

impl<O, S, I> !Sync for Executor<O, S, I>

§

impl<O, S, I> Sync for OptimizationResult<O, S, I>
where S: Sync, I: Sync, O: Sync,

§

impl<P, F> Sync for LinearProgramState<P, F>
where F: Sync, P: Sync,

§

impl<P, F> Sync for PopulationState<P, F>
where F: Sync, P: Sync,

§

impl<P, F> Sync for ConjugateGradient<P, F>
where P: Sync, F: Sync,

§

impl<P, F> Sync for NelderMead<P, F>
where F: Sync, P: Sync,

§

impl<P, F> Sync for Steihaug<P, F>
where F: Sync, P: Sync,

§

impl<P, F, R> Sync for ParticleSwarm<P, F, R>
where F: Sync, R: Sync, P: Sync,

§

impl<P, G, F> Sync for HagerZhangLineSearch<P, G, F>
where F: Sync, P: Sync, G: Sync,

§

impl<P, G, F> Sync for MoreThuenteLineSearch<P, G, F>
where F: Sync, G: Sync, P: Sync,

§

impl<P, G, J, H, R, F> Sync for IterState<P, G, J, H, R, F>
where F: Sync, P: Sync, G: Sync, H: Sync, J: Sync, R: Sync,

§

impl<P, G, L, F> Sync for BacktrackingLineSearch<P, G, L, F>
where F: Sync, L: Sync, P: Sync, G: Sync,

§

impl<P, L, B, F> Sync for NonlinearConjugateGradient<P, L, B, F>
where F: Sync, L: Sync, B: Sync, P: Sync,

§

impl<Parts, D> Sync for Zip<Parts, D>
where Parts: Sync, D: Sync,

§

impl<R> Sync for BlockRng64<R>
where <R as BlockRngCore>::Results: Sync, R: Sync + ?Sized,

§

impl<R> Sync for BlockRng<R>
where <R as BlockRngCore>::Results: Sync, R: Sync,

§

impl<R> Sync for UnwrapErr<R>
where R: Sync,

§

impl<R> Sync for ReadRng<R>
where R: Sync,

§

impl<R, C, Context> Sync for DecoderImpl<R, C, Context>
where R: Sync, C: Sync, Context: Sync,

§

impl<R, F> Sync for SR1TrustRegion<R, F>
where F: Sync, R: Sync,

§

impl<R, F> Sync for TrustRegion<R, F>
where F: Sync, R: Sync,

§

impl<R, Rsdr> Sync for rssn::prelude::argmin::rngs::ReseedingRng<R, Rsdr>
where <R as BlockRngCore>::Results: Sync, R: Sync, Rsdr: Sync,

§

impl<R, Rsdr> Sync for rssn::prelude::rand::rngs::adapter::ReseedingRng<R, Rsdr>
where <R as BlockRngCore>::Results: Sync, R: Sync, Rsdr: Sync,

§

impl<RI, CI, DI> Sync for TriMatIter<RI, CI, DI>
where RI: Sync, CI: Sync, DI: Sync,

§

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

§

impl<T> !Sync for MathCell<T>

§

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

§

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

§

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

§

impl<T> Sync for rssn::numerical::matrix::Matrix<T>
where T: Sync,

§

impl<T> Sync for rssn::physics::physics_fdm::Grid<T>
where T: Sync,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<T> Sync for GivensRotation<T>

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<T> Sync for GoodThomasAlgorithm<T>

§

impl<T> Sync for GoodThomasAlgorithmSmall<T>

§

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

§

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

§

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

§

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

§

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

§

impl<T> Sync for FftPlanner<T>

§

impl<T> Sync for FftPlannerAvx<T>

§

impl<T> Sync for FftPlannerNeon<T>

§

impl<T> Sync for FftPlannerScalar<T>

§

impl<T> Sync for FftPlannerSse<T>

§

impl<T> Sync for FftPlannerWasmSimd<T>

§

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

§

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

§

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

§

impl<T> Sync for rssn::prelude::OnceCell<T>
where T: Sync + Send,

§

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

§

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

§

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

§

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

§

impl<T, C, const D: usize> !Sync for Transform<T, C, D>

§

impl<T, D> !Sync for Cholesky<T, D>

§

impl<T, D> !Sync for Hessenberg<T, D>

§

impl<T, D> !Sync for OPoint<T, D>

§

impl<T, D> !Sync for Schur<T, D>

§

impl<T, D> !Sync for SymmetricEigen<T, D>

§

impl<T, D> !Sync for SymmetricTridiagonal<T, D>

§

impl<T, D> !Sync for UDU<T, D>

§

impl<T, D, S> Sync for Reflection<T, D, S>
where T: Sync, S: Sync, D: Sync,

§

impl<T, Din, Dout> Sync for SliceInfo<T, Din, Dout>
where T: Sync,

§

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

§

impl<T, F> Sync for rssn::prelude::argmin::solver::particleswarm::Particle<T, F>
where T: Sync, F: Sync,

§

impl<T, R, C> !Sync for Bidiagonal<T, R, C>

§

impl<T, R, C> !Sync for ColPivQR<T, R, C>

§

impl<T, R, C> !Sync for FullPivLU<T, R, C>

§

impl<T, R, C> !Sync for LU<T, R, C>

§

impl<T, R, C> !Sync for QR<T, R, C>

§

impl<T, R, C> !Sync for SVD<T, R, C>

§

impl<T, R, C> Sync for VecStorage<T, R, C>
where T: Sync,

§

impl<T, R, C, S> Sync for rssn::prelude::nalgebra::Matrix<T, R, C, S>
where S: Sync, T: Sync, R: Sync, C: Sync,

§

impl<T, R, const D: usize> Sync for Isometry<T, R, D>
where R: Sync, T: Sync,

§

impl<T, R, const D: usize> Sync for Similarity<T, R, D>
where T: Sync, R: Sync,

§

impl<T, S> Sync for HashSet<T, S>
where S: Sync, T: Sync,

§

impl<T, const D: usize> Sync for Rotation<T, D>
where T: Sync,

§

impl<T, const D: usize> Sync for Scale<T, D>
where T: Sync,

§

impl<T, const D: usize> Sync for Translation<T, D>
where T: Sync,

§

impl<T, const R: usize, const C: usize> Sync for ArrayStorage<T, R, C>
where T: Sync,

§

impl<V> Sync for rssn::symbolic::graph::Graph<V>
where V: Sync,

§

impl<W> Sync for rssn::prelude::rand::distributions::weighted::alias_method::WeightedIndex<W>
where W: Sync,

§

impl<W, C> Sync for EncoderImpl<W, C>
where W: Sync, C: Sync,

§

impl<X> Sync for rssn::prelude::argmin::distr::Uniform<X>
where <X as SampleUniform>::Sampler: Sync,

§

impl<X> Sync for rssn::prelude::argmin::distr::uniform::UniformFloat<X>
where X: Sync,

§

impl<X> Sync for rssn::prelude::argmin::distr::uniform::UniformInt<X>
where X: Sync,

§

impl<X> Sync for rssn::prelude::argmin::distr::weighted::WeightedIndex<X>
where X: Sync, <X as SampleUniform>::Sampler: Sync,

§

impl<X> Sync for rssn::prelude::rand::distributions::Uniform<X>
where <X as SampleUniform>::Sampler: Sync,

§

impl<X> Sync for rssn::prelude::rand::distributions::WeightedIndex<X>
where X: Sync, <X as SampleUniform>::Sampler: Sync,

§

impl<X> Sync for rssn::prelude::rand::distributions::uniform::UniformFloat<X>
where X: Sync,

§

impl<X> Sync for rssn::prelude::rand::distributions::uniform::UniformInt<X>
where X: Sync,

§

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

§

impl<const R: usize> Sync for Const<R>