Trait otter_api_tests::imports::failure::_core::marker::Sync 1.0.0[−][src]
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.
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
.
Implementations on Foreign Types
impl<'de> Sync for Content<'de>
impl<'a> Sync for InternallyTaggedUnitVisitor<'a>
impl Sync for TagContentOtherField
impl Sync for TagContentOtherFieldVisitor
impl Sync for TagOrContentField
impl Sync for TagOrContentFieldVisitor
impl<'a> Sync for UntaggedUnitVisitor<'a>
impl Sync for Argument
impl Sync for FormatSpec
impl Sync for Alignment
impl Sync for Count
impl Sync for InvertedUTerm
impl Sync for Big32x40
impl Sync for Big8x3
impl Sync for Sign
impl<'a> Sync for Decimal<'a>
impl<'a> Sync for ParseResult<'a>
impl Sync for Unpacked
impl Sync for Decoded
impl Sync for FullDecoded
impl<'a> Sync for Part<'a>
impl<'a> Sync for Formatted<'a>
impl Sync for Sign
impl Sync for Compiler
impl Sync for Exec
impl Sync for ExecBuilder
impl Sync for Char
impl<'t> Sync for CharInput<'t>
impl Sync for InputAt
impl Sync for LiteralSearcher
impl Sync for EmptyLook
impl Sync for Inst
impl Sync for InstRanges
impl Sync for Program
impl Sync for PollWatcher
impl Sync for Unparker
impl<'_> Sync for Scope<'_>
impl<'_, T> Sync for ScopedJoinHandle<'_, T>
impl Sync for AtomicWaker
impl<T, U> Sync for OwnedRwLockMappedWriteGuard<T, U> where
T: Send + Sync + ?Sized,
U: Send + Sync + ?Sized,
impl<T, U> Sync for OwnedRwLockReadGuard<T, U> where
T: Send + Sync + ?Sized,
U: Send + Sync + ?Sized,
impl<T> Sync for ReusableBoxFuture<T>
impl Sync for CancellationToken
Implementors
impl Sync for GuardNoSend
impl<'_, T> Sync for otter_api_tests::imports::failure::_core::slice::Iter<'_, T> where
T: Sync,
[src]impl<'_, T> Sync for otter_api_tests::imports::failure::_core::slice::IterMut<'_, T> where
T: Sync,
[src]impl<'a, R, G, T> Sync for MappedReentrantMutexGuard<'a, R, G, T> where
T: 'a + Sync + ?Sized,
G: 'a + GetThreadId + Sync,
R: 'a + RawMutex + Sync,
impl<'a, R, G, T> Sync for ReentrantMutexGuard<'a, R, G, T> where
T: 'a + Sync + ?Sized,
G: 'a + GetThreadId + Sync,
R: 'a + RawMutex + Sync,
impl<'a, R, T> Sync for otter_api_tests::imports::parking_lot::lock_api::MappedMutexGuard<'a, R, T> where
T: 'a + Sync + ?Sized,
R: 'a + RawMutex + Sync,
impl<'a, R, T> Sync for MappedRwLockReadGuard<'a, R, T> where
T: 'a + Sync + ?Sized,
R: 'a + RawRwLock,
impl<'a, R, T> Sync for MappedRwLockWriteGuard<'a, R, T> where
T: 'a + Sync + ?Sized,
R: 'a + RawRwLock,
impl<'a, R, T> Sync for otter_api_tests::imports::parking_lot::lock_api::MutexGuard<'a, R, T> where
T: 'a + Sync + ?Sized,
R: 'a + RawMutex + Sync,
impl<'a, R, T> Sync for RwLockUpgradableReadGuard<'a, R, T> where
T: 'a + Sync + ?Sized,
R: 'a + RawRwLockUpgrade,
impl<'a, T, const CAP: usize> Sync for otter_api_tests::imports::otter_base::imports::arrayvec::Drain<'a, T, CAP> where
T: Sync,
[src]impl<R, G> Sync for RawReentrantMutex<R, G> where
G: GetThreadId + Sync,
R: RawMutex + Sync,
impl<R, G, T> Sync for ReentrantMutex<R, G, T> where
T: Send + ?Sized,
G: GetThreadId + Sync,
R: RawMutex + Sync,
impl<R, T> Sync for otter_api_tests::imports::parking_lot::lock_api::Mutex<R, T> where
T: Send + ?Sized,
R: RawMutex + Sync,
impl<R, T> Sync for otter_api_tests::imports::parking_lot::lock_api::RwLock<R, T> where
T: Send + Sync + ?Sized,
R: RawRwLock + Sync,
NonNull
pointers are not Sync
because the data they reference may be aliased.
impl<T, F> Sync for otter_api_tests::imports::once_cell::sync::Lazy<T, F> where
F: Send,
OnceCell<T>: Sync,
impl<T, N> Sync for GenericArray<T, N> where
T: Sync,
N: ArrayLength<T>,
impl<T, U> Sync for LazyTransform<T, U> where
T: Send,
U: Send + Sync,
Auto implementors
impl !Sync for InstanceContainer
impl !Sync for MgmtChannelForGame
impl !Sync for dl_phdr_info
impl !Sync for ff_periodic_effect
impl !Sync for if_nameindex
impl !Sync for mcontext_t
impl !Sync for posix_spawn_file_actions_t
impl !Sync for ucontext_t
impl !Sync for OwningIter
impl !Sync for InterfaceAddressIterator
impl !Sync for TraitObject
impl Sync for AccountScope
impl Sync for AccountsSaveError
impl Sync for AggregatedIE
impl Sync for ApiPieceOpError
impl Sync for AssetUrlKey
impl Sync for InternalError
impl Sync for InvalidScopedName
impl Sync for LibraryLoadError
impl Sync for MgmtChannelReadError
impl Sync for MgmtChannelWriteError
impl Sync for OccDisplacement
impl Sync for OccultationKindAlwaysOk
impl Sync for OldNewIndex
impl Sync for OnlineError
impl Sync for PathResolveContext
impl Sync for PathResolveMethod
impl Sync for PieceAngle
impl Sync for PieceMoveable
impl Sync for PieceOpError
impl Sync for PieceOpErrorPartiallyProcessed
impl Sync for PieceUpdateOps
impl Sync for PreparedUpdateEntry
impl Sync for PresentationLayout
impl Sync for SVGProcessingError
impl Sync for StaticUser
impl Sync for TablePermission
impl Sync for TablePlayerSpec
impl Sync for WhatResponseToClientOp
impl Sync for AdaptiveFormat
impl Sync for FlexiLoggerError
impl Sync for LevelFilter
impl Sync for RecvTimeoutError
impl Sync for TryRecvError
impl Sync for CharEscape
impl Sync for Infallible
impl Sync for LittleEndian
impl Sync for MgmtCommand
impl Sync for MgmtGameInstruction
impl Sync for MgmtGameResponse
impl Sync for MgmtGameUpdateMode
impl Sync for MgmtResponse
impl Sync for OccultationMethod
impl Sync for ProgressUpdateMode
impl Sync for SubstErrorKind
impl Sync for DiffToShow
impl Sync for PieceLabelPlace
impl Sync for SearchStep
impl Sync for FchownatFlags
impl Sync for ForkResult
impl Sync for LinkatFlags
impl Sync for PathconfVar
impl Sync for SysconfVar
impl Sync for UnlinkatFlags
impl Sync for AncillaryError
impl Sync for LogicError
impl Sync for CompressionMethod
impl Sync for CharacterSet
impl Sync for DecodeError
impl Sync for RoundingError
impl Sync for SecondsFormat
impl Sync for TimestampPrecision
impl Sync for WriteStyle
impl Sync for PosixFadviseAdvice
impl Sync for AioCancelStat
impl Sync for AioFsyncMode
impl Sync for MmapAdvise
impl Sync for RebootMode
impl Sync for SigHandler
impl Sync for SigevNotify
impl Sync for SigmaskHow
impl Sync for AddressFamily
impl Sync for ControlMessageOwned
impl Sync for SockProtocol
impl Sync for FchmodatFlags
impl Sync for UtimensatFlags
impl Sync for SpecialCharacterIndices
impl Sync for Expiration
impl Sync for WaitStatus
impl Sync for DecodeErrKind
impl Sync for ConnCredentials
impl Sync for FpCategory
impl Sync for IntErrorKind
impl Sync for AuthorisationError
impl Sync for IndexedZip
impl Sync for LibInBundleI
impl Sync for JoinPathsError
impl Sync for DeferredNow
impl Sync for LogSpecBuilder
impl Sync for LoggerHandle
impl Sync for ModuleFilter
impl Sync for FileLogWriter
impl Sync for FileLogWriterBuilder
impl Sync for DirBuilder
impl Sync for OpenOptions
impl Sync for Permissions
impl Sync for PosCFromIteratorError
impl Sync for DefaultHasher
impl Sync for RandomState
impl Sync for Initializer
impl Sync for CompactFormatter
impl Sync for otter_api_tests::serde_json::value::Serializer
impl Sync for OwnedCommon
impl Sync for PieceLabel
impl Sync for PlayerLabel
impl Sync for AuthKeysManipError
impl Sync for AuthkeysLine
impl Sync for Fingerprint
impl Sync for MgmtKeyReport
impl Sync for AccessTokenInfo
impl Sync for AccessTokenReport
impl Sync for Alphanumeric
impl Sync for CoordinateOverflow
impl Sync for GroupDetails
impl Sync for InstanceBundles
impl Sync for LogSpecification
impl Sync for NamedTempFile
impl Sync for NonZeroUsize
impl Sync for RecolourData
impl Sync for Sha512Trunc256
impl Sync for SubstError
impl Sync for TryFromIntError
impl Sync for UnixStream
impl Sync for TermReporter
impl Sync for ParseBoolError
impl Sync for AbbrevPresentationLayout
impl Sync for AccessRecord
impl Sync for AccountName
impl Sync for AccountNotFound
impl Sync for AccountRecord
impl Sync for AccountSshKey
impl Sync for AccountsGuard
impl Sync for AssetUrlToken
impl Sync for BadAssetUrlToken
impl Sync for BundleMeta
impl Sync for CircleShape
impl Sync for ClientSequence
impl Sync for ColourSpec
impl Sync for CommittedLogEntry
impl Sync for CompassAngle
impl Sync for CookedStdout
impl Sync for DataLoadPlayer
impl Sync for ExecuteGameChangeUpdates
impl Sync for ExitStatusError
impl Sync for FakeRngSpec
impl Sync for FixedToken
impl Sync for FooParseError
impl Sync for GameBeingDestroyed
impl Sync for GameOccults
impl Sync for Generation
impl Sync for GoodItemName
impl Sync for IPieceTraitObj
impl Sync for InstanceName
impl Sync for InstanceOuter
impl Sync for InstanceRef
impl Sync for InstanceWeakRef
impl Sync for InternalLogicError
impl Sync for ItemEnquiryData
impl Sync for LibraryEnquiryData
impl Sync for LinksTable
impl Sync for ModifyingPieces
impl Sync for NascentOccultation
impl Sync for OccultIlkData
impl Sync for OccultIlkId
impl Sync for OccultIlkName
impl Sync for OccultIlkOwningId
impl Sync for OccultIlks
impl Sync for OccultView
impl Sync for Occultation
impl Sync for OccultationViews
impl Sync for OcculterRotationChecked
impl Sync for OtterOutput
impl Sync for OtterPauseable
impl Sync for OtterPaused
impl Sync for OwnerOccultationView
impl Sync for PerPlayerIdMap
impl Sync for PieceAliases
impl Sync for PieceLabelLoaded
impl Sync for PieceOccult
impl Sync for PieceRenderInstructions
impl Sync for PieceSpecLoaded
impl Sync for PieceUpdate
impl Sync for PiecesSpec
impl Sync for PlayerAccessUnset
impl Sync for PlayerNotFound
impl Sync for PlayerRecord
impl Sync for PlayerUpdates
impl Sync for PlayerUpdatesBuildContext
impl Sync for PortmanteauMember
impl Sync for PreparedPieceImage
impl Sync for PreparedPieceState
impl Sync for PreparedUpdate
impl Sync for PreparedUpdateEntry_Image
impl Sync for PreparedUpdateEntry_Piece
impl Sync for PrivateCaller
impl Sync for RawTokenVal
impl Sync for ServerConfig
impl Sync for ServerConfigSpec
impl Sync for ShowUnocculted
impl Sync for SimpleCommon
impl Sync for StaticUserIter
impl Sync for StaticUserSetup
impl Sync for TablePermissionIter
impl Sync for TimedFdRead
impl Sync for TimedFdWrite
impl Sync for ToRecalculate
impl Sync for TokenByEmail
impl Sync for TokenDeliveryError
impl Sync for TokenRevelationKey
impl Sync for TokenRevelationValue
impl Sync for TrackWantedTests
impl Sync for UniformOccultationView
impl Sync for UnsupportedColourSpec
impl Sync for UoDescription
impl Sync for UrlOnStdout
impl Sync for VisibleAngleTransform
impl Sync for VisiblePieceId
impl Sync for WantedTestsOpt
impl Sync for WholeServerConfig
impl Sync for PathPersistError
impl Sync for PersistError
impl Sync for SpooledTempFile
impl Sync for AccessError
impl Sync for SystemTime
impl Sync for SystemTimeError
impl Sync for AccessFlags
impl Sync for SocketAddr
impl Sync for SocketCred
impl Sync for UnixDatagram
impl Sync for UnixListener
impl Sync for AddSubRangeDelta
impl Sync for MutateFirst
impl Sync for MutateLast
impl Sync for otter_api_tests::zcoord::ParseError
impl Sync for RangeBackwards
impl Sync for TotallyUnboundedRange
impl Sync for InvalidPassword
impl Sync for FileOptions
impl Sync for InternalFixed
impl Sync for InternalNumeric
impl Sync for FixedOffset
impl Sync for NaiveDateTime
impl Sync for otter_api_tests::imports::chrono::ParseError
impl Sync for ParseMonthError
impl Sync for ParseWeekdayError
impl Sync for InvalidOutputSize
impl Sync for MatchOptions
impl Sync for PatternError
impl Sync for Elf32_Chdr
impl Sync for Elf32_Ehdr
impl Sync for Elf32_Phdr
impl Sync for Elf32_Shdr
impl Sync for Elf64_Chdr
impl Sync for Elf64_Ehdr
impl Sync for Elf64_Phdr
impl Sync for Elf64_Shdr
impl Sync for __c_anonymous_sockaddr_can_j1939
impl Sync for __c_anonymous_sockaddr_can_tp
impl Sync for __exit_status
impl Sync for _libc_fpstate
impl Sync for _libc_fpxreg
impl Sync for _libc_xmmreg
impl Sync for arpd_request
impl Sync for arpreq_old
impl Sync for can_filter
impl Sync for canfd_frame
impl Sync for epoll_event
impl Sync for fanotify_event_metadata
impl Sync for fanotify_response
impl Sync for ff_condition_effect
impl Sync for ff_constant_effect
impl Sync for ff_envelope
impl Sync for ff_ramp_effect
impl Sync for ff_rumble_effect
impl Sync for ff_trigger
impl Sync for genlmsghdr
impl Sync for in6_pktinfo
impl Sync for in_pktinfo
impl Sync for inotify_event
impl Sync for input_absinfo
impl Sync for input_event
impl Sync for input_keymap_entry
impl Sync for input_mask
impl Sync for ip_mreq_source
impl Sync for itimerspec
impl Sync for max_align_t
impl Sync for nl_mmap_hdr
impl Sync for nl_mmap_req
impl Sync for nl_pktinfo
impl Sync for ntptimeval
impl Sync for packet_mreq
impl Sync for posix_spawnattr_t
impl Sync for pthread_attr_t
impl Sync for pthread_cond_t
impl Sync for pthread_condattr_t
impl Sync for pthread_mutex_t
impl Sync for pthread_mutexattr_t
impl Sync for pthread_rwlock_t
impl Sync for pthread_rwlockattr_t
impl Sync for regmatch_t
impl Sync for sched_param
impl Sync for sock_extended_err
impl Sync for sockaddr_alg
impl Sync for sockaddr_can
impl Sync for sockaddr_ll
impl Sync for sockaddr_nl
impl Sync for sockaddr_vm
impl Sync for statx_timestamp
impl Sync for uinput_abs_setup
impl Sync for uinput_ff_erase
impl Sync for uinput_ff_upload
impl Sync for uinput_setup
impl Sync for uinput_user_dev
impl Sync for user_fpregs_struct
impl Sync for user_regs_struct
impl Sync for ParseLevelError
impl Sync for SetLoggerError
impl Sync for FallocateFlags
impl Sync for SpliceFFlags
impl Sync for InterfaceAddress
impl Sync for DeleteModuleFlags
impl Sync for ModuleInitFlags
impl Sync for InterfaceFlags
impl Sync for ForkptyResult
impl Sync for OpenptyResult
impl Sync for CloneFlags
impl Sync for EpollCreateFlags
impl Sync for EpollEvent
impl Sync for EpollFlags
impl Sync for AddWatchFlags
impl Sync for InotifyEvent
impl Sync for WatchDescriptor
impl Sync for MemFdCreateFlag
impl Sync for MRemapFlags
impl Sync for MlockAllFlags
impl Sync for QuotaValidFlags
impl Sync for SignalIterator
impl Sync for signalfd_siginfo
impl Sync for AcceptConn
impl Sync for AlgSetAeadAuthSize
impl Sync for BindToDevice
impl Sync for IpAddMembership
impl Sync for IpDropMembership
impl Sync for IpMulticastLoop
impl Sync for IpMulticastTtl
impl Sync for IpTransparent
impl Sync for Ipv4PacketInfo
impl Sync for Ipv6AddMembership
impl Sync for Ipv6DropMembership
impl Sync for Ipv6RecvPacketInfo
impl Sync for OriginalDst
impl Sync for PeerCredentials
impl Sync for RcvBufForce
impl Sync for ReceiveTimeout
impl Sync for ReceiveTimestamp
impl Sync for ReceiveTimestampns
impl Sync for SendTimeout
impl Sync for SndBufForce
impl Sync for SocketError
impl Sync for TcpCongestion
impl Sync for TcpKeepCount
impl Sync for TcpKeepIdle
impl Sync for TcpKeepInterval
impl Sync for TcpNoDelay
impl Sync for UdpGroSegment
impl Sync for UdpGsoSegment
impl Sync for IpMembershipRequest
impl Sync for Ipv6MembershipRequest
impl Sync for NetlinkAddr
impl Sync for UnixCredentials
impl Sync for sockaddr_in6
impl Sync for sockaddr_in
impl Sync for sockaddr_storage
impl Sync for sockaddr_un
impl Sync for ControlFlags
impl Sync for InputFlags
impl Sync for LocalFlags
impl Sync for OutputFlags
impl Sync for TimerFlags
impl Sync for TimerSetTimeFlags
impl Sync for RemoteIoVec
impl Sync for WaitPidFlag
impl Sync for OnceNonZeroUsize
impl Sync for FloatIsNan
impl Sync for IgnoredAny
impl Sync for RawFairMutex
impl Sync for RawThreadId
impl Sync for WaitTimeoutResult
impl Sync for otter_api_tests::imports::regex::bytes::CaptureLocations
impl Sync for otter_api_tests::imports::regex::bytes::RegexBuilder
impl Sync for otter_api_tests::imports::regex::bytes::RegexSetBuilder
impl Sync for otter_api_tests::imports::regex::bytes::SetMatches
impl Sync for otter_api_tests::imports::regex::bytes::SetMatchesIntoIter
impl Sync for otter_api_tests::imports::regex::CaptureLocations
impl Sync for otter_api_tests::imports::regex::RegexBuilder
impl Sync for otter_api_tests::imports::regex::RegexSetBuilder
impl Sync for otter_api_tests::imports::regex::SetMatches
impl Sync for otter_api_tests::imports::regex::SetMatchesIntoIter
impl Sync for DefaultConfig
impl Sync for Sha512Trunc224
impl Sync for DefaultKey
impl Sync for DatetimeParseError
impl Sync for NonblockingUnixSeqpacketConn
impl Sync for NonblockingUnixSeqpacketListener
impl Sync for UnixSeqpacketConn
impl Sync for UnixSeqpacketListener
impl Sync for UnixSocketAddr
impl Sync for AllocError
impl Sync for LayoutError
impl Sync for CpuidResult
impl Sync for TryFromSliceError
impl Sync for otter_api_tests::imports::failure::_core::ascii::EscapeDefault
impl Sync for BorrowError
impl Sync for BorrowMutError
impl Sync for CharTryFromError
impl Sync for DecodeUtf16Error
impl Sync for otter_api_tests::imports::failure::_core::char::EscapeDebug
impl Sync for otter_api_tests::imports::failure::_core::char::EscapeDefault
impl Sync for otter_api_tests::imports::failure::_core::char::EscapeUnicode
impl Sync for ParseCharError
impl Sync for ToLowercase
impl Sync for ToUppercase
impl Sync for NonZeroI16
impl Sync for NonZeroI32
impl Sync for NonZeroI64
impl Sync for NonZeroI128
impl Sync for NonZeroIsize
impl Sync for NonZeroU16
impl Sync for NonZeroU32
impl Sync for NonZeroU64
impl Sync for NonZeroU128
impl Sync for ParseFloatError
impl Sync for ParseIntError
impl Sync for RawWakerVTable
impl Sync for PhantomPinned
impl Sync for __c_anonymous_sockaddr_can_can_addr
impl<'a> !Sync for ApiPieceOpArgs<'a>
impl<'a> !Sync for RecordBuilder<'a>
impl<'a> !Sync for CmsgIterator<'a>
impl<'a> !Sync for otter_api_tests::imports::toml::Serializer<'a>
impl<'a> Sync for AncillaryData<'a>
impl<'a> Sync for ControlMessage<'a>
impl<'a> Sync for Unexpected<'a>
impl<'a> Sync for SplitPaths<'a>
impl<'a> Sync for StderrLock<'a>
impl<'a> Sync for StdoutLock<'a>
impl<'a> Sync for otter_api_tests::serde_json::map::OccupiedEntry<'a>
impl<'a> Sync for otter_api_tests::serde_json::map::VacantEntry<'a>
impl<'a> Sync for PrettyFormatter<'a>
impl<'a> Sync for CharSearcher<'a>
impl<'a> Sync for CharIndices<'a>
impl<'a> Sync for EncodeUtf16<'a>
impl<'a> Sync for otter_api_tests::str::EscapeDebug<'a>
impl<'a> Sync for otter_api_tests::str::EscapeDefault<'a>
impl<'a> Sync for otter_api_tests::str::EscapeUnicode<'a>
impl<'a> Sync for SplitAsciiWhitespace<'a>
impl<'a> Sync for SplitWhitespace<'a>
impl<'a> Sync for AnyhowDisplay<'a>
impl<'a> Sync for ScmCredentials<'a>
impl<'a> Sync for SocketAncillary<'a>
impl<'a> Sync for Base64Display<'a>
impl<'a> Sync for StrftimeItems<'a>
impl<'a> Sync for MetadataBuilder<'a>
impl<'a> Sync for LioCbBuilder<'a>
impl<'a> Sync for otter_api_tests::imports::regex::bytes::SetMatchesIter<'a>
impl<'a> Sync for otter_api_tests::imports::regex::SetMatchesIter<'a>
impl<'a> Sync for otter_api_tests::imports::toml::map::OccupiedEntry<'a>
impl<'a> Sync for otter_api_tests::imports::toml::map::VacantEntry<'a>
impl<'a> Sync for otter_api_tests::imports::toml::Deserializer<'a>
impl<'a> Sync for EscapeAscii<'a>
impl<'a> Sync for Utf8LossyChunk<'a>
impl<'a> Sync for Utf8LossyChunksIter<'a>
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, A> Sync for otter_api_tests::imports::failure::_core::option::IterMut<'a, A> where
A: Sync,
impl<'a, E> Sync for BytesDeserializer<'a, E> where
E: Sync,
impl<'a, E> Sync for CowStrDeserializer<'a, E> where
E: Sync,
impl<'a, E> Sync for otter_api_tests::imports::otter_base::imports::serde::de::value::StrDeserializer<'a, E> where
E: Sync,
impl<'a, F> Sync for CharPredicateSearcher<'a, F> where
F: Sync,
impl<'a, I> Sync for RecvMmsgData<'a, I> where
I: Sync,
impl<'a, I, C> Sync for SendMmsgData<'a, I, C> where
C: Sync,
I: Sync,
impl<'a, I, E> Sync for ProcessResults<'a, I, E> where
E: Sync,
I: Sync,
impl<'a, I, F> !Sync for FormatWith<'a, I, F>
impl<'a, I, F> Sync for PeekingTakeWhile<'a, I, F> where
F: Sync,
I: Sync,
impl<'a, I, F> Sync for TakeWhileRef<'a, I, F> where
F: Sync,
I: Sync,
impl<'a, K, I, F> !Sync for otter_api_tests::imports::otter_base::imports::itertools::Group<'a, K, I, F>
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::secondary::Entry<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::sparse_secondary::Entry<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::btree_map::OccupiedEntry<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::btree_map::OccupiedError<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::btree_map::VacantEntry<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::hash_map::OccupiedEntry<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::hash_map::OccupiedError<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::hash_map::VacantEntry<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::basic::ValuesMut<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::dense::Drain<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::dense::Iter<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::dense::IterMut<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::dense::Keys<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::dense::Values<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::dense::ValuesMut<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::secondary::Drain<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::secondary::IterMut<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::secondary::OccupiedEntry<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::secondary::VacantEntry<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::secondary::Values<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::secondary::ValuesMut<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::sparse_secondary::Drain<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::sparse_secondary::Iter<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::sparse_secondary::IterMut<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::sparse_secondary::Keys<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::sparse_secondary::OccupiedEntry<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::sparse_secondary::VacantEntry<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::sparse_secondary::Values<'a, K, V> where
V: Sync,
impl<'a, K, V> Sync for otter_api_tests::imports::slotmap::sparse_secondary::ValuesMut<'a, K, V> where
V: Sync,
impl<'a, K, V, F> Sync for otter_api_tests::btree_map::DrainFilter<'a, K, V, F> where
F: Sync,
K: Sync,
V: Sync,
impl<'a, K, V, F> Sync for otter_api_tests::hash_map::DrainFilter<'a, K, V, F> where
F: Sync,
K: Sync,
V: Sync,
impl<'a, K, V, S> Sync for RawEntryMut<'a, K, V, S> where
K: Sync,
S: Sync,
V: Sync,
impl<'a, K, V, S> Sync for RawEntryBuilder<'a, K, V, S> where
K: Sync,
S: Sync,
V: Sync,
impl<'a, K, V, S> Sync for RawEntryBuilderMut<'a, K, V, S> where
K: Sync,
S: Sync,
V: Sync,
impl<'a, K, V, S> Sync for otter_api_tests::hash_map::RawOccupiedEntryMut<'a, K, V, S> where
K: Sync,
V: Sync,
impl<'a, K, V, S> Sync for RawVacantEntryMut<'a, K, V, S> where
K: Sync,
S: Sync,
V: Sync,
impl<'a, P> Sync for MatchIndices<'a, P> where
<P as Pattern<'a>>::Searcher: Sync,
impl<'a, P> Sync for RMatchIndices<'a, P> where
<P as Pattern<'a>>::Searcher: Sync,
impl<'a, P> Sync for RSplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Sync,
impl<'a, P> Sync for otter_api_tests::str::SplitInclusive<'a, P> where
<P as Pattern<'a>>::Searcher: Sync,
impl<'a, P> Sync for SplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Sync,
impl<'a, R> Sync for DecoderReader<'a, R> where
R: Sync,
impl<'a, R, T: ?Sized> Sync for otter_api_tests::imports::parking_lot::lock_api::RwLockReadGuard<'a, R, T> where
R: Sync,
T: Send + Sync,
<R as RawRwLock>::GuardMarker: Sync,
impl<'a, R, T: ?Sized> Sync for otter_api_tests::imports::parking_lot::lock_api::RwLockWriteGuard<'a, R, T> where
R: Sync,
T: Send + Sync,
<R as RawRwLock>::GuardMarker: Sync,
impl<'a, R: ?Sized> Sync for otter_api_tests::imports::regex::bytes::ReplacerRef<'a, R> where
R: Sync,
impl<'a, R: ?Sized> Sync for otter_api_tests::imports::regex::ReplacerRef<'a, R> where
R: Sync,
impl<'a, R: ?Sized> Sync for ReadRefReader<'a, R> where
R: Sync,
impl<'a, T> !Sync for StyledValue<'a, T>
impl<'a, T> Sync for Difference<'a, T> where
T: Sync,
impl<'a, T> Sync for Intersection<'a, T> where
T: Sync,
impl<'a, T> Sync for SymmetricDifference<'a, T> where
T: Sync,
impl<'a, T> Sync for otter_api_tests::imports::failure::_core::result::IterMut<'a, T> where
T: Sync,
impl<'a, T> Sync for ChunksExact<'a, T> where
T: Sync,
impl<'a, T> Sync for ChunksExactMut<'a, T> where
T: Sync,
impl<'a, T> Sync for RChunksExact<'a, T> where
T: Sync,
impl<'a, T> Sync for RChunksExactMut<'a, T> where
T: Sync,
impl<'a, T> Sync for RChunksMut<'a, T> where
T: Sync,
impl<'a, T, F> Sync for otter_api_tests::btree_set::DrainFilter<'a, T, F> where
F: Sync,
T: Sync,
impl<'a, T, P> Sync for otter_api_tests::imports::failure::_core::slice::GroupBy<'a, T, P> where
P: Sync,
T: Sync,
impl<'a, T, P> Sync for GroupByMut<'a, T, P> where
P: Sync,
T: Sync,
impl<'a, T, P> Sync for otter_api_tests::imports::failure::_core::slice::RSplit<'a, T, P> where
P: Sync,
T: Sync,
impl<'a, T, P> Sync for otter_api_tests::imports::failure::_core::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 otter_api_tests::imports::failure::_core::slice::Split<'a, T, P> where
P: Sync,
T: Sync,
impl<'a, T, P> Sync for otter_api_tests::imports::failure::_core::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 otter_api_tests::imports::failure::_core::slice::SplitN<'a, T, P> where
P: Sync,
T: Sync,
impl<'a, T, const N: usize> !Sync for ArrayWindows<'a, T, N>
impl<'a, T, const N: usize> Sync for ArrayChunks<'a, T, N> where
T: Sync,
impl<'a, T, const N: usize> Sync for ArrayChunksMut<'a, T, N> where
T: Sync,
impl<'a, W> Sync for ExtFieldSerializer<'a, W> where
W: Sync,
impl<'a, W> Sync for ExtSerializer<'a, W> where
W: Sync,
impl<'a, W, C> Sync for MaybeUnknownLengthCompound<'a, W, C> where
C: Sync,
W: Sync,
impl<'c, 't> Sync for otter_api_tests::imports::regex::bytes::SubCaptureMatches<'c, 't>
impl<'c, 't> Sync for otter_api_tests::imports::regex::SubCaptureMatches<'c, 't>
impl<'c, 'w, W> Sync for ResponseOriginator<'c, 'w, W> where
W: Sync,
impl<'c, W> Sync for ResponseWriter<'c, W> where
W: Sync,
impl<'de, E> Sync for BorrowedBytesDeserializer<'de, E> where
E: Sync,
impl<'de, E> Sync for otter_api_tests::imports::otter_base::imports::serde::de::value::BorrowedStrDeserializer<'de, E> where
E: Sync,
impl<'de, I, E> Sync for MapDeserializer<'de, I, E> where
E: Sync,
I: Sync,
<<I as Iterator>::Item as Pair>::Second: Sync,
impl<'de, R, T> Sync for StreamDeserializer<'de, R, T> where
R: Sync,
T: Sync,
impl<'f> !Sync for VaListImpl<'f>
impl<'g> !Sync for InstanceGuard<'g>
impl<'g> Sync for UniqueGenGen<'g>
impl<'i> !Sync for AllRegistriesIterator<'i>
impl<'i, P> Sync for EffectiveACL<'i, P>
impl<'ig> !Sync for AllRegistries<'ig>
impl<'o, R> !Sync for ReadOriginator<'o, R>
impl<'pi> Sync for ProgressInfo<'pi>
impl<'r> !Sync for PrepareUpdatesBuffer<'r>
impl<'r> Sync for otter_api_tests::imports::regex::bytes::CaptureNames<'r>
impl<'r> Sync for otter_api_tests::imports::regex::CaptureNames<'r>
impl<'r, 't> !Sync for otter_api_tests::imports::regex::bytes::CaptureMatches<'r, 't>
impl<'r, 't> !Sync for otter_api_tests::imports::regex::CaptureMatches<'r, 't>
impl<'u> Sync for TransmitUpdate<'u>
impl<'v, T, I> Sync for otter_api_tests::imports::vecdeque_stableix::Iter<'v, T, I> where
I: Sync,
T: Sync,
impl<'w, W> Sync for WriteFrame<'w, W> where
W: Sync,
impl<A> !Sync for Authorisation<A>
impl<A> Sync for MapAccessDeserializer<A> where
A: Sync,
impl<A> Sync for SeqAccessDeserializer<A> where
A: Sync,
impl<A, B> Sync for EitherOrBoth<A, B> where
A: Sync,
B: Sync,
impl<ASO, MR> Sync for IteratorCore<ASO, MR> where
ASO: Sync,
MR: Sync,
impl<B, C> Sync for ControlFlow<B, C> where
B: Sync,
C: Sync,
impl<B, X> Sync for ExtendedSubst<B, X> where
B: Sync,
X: Sync,
impl<C> Sync for BinaryConfig<C> where
C: Sync,
impl<C> Sync for HumanReadableConfig<C> where
C: Sync,
impl<C> Sync for StructMapConfig<C> where
C: Sync,
impl<C> Sync for StructTupleConfig<C> where
C: Sync,
impl<C> Sync for VariantIntegerConfig<C> where
C: Sync,
impl<C> Sync for VariantStringConfig<C> where
C: Sync,
impl<D> Sync for OccultationKindGeneral<D> where
D: Sync,
impl<D, R> Sync for DigestRead<D, R> where
D: Sync,
R: Sync,
impl<D, W> Sync for DigestWrite<D, W> where
D: Sync,
W: Sync,
impl<Desc, Outl> Sync for GenericSimpleShape<Desc, Outl> where
Desc: Sync,
Outl: Sync,
impl<E> Sync for ParseNotNanError<E> where
E: Sync,
impl<E> Sync for BoolDeserializer<E> where
E: Sync,
impl<E> Sync for CharDeserializer<E> where
E: Sync,
impl<E> Sync for F32Deserializer<E> where
E: Sync,
impl<E> Sync for F64Deserializer<E> where
E: Sync,
impl<E> Sync for I8Deserializer<E> where
E: Sync,
impl<E> Sync for I16Deserializer<E> where
E: Sync,
impl<E> Sync for I32Deserializer<E> where
E: Sync,
impl<E> Sync for I64Deserializer<E> where
E: Sync,
impl<E> Sync for I128Deserializer<E> where
E: Sync,
impl<E> Sync for IsizeDeserializer<E> where
E: Sync,
impl<E> Sync for StringDeserializer<E> where
E: Sync,
impl<E> Sync for U8Deserializer<E> where
E: Sync,
impl<E> Sync for U16Deserializer<E> where
E: Sync,
impl<E> Sync for U32Deserializer<E> where
E: Sync,
impl<E> Sync for U64Deserializer<E> where
E: Sync,
impl<E> Sync for U128Deserializer<E> where
E: Sync,
impl<E> Sync for UnitDeserializer<E> where
E: Sync,
impl<E> Sync for UsizeDeserializer<E> where
E: Sync,
impl<F> Sync for RepeatWith<F> where
F: Sync,
impl<F> Sync for RepeatCall<F> where
F: Sync,
impl<H> Sync for BuildHasherDefault<H> where
H: Sync,
impl<I> !Sync for IntoChunks<I>
impl<I> Sync for DelayedFormat<I> where
I: Sync,
impl<I> Sync for GroupingMap<I> where
I: Sync,
impl<I> Sync for DecodeUtf16<I> where
I: Sync,
impl<I, E> Sync for SeqDeserializer<I, E> where
E: Sync,
I: Sync,
impl<I, ElemF> Sync for otter_api_tests::imports::otter_base::imports::itertools::IntersperseWith<I, ElemF> where
ElemF: Sync,
I: Sync,
<I as Iterator>::Item: Sync,
impl<I, F> Sync for FilterMapOk<I, F> where
F: Sync,
I: Sync,
impl<I, G> Sync for otter_api_tests::iter::IntersperseWith<I, G> where
G: Sync,
I: Sync,
<I as Iterator>::Item: Sync,
impl<I, J> Sync for Diff<I, J> where
I: Sync,
J: Sync,
<I as Iterator>::Item: Sync,
<J as Iterator>::Item: Sync,
impl<I, J> Sync for ConsTuples<I, J> where
I: Sync,
impl<I, J> Sync for Interleave<I, J> where
I: Sync,
J: Sync,
impl<I, J> Sync for InterleaveShortest<I, J> where
I: Sync,
J: Sync,
impl<I, J, F> Sync for MergeBy<I, J, F> where
F: Sync,
I: Sync,
J: Sync,
<I as Iterator>::Item: Sync,
impl<I, J, F> Sync for MergeJoinBy<I, J, F> where
F: Sync,
I: Sync,
J: Sync,
<I as Iterator>::Item: Sync,
<J as Iterator>::Item: Sync,
impl<I, T> Sync for CircularTupleWindows<I, T> where
I: Sync,
T: Sync,
impl<I, T> Sync for TupleCombinations<I, T> where
I: Sync,
<T as HasCombination<I>>::Combination: Sync,
impl<I, T> Sync for TupleWindows<I, T> where
I: Sync,
T: Sync,
impl<I, T: ?Sized> Sync for IndexSlice<I, T> where
T: Sync,
impl<I, U, F> Sync for FlatMap<I, U, F> where
F: Sync,
I: Sync,
<U as IntoIterator>::IntoIter: Sync,
impl<Id> Sync for InstanceAccessDetails<Id> where
Id: Sync,
impl<Id> Sync for TokenRegistry<Id> where
Id: Sync,
impl<Idx> Sync for RangeInclusive<Idx> where
Idx: Sync,
impl<Idx> Sync for RangeToInclusive<Idx> where
Idx: Sync,
impl<K, V> Sync for otter_api_tests::btree_map::IntoValues<K, V> where
K: Sync,
V: Sync,
impl<K, V> Sync for otter_api_tests::hash_map::IntoValues<K, V> where
K: Sync,
V: Sync,
impl<K, V> Sync for DenseSlotMap<K, V> where
K: Sync,
V: Sync,
impl<K, V> Sync for otter_api_tests::imports::slotmap::dense::IntoIter<K, V> where
K: Sync,
V: Sync,
impl<K, V> Sync for otter_api_tests::imports::slotmap::sparse_secondary::IntoIter<K, V> where
V: Sync,
impl<K, V> Sync for HopSlotMap<K, V> where
V: Sync,
impl<K, V> Sync for SecondaryMap<K, V> where
V: Sync,
impl<K, V, S> Sync for SparseSecondaryMap<K, V, S> where
S: Sync,
V: Sync,
impl<NS, ZL> Sync for PieceUpdateOp<NS, ZL> where
NS: Sync,
ZL: Sync,
impl<Ok, Error> Sync for Impossible<Ok, Error> where
Error: Sync,
Ok: Sync,
impl<P, Z> Sync for PriOccultedGeneral<P, Z> where
P: Sync,
Z: Sync,
impl<POEPU> Sync for ErrorSignaledViaUpdate<POEPU> where
POEPU: Sync,
impl<R> Sync for otter_api_tests::serde_json::Deserializer<R> where
R: Sync,
impl<R> Sync for FrameReader<R> where
R: Sync,
impl<R> Sync for ZipArchive<R> where
R: Sync,
impl<R> Sync for ReadReader<R> where
R: Sync,
impl<R, C> Sync for otter_api_tests::imports::rmp_serde::Deserializer<R, C> where
C: Sync,
R: Sync,
impl<R, W> Sync for MgmtChannel<R, W> where
R: Sync,
W: Sync,
impl<S> Sync for EncoderStringWriter<S> where
S: Sync,
impl<T> !Sync for otter_api_tests::thread::__FastLocalKeyInner<T>
impl<T> Sync for TrySendError<T> where
T: Sync,
impl<T> Sync for LocalResult<T> where
T: Sync,
impl<T> Sync for MinMaxResult<T> where
T: Sync,
impl<T> Sync for SyncSender<T> where
T: Send,
impl<T> Sync for Discriminant<T>
impl<T> Sync for OrderedFloat<T> where
T: Sync,
impl<T> Sync for IsHtmlFormatted<T> where
T: Sync,
impl<T> Sync for JsonString<T> where
T: Sync,
impl<T> Sync for PosOffTableError<T> where
T: Sync,
impl<T> Sync for CapacityError<T> where
T: Sync,
impl<T> Sync for TupleBuffer<T> where
<T as TupleCollect>::Buffer: Sync,
impl<T> Sync for SyncFailure<T> where
T: Send,
impl<T> Sync for MaybeUninit<T> where
T: Sync,
impl<T, A> Sync for Unauthorised<T, A> where
A: Sync,
T: Sync,
impl<T, D> Sync for DebugReader<T, D> where
D: Sync,
T: Sync,
impl<T, F> Sync for Successors<T, F> where
F: Sync,
T: Sync,
impl<T, N> Sync for GenericArrayIter<T, N> where
T: Sync,
impl<T, U> Sync for ZipLongest<T, U> where
T: Sync,
U: Sync,
impl<T, const CAP: usize> Sync for otter_api_tests::imports::otter_base::imports::arrayvec::IntoIter<T, CAP> where
T: Sync,
impl<T, const N: usize> Sync for otter_api_tests::imports::failure::_core::array::IntoIter<T, N> where
T: Sync,
impl<T: ?Sized> Sync for ManuallyDrop<T> where
T: Sync,
impl<T: ?Sized> Sync for PhantomData<T> where
T: Sync,
impl<Tz> Sync for otter_api_tests::imports::chrono::DateTime<Tz> where
<Tz as TimeZone>::Offset: Sync,
impl<U> Sync for PreparedPieceUpdateGeneral<U> where
U: Sync,
impl<W> Sync for IntoInnerError<W> where
W: Sync,
impl<W> Sync for LineWriter<W> where
W: Sync,
impl<W> Sync for FrameWriter<W> where
W: Sync,
impl<W> Sync for SigPipeWriter<W> where
W: Sync,
impl<W> Sync for EncoderWriter<W> where
W: Sync,
impl<W, C> Sync for otter_api_tests::imports::rmp_serde::Serializer<W, C> where
C: Sync,
W: Sync,
impl<W, F> Sync for otter_api_tests::serde_json::Serializer<W, F> where
F: Sync,
W: Sync,
impl<Y, R> Sync for GeneratorState<Y, R> where
R: Sync,
Y: Sync,
impl<const CAP: usize> Sync for ArrayString<CAP>