Trait swc_common::sync::Send

1.0.0 · source ·
pub unsafe auto trait Send { }
Expand description

Types that can be transferred across thread boundaries.

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

An example of a non-Send type is the reference-counting pointer rc::Rc. If two threads attempt to clone Rcs that point to the same reference-counted value, they might try to update the reference count at the same time, which is undefined behavior because Rc doesn’t use atomic operations. Its cousin sync::Arc does use atomic operations (incurring some overhead) and thus is Send.

See the Nomicon and the Sync trait for more details.

Implementors§

1.26.0 · source§

impl !Send for Args

1.26.0 · source§

impl !Send for ArgsOs

source§

impl Send for SharedDeserializeMapError

source§

impl Send for AllocScratchError

source§

impl Send for SharedSerializeMapError

source§

impl Send for ArchiveError

source§

impl Send for Atom

Immutable, so it’s safe to be shared between threads

source§

impl Send for AllocScratch

source§

impl Send for SharedSerializeMap

source§

impl Send for AlignedVec

source§

impl Send for PrefixRange

source§

impl Send for SuffixRange

source§

impl Send for SharedValidator

1.6.0 · source§

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

1.36.0 · source§

impl Send for Waker

source§

impl<'a> Send for ArchiveValidator<'a>

1.44.0 · source§

impl<'a> Send for IoSlice<'a>

1.44.0 · source§

impl<'a> Send for IoSliceMut<'a>

source§

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

source§

impl<'a, R, T> Send for MappedMutexGuard<'a, R, T>where R: RawMutex + 'a, T: Send + 'a + ?Sized, <R as RawMutex>::GuardMarker: Send,

source§

impl<'a, R, T> Send for MappedRwLockReadGuard<'a, R, T>where R: RawRwLock + 'a, T: Sync + 'a + ?Sized, <R as RawRwLock>::GuardMarker: Send,

source§

impl<'a, R, T> Send for MappedRwLockWriteGuard<'a, R, T>where R: RawRwLock + 'a, T: Send + 'a + ?Sized, <R as RawRwLock>::GuardMarker: Send,

source§

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

source§

impl<A> Send for SmallVec<A>where A: Array, <A as Array>::Item: Send,

source§

impl<Dyn> Send for ptr_meta::DynMetadata<Dyn>where Dyn: ?Sized,

source§

impl<Dyn> Send for core::ptr::metadata::DynMetadata<Dyn>where Dyn: ?Sized,

source§

impl<K, V> Send for hashbrown::map::IterMut<'_, K, V>where K: Send, V: Send,

source§

impl<K, V, S, A> Send for OccupiedEntry<'_, K, V, S, A>where K: Send, V: Send, S: Send, A: Send + Allocator + Clone,

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<T> !Send for *const Twhere T: ?Sized,

source§

impl<T> !Send for *mut Twhere T: ?Sized,

1.25.0 · source§

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

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

source§

impl<T> !Send for MutexGuard<'_, T>where T: ?Sized,

source§

impl<T> !Send for RwLockReadGuard<'_, T>where T: ?Sized,

source§

impl<T> !Send for RwLockWriteGuard<'_, T>where T: ?Sized,

source§

impl<T> Send for &Twhere T: Sync + ?Sized,

source§

impl<T> Send for Bucket<T>

source§

impl<T> Send for BufferScratch<T>where T: Send,

source§

impl<T> Send for ScratchVec<T>where T: Send,

source§

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

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

source§

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

source§

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

source§

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

source§

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

1.31.0 · source§

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

source§

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

source§

impl<T> Send for core::slice::iter::Iter<'_, T>where T: Sync,

source§

impl<T> Send for core::slice::iter::IterMut<'_, T>where T: Send,

1.31.0 · source§

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

1.31.0 · source§

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

source§

impl<T> Send for AtomicPtr<T>

source§

impl<T> Send for Receiver<T>where T: Send,

source§

impl<T> Send for Sender<T>where T: Send,

source§

impl<T> Send for SyncSender<T>where T: Send,

source§

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

1.70.0 · source§

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

source§

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

1.29.0 · source§

impl<T> Send for JoinHandle<T>

source§

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

1.4.0 · source§

impl<T, A> !Send for alloc::rc::Weak<T, A>where A: Allocator, T: ?Sized,

source§

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

source§

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

source§

impl<T, A> Send for RawTable<T, A>where A: Allocator + Clone + Send, T: Send,

source§

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

source§

impl<T, A> Send for CursorMut<'_, T, A>where T: Send, A: Allocator + Send,

source§

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

1.6.0 · source§

impl<T, A> Send for alloc::collections::vec_deque::drain::Drain<'_, T, A>where T: Send, A: Allocator + Send,

1.4.0 · source§

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

1.6.0 · source§

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

source§

impl<T, A> Send for IntoIter<T, A>where T: Send, A: Allocator + Send,

source§

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

Auto implementors§

§

impl !Send for SingleThreadedComments

§

impl Send for ArchivedCommentKind

§

impl Send for CommentKind

§

impl Send for CommentKindResolver

§

impl Send for ColorConfig

§

impl Send for Destination

§

impl Send for Applicability

§

impl Send for ApplicabilityResolver

§

impl Send for ArchivedApplicability

§

impl Send for ArchivedLevel

§

impl Send for DiagnosticId

§

impl Send for Level

§

impl Send for LevelResolver

§

impl Send for TransformPluginMetadataContextKind

§

impl Send for ArchivedPluginError

§

impl Send for PluginError

§

impl Send for PluginErrorResolver

§

impl Send for ArchivedFileName

§

impl Send for ArchivedNonNarrowChar

§

impl Send for ArchivedSpanLinesError

§

impl Send for ArchivedSpanSnippetError

§

impl Send for FileName

§

impl Send for FileNameResolver

§

impl Send for NonNarrowChar

§

impl Send for NonNarrowCharResolver

§

impl Send for SpanLinesError

§

impl Send for SpanLinesErrorResolver

§

impl Send for SpanSnippetError

§

impl Send for SpanSnippetErrorResolver

§

impl Send for core::fmt::Alignment

§

impl Send for ArchivedComment

§

impl Send for Comment

§

impl Send for CommentResolver

§

impl Send for NoopComments

§

impl Send for EmitterWriter

§

impl Send for ArchivedCodeSuggestion

§

impl Send for ArchivedSubstitution

§

impl Send for ArchivedSubstitutionPart

§

impl Send for CodeSuggestion

§

impl Send for CodeSuggestionResolver

§

impl Send for Diagnostic

§

impl Send for DiagnosticStyledString

§

impl Send for ExplicitBug

§

impl Send for FatalError

§

impl Send for FatalErrorMarker

§

impl Send for Handler

§

impl Send for HandlerFlags

§

impl Send for SubDiagnostic

§

impl Send for Substitution

§

impl Send for SubstitutionPart

§

impl Send for SubstitutionPartResolver

§

impl Send for SubstitutionResolver

§

impl Send for ArchivedMutableMarkContext

§

impl Send for ArchivedSyntaxContext

§

impl Send for Mark

§

impl Send for MutableMarkContext

§

impl Send for MutableMarkContextResolver

§

impl Send for SyntaxContext

§

impl Send for SyntaxContextResolver

§

impl Send for ArchivedPluginCorePkgDiagnostics

§

impl Send for PluginCorePkgDiagnostics

§

impl Send for PluginCorePkgDiagnosticsResolver

§

impl Send for TransformPluginMetadataContext

§

impl Send for PluginSerializedBytes

§

impl Send for Type

§

impl Send for ArchivedBytePos

§

impl Send for ArchivedCharPos

§

impl Send for ArchivedDistinctSources

§

impl Send for ArchivedFilePos

§

impl Send for ArchivedLineInfo

§

impl Send for ArchivedMalformedSourceMapPositions

§

impl Send for ArchivedMultiByteChar

§

impl Send for ArchivedMultiSpan

§

impl Send for ArchivedPartialFileLines

§

impl Send for ArchivedPartialLoc

§

impl Send for ArchivedPrimarySpanLabel

§

impl Send for ArchivedSourceFile

§

impl Send for ArchivedSourceFileAndBytePos

§

impl Send for ArchivedSpan

§

impl Send for BytePos

§

impl Send for BytePosResolver

§

impl Send for ByteToCharPosState

§

impl Send for CharPos

§

impl Send for CharPosResolver

§

impl Send for DefaultSourceMapGenConfig

§

impl Send for DistinctSources

§

impl Send for DistinctSourcesResolver

§

impl Send for EncodePathBuf

§

impl Send for EncodeUrl

§

impl Send for FileLines

§

impl Send for FilePathMapping

§

impl Send for FilePos

§

impl Send for FilePosResolver

§

impl Send for Globals

§

impl Send for LineCol

§

impl Send for LineInfo

§

impl Send for LineInfoResolver

§

impl Send for Loc

§

impl Send for LocWithOpt

§

impl Send for MalformedSourceMapPositions

§

impl Send for MalformedSourceMapPositionsResolver

§

impl Send for MultiByteChar

§

impl Send for MultiByteCharResolver

§

impl Send for MultiSpan

§

impl Send for MultiSpanResolver

§

impl Send for PartialFileLines

§

impl Send for PartialFileLinesResolver

§

impl Send for PartialLoc

§

impl Send for PartialLocResolver

§

impl Send for PrimarySpanLabel

§

impl Send for PrimarySpanLabelResolver

§

impl Send for RealFileLoader

§

impl Send for SourceFile

§

impl Send for SourceFileAndBytePos

§

impl Send for SourceFileAndBytePosResolver

§

impl Send for SourceFileAndLine

§

impl Send for SourceFileResolver

§

impl Send for SourceMap

§

impl Send for Span

§

impl Send for SpanLabel

§

impl Send for SpanResolver

§

impl Send for StableSourceFileId

§

impl Send for Error

§

impl Send for core::ptr::alignment::Alignment

§

impl Send for AdjacentlyTaggedEnumVariant

§

impl Send for TagContentOtherField

§

impl Send for TagContentOtherFieldVisitor

§

impl Send for TagOrContentField

§

impl Send for TagOrContentFieldVisitor

§

impl<'a> !Send for Arguments<'a>

§

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

§

impl<'a> Send for WritableDst<'a>

§

impl<'a> Send for DiagnosticBuilder<'a>

§

impl<'a> Send for StringInput<'a>

§

impl<'a> Send for InternallyTaggedUnitVisitor<'a>

§

impl<'a> Send for UntaggedUnitVisitor<'a>

§

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

§

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

§

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

§

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

§

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

§

impl<'a, 'de, E> Send for ContentRefDeserializer<'a, 'de, E>where E: Send,

§

impl<'a, 'de, E> Send for FlatMapDeserializer<'a, 'de, E>where E: Send,

§

impl<'a, E> Send for StrDeserializer<'a, E>where E: Send,

§

impl<'a, K> Send for AstKindPathGuard<'a, K>where K: Send,

§

impl<'a, K> Send for AstKindPathIndexGuard<'a, K>where K: Send,

§

impl<'a, M> Send for FlatMapSerializeMap<'a, M>where M: Send,

§

impl<'a, M> Send for FlatMapSerializeStruct<'a, M>where M: Send,

§

impl<'a, M> Send for FlatMapSerializeStructVariantAsMapValue<'a, M>where M: Send,

§

impl<'a, M> Send for FlatMapSerializeTupleVariantAsMapValue<'a, M>where M: Send,

§

impl<'a, M> Send for FlatMapSerializer<'a, M>where M: Send,

§

impl<'a, N> Send for AstNodePathGuard<'a, N>where N: Send, <N as NodeRef>::ParentKind: Send,

§

impl<'a, N> Send for AstNodePathIndexGuard<'a, N>where N: Send, <N as NodeRef>::ParentKind: Send,

§

impl<'a, T> Send for InPlaceSeed<'a, T>where T: Send,

§

impl<'de> Send for Content<'de>

§

impl<'de, E> Send for BorrowedStrDeserializer<'de, E>where E: Send,

§

impl<'de, E> Send for ContentDeserializer<'de, E>where E: Send,

§

impl<'de, E> Send for EnumDeserializer<'de, E>where E: Send,

§

impl<'de, T: ?Sized> Send for Borrowed<'de, T>where T: Sync,

§

impl<A, B> Send for AndThen<A, B>where A: Send, B: Send,

§

impl<B, F, I> Send for ChainWith<B, F, I>where B: Send, F: Send, I: Send,

§

impl<F> Send for AdjacentlyTaggedEnumVariantSeed<F>where F: Send,

§

impl<F> Send for AdjacentlyTaggedEnumVariantVisitor<F>where F: Send,

§

impl<It> Send for swc_common::iter::Iter<It>where It: Send, <It as Iterator>::Item: Send,

§

impl<K> Send for AstKindPath<K>where K: Send,

§

impl<L, R> Send for Either<L, R>where L: Send, R: Send,

§

impl<N> Send for AstNodePath<N>where N: Send, <N as NodeRef>::ParentKind: Send,

§

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

§

impl<T> Send for ArchivedVersionedSerializable<T>where <T as Archive>::Archived: Send,

§

impl<T> Send for VersionedSerializable<T>where T: Send,

§

impl<T> Send for VersionedSerializableResolver<T>where <T as Archive>::Resolver: Send,

§

impl<T> Send for Node<T>where T: Send,

§

impl<T> Send for Lock<T>where T: Send,

§

impl<T> Send for LockCell<T>where T: Send,

§

impl<T> Send for OnceCell<T>where T: Send,

§

impl<T> Send for swc_common::sync::RwLock<T>where T: Send,

§

impl<T> Send for CannotSerializeVariant<T>where T: Send,

§

impl<T> Send for TaggedContentVisitor<T>where T: Send,

§

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

§

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

§

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

§

impl<T: ?Sized> Send for PhantomData<T>where T: Send,

§

impl<V> Send for All<V>where V: Send,

§

impl<V> Send for Optional<V>where V: Send,

§

impl<V> Send for Repeat<V>where V: Send,