Skip to main content

Send

Trait Send 

1.0.0 · Source
pub(crate) 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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

1.0.0 · Source§

impl !Send for Arguments<'_>

Source§

impl !Send for LocalWaker

Source§

impl Send for Bytes<'_>

Source§

impl Send for DIR

1.10.0 · Source§

impl Send for Location<'_>

1.0.0 · Source§

impl Send for TypeId

1.36.0 · Source§

impl Send for Waker

1.44.0 · Source§

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

1.44.0 · Source§

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

Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

impl<T> !Send for *mut T
where 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.

1.0.0 · Source§

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

1.0.0 · Source§

impl<T> Send for Atomic<T>
where T: AtomicPrimitive,

1.0.0 · Source§

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

1.31.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.28.0 · Source§

impl<T> Send for NonZero<T>

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,

1.0.0 · Source§

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

Auto implementors§

§

impl !Send for Dl_info

§

impl !Send for FILE

§

impl !Send for __c_anonymous__bounds__addr_bnd

§

impl !Send for __c_anonymous__si_fields__rt

§

impl !Send for __c_anonymous__si_fields__sigfault

§

impl !Send for __c_anonymous__si_fields__sigsys

§

impl !Send for __c_anonymous__si_fields__timer

§

impl !Send for __c_anonymous__sigfault__bounds

§

impl !Send for __c_anonymous_ifc_ifcu

§

impl !Send for __c_anonymous_ifr_ifru

§

impl !Send for __c_anonymous_siginfo_t__si_fields

§

impl !Send for addrinfo

§

impl !Send for aiocb

§

impl !Send for dl_phdr_info

§

impl !Send for ff_periodic_effect

§

impl !Send for glob64_t

§

impl !Send for glob_t

§

impl !Send for group

§

impl !Send for hostent

§

impl !Send for if_nameindex

§

impl !Send for ifaddrs

§

impl !Send for ifconf

§

impl !Send for ifreq

§

impl !Send for iovec

§

impl !Send for iw_event

§

impl !Send for iw_point

§

impl !Send for iwreq

§

impl !Send for iwreq_data

§

impl !Send for lconv

§

impl !Send for mcontext_t

§

impl !Send for mmsghdr

§

impl !Send for mntent

§

impl !Send for msghdr

§

impl !Send for netent

§

impl !Send for option

§

impl !Send for passwd

§

impl !Send for posix_spawn_file_actions_t

§

impl !Send for protoent

§

impl !Send for regex_t

§

impl !Send for rtentry

§

impl !Send for servent

§

impl !Send for sigevent

§

impl !Send for siginfo_t

§

impl !Send for sigval

§

impl !Send for sock_fprog

§

impl !Send for spwd

§

impl !Send for stack_t

§

impl !Send for timezone

§

impl !Send for tm

§

impl !Send for ucontext_t

§

impl !Send for user

§

impl Send for Abi

§

impl Send for libc::prelude::fmt::Alignment

§

impl Send for libc::prelude::mem::Alignment

§

impl Send for Array

§

impl Send for Assume

§

impl Send for Bool

§

impl Send for Char

§

impl Send for Const

§

impl Send for DebugAsHex

§

impl Send for DynTrait

§

impl Send for DynTraitPredicate

§

impl Send for Elf32_Chdr

§

impl Send for Elf32_Ehdr

§

impl Send for Elf32_Phdr

§

impl Send for Elf32_Shdr

§

impl Send for Elf32_Sym

§

impl Send for Elf64_Chdr

§

impl Send for Elf64_Ehdr

§

impl Send for Elf64_Phdr

§

impl Send for Elf64_Shdr

§

impl Send for Elf64_Sym

§

impl Send for Enum

§

impl Send for Error

§

impl Send for Field

§

impl Send for FieldId

§

impl Send for Float

§

impl Send for FnPtr

§

impl Send for FormattingOptions

§

impl Send for Generic

§

impl Send for GenericType

§

impl Send for Int

§

impl Send for Lifetime

§

impl Send for Pointer

§

impl Send for Reference

§

impl Send for Sign

§

impl Send for SipHasher

§

impl Send for Slice

§

impl Send for Str

§

impl Send for Struct

§

impl Send for Trait

§

impl Send for Tuple

§

impl Send for Type

§

impl Send for TypeKind

§

impl Send for Union

§

impl Send for Variant

§

impl Send for __SI_CLOCK_T

§

impl Send for __c_anonymous__kernel_fsid_t

§

impl Send for __c_anonymous__si_fields__kill

§

impl Send for __c_anonymous__si_fields__sigchld

§

impl Send for __c_anonymous__si_fields__sigpoll

§

impl Send for __c_anonymous_elf32_rel

§

impl Send for __c_anonymous_elf32_rela

§

impl Send for __c_anonymous_elf64_rel

§

impl Send for __c_anonymous_elf64_rela

§

impl Send for __c_anonymous_ifru_map

§

impl Send for __c_anonymous_iwreq

§

impl Send for __c_anonymous_ptp_perout_request_1

§

impl Send for __c_anonymous_ptp_perout_request_2

§

impl Send for __c_anonymous_ptrace_syscall_info_data

§

impl Send for __c_anonymous_ptrace_syscall_info_entry

§

impl Send for __c_anonymous_ptrace_syscall_info_exit

§

impl Send for __c_anonymous_ptrace_syscall_info_seccomp

§

impl Send for __c_anonymous_sockaddr_can_can_addr

§

impl Send for __c_anonymous_sockaddr_can_j1939

§

impl Send for __c_anonymous_sockaddr_can_tp

§

impl Send for __c_anonymous_xsk_tx_metadata_union

§

impl Send for __exit_status

§

impl Send for __timeval

§

impl Send for _libc_fpstate

§

impl Send for _libc_fpxreg

§

impl Send for _libc_xmmreg

§

impl Send for af_alg_iv

§

impl Send for arpd_request

§

impl Send for arphdr

§

impl Send for arpreq

§

impl Send for arpreq_old

§

impl Send for bcm_msg_head

§

impl Send for bcm_timeval

§

impl Send for c_void

§

impl Send for can_berr_counter

§

impl Send for can_bittiming

§

impl Send for can_bittiming_const

§

impl Send for can_clock

§

impl Send for can_ctrlmode

§

impl Send for can_device_stats

§

impl Send for can_filter

§

impl Send for can_frame

§

impl Send for canfd_frame

§

impl Send for canxl_frame

§

impl Send for clone_args

§

impl Send for cmsghdr

§

impl Send for cpu_set_t

§

impl Send for dirent

§

impl Send for dirent64

§

impl Send for dmabuf_cmsg

§

impl Send for dmabuf_token

§

impl Send for dqblk

§

impl Send for epoll_event

§

impl Send for epoll_params

§

impl Send for ethhdr

§

impl Send for fanotify_event_info_error

§

impl Send for fanotify_event_info_fid

§

impl Send for fanotify_event_info_header

§

impl Send for fanotify_event_info_pidfd

§

impl Send for fanotify_event_metadata

§

impl Send for fanotify_response

§

impl Send for fanout_args

§

impl Send for fd_set

§

impl Send for ff_condition_effect

§

impl Send for ff_constant_effect

§

impl Send for ff_effect

§

impl Send for ff_envelope

§

impl Send for ff_ramp_effect

§

impl Send for ff_replay

§

impl Send for ff_rumble_effect

§

impl Send for ff_trigger

§

impl Send for file_clone_range

§

impl Send for file_handle

§

impl Send for flock

§

impl Send for flock64

§

impl Send for fpos64_t

§

impl Send for fpos_t

§

impl Send for fsid_t

§

impl Send for futex_waitv

§

impl Send for genlmsghdr

§

impl Send for group_req

§

impl Send for group_source_req

§

impl Send for hwtstamp_config

§

impl Send for ifaddrmsg

§

impl Send for ifinfomsg

§

impl Send for in6_addr

§

impl Send for in6_ifreq

§

impl Send for in6_pktinfo

§

impl Send for in6_rtmsg

§

impl Send for in_addr

§

impl Send for in_pktinfo

§

impl Send for inotify_event

§

impl Send for input_absinfo

§

impl Send for input_event

§

impl Send for input_id

§

impl Send for input_keymap_entry

§

impl Send for input_mask

§

impl Send for iocb

§

impl Send for ip_mreq

§

impl Send for ip_mreq_source

§

impl Send for ip_mreqn

§

impl Send for ipc_perm

§

impl Send for ipv6_mreq

§

impl Send for itimerspec

§

impl Send for itimerval

§

impl Send for iw_discarded

§

impl Send for iw_encode_ext

§

impl Send for iw_freq

§

impl Send for iw_michaelmicfailure

§

impl Send for iw_missed

§

impl Send for iw_mlme

§

impl Send for iw_param

§

impl Send for iw_pmkid_cand

§

impl Send for iw_pmksa

§

impl Send for iw_priv_args

§

impl Send for iw_quality

§

impl Send for iw_range

§

impl Send for iw_scan_req

§

impl Send for iw_statistics

§

impl Send for iw_thrspy

§

impl Send for j1939_filter

§

impl Send for linger

§

impl Send for mallinfo

§

impl Send for mallinfo2

§

impl Send for max_align_t

§

impl Send for mbstate_t

§

impl Send for mnt_ns_info

§

impl Send for mount_attr

§

impl Send for mq_attr

§

impl Send for msginfo

§

impl Send for msqid_ds

§

impl Send for nl_mmap_hdr

§

impl Send for nl_mmap_req

§

impl Send for nl_pktinfo

§

impl Send for nlattr

§

impl Send for nlmsgerr

§

impl Send for nlmsghdr

§

impl Send for ntptimeval

§

impl Send for open_how

§

impl Send for packet_mreq

§

impl Send for pidfd_info

§

impl Send for pollfd

§

impl Send for posix_spawnattr_t

§

impl Send for pthread_attr_t

§

impl Send for pthread_barrier_t

§

impl Send for pthread_barrierattr_t

§

impl Send for pthread_cond_t

§

impl Send for pthread_condattr_t

§

impl Send for pthread_mutex_t

§

impl Send for pthread_mutexattr_t

§

impl Send for pthread_rwlock_t

§

impl Send for pthread_rwlockattr_t

§

impl Send for ptp_clock_caps

§

impl Send for ptp_clock_time

§

impl Send for ptp_extts_event

§

impl Send for ptp_extts_request

§

impl Send for ptp_perout_request

§

impl Send for ptp_pin_desc

§

impl Send for ptp_sys_offset

§

impl Send for ptp_sys_offset_extended

§

impl Send for ptp_sys_offset_precise

§

impl Send for ptrace_peeksiginfo_args

§

impl Send for ptrace_rseq_configuration

§

impl Send for ptrace_sud_config

§

impl Send for ptrace_syscall_info

§

impl Send for regmatch_t

§

impl Send for rlimit

§

impl Send for rlimit64

§

impl Send for rtattr

§

impl Send for rusage

§

impl Send for sched_attr

§

impl Send for sched_param

§

impl Send for sctp_authinfo

§

impl Send for sctp_initmsg

§

impl Send for sctp_nxtinfo

§

impl Send for sctp_prinfo

§

impl Send for sctp_rcvinfo

§

impl Send for sctp_sndinfo

§

impl Send for sctp_sndrcvinfo

§

impl Send for seccomp_data

§

impl Send for seccomp_notif

§

impl Send for seccomp_notif_addfd

§

impl Send for seccomp_notif_resp

§

impl Send for seccomp_notif_sizes

§

impl Send for sem_t

§

impl Send for sembuf

§

impl Send for semid_ds

§

impl Send for seminfo

§

impl Send for shmid_ds

§

impl Send for sigaction

§

impl Send for signalfd_siginfo

§

impl Send for sigset_t

§

impl Send for sock_extended_err

§

impl Send for sock_filter

§

impl Send for sock_txtime

§

impl Send for sockaddr

§

impl Send for sockaddr_alg

§

impl Send for sockaddr_can

§

impl Send for sockaddr_in

§

impl Send for sockaddr_in6

§

impl Send for sockaddr_iucv

§

impl Send for sockaddr_ll

§

impl Send for sockaddr_nl

§

impl Send for sockaddr_pkt

§

impl Send for sockaddr_storage

§

impl Send for sockaddr_un

§

impl Send for sockaddr_vm

§

impl Send for sockaddr_xdp

§

impl Send for stat

§

impl Send for stat64

§

impl Send for statfs

§

impl Send for statfs64

§

impl Send for statvfs

§

impl Send for statvfs64

§

impl Send for statx

§

impl Send for statx_timestamp

§

impl Send for sysinfo

§

impl Send for tcp_info

§

impl Send for termios

§

impl Send for termios2

§

impl Send for timespec

§

impl Send for timeval

§

impl Send for timex

§

impl Send for tls12_crypto_info_aes_ccm_128

§

impl Send for tls12_crypto_info_aes_gcm_128

§

impl Send for tls12_crypto_info_aes_gcm_256

§

impl Send for tls12_crypto_info_aria_gcm_128

§

impl Send for tls12_crypto_info_aria_gcm_256

§

impl Send for tls12_crypto_info_chacha20_poly1305

§

impl Send for tls12_crypto_info_sm4_ccm

§

impl Send for tls12_crypto_info_sm4_gcm

§

impl Send for tls_crypto_info

§

impl Send for tms

§

impl Send for tpacket2_hdr

§

impl Send for tpacket3_hdr

§

impl Send for tpacket_auxdata

§

impl Send for tpacket_bd_header_u

§

impl Send for tpacket_bd_ts

§

impl Send for tpacket_block_desc

§

impl Send for tpacket_hdr

§

impl Send for tpacket_hdr_v1

§

impl Send for tpacket_hdr_variant1

§

impl Send for tpacket_req

§

impl Send for tpacket_req3

§

impl Send for tpacket_req_u

§

impl Send for tpacket_rollover_stats

§

impl Send for tpacket_stats

§

impl Send for tpacket_stats_v3

§

impl Send for tpacket_versions

§

impl Send for ucred

§

impl Send for uinput_abs_setup

§

impl Send for uinput_ff_erase

§

impl Send for uinput_ff_upload

§

impl Send for uinput_setup

§

impl Send for uinput_user_dev

§

impl Send for user_fpregs_struct

§

impl Send for user_regs_struct

§

impl Send for utimbuf

§

impl Send for utmpx

§

impl Send for utsname

§

impl Send for winsize

§

impl Send for xdp_desc

§

impl Send for xdp_mmap_offsets

§

impl Send for xdp_mmap_offsets_v1

§

impl Send for xdp_options

§

impl Send for xdp_ring_offset

§

impl Send for xdp_ring_offset_v1

§

impl Send for xdp_statistics

§

impl Send for xdp_statistics_v1

§

impl Send for xdp_umem_reg

§

impl Send for xdp_umem_reg_v1

§

impl Send for xsk_tx_metadata

§

impl Send for xsk_tx_metadata_completion

§

impl Send for xsk_tx_metadata_request

§

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, I> Send for ByRefSized<'a, I>
where I: Send,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<F> Send for libc::prelude::fmt::FromFn<F>
where F: Send,

§

impl<F> Send for libc::prelude::iter::FromFn<F>
where F: Send,

§

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

§

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

§

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

§

impl<H> Send for BuildHasherDefault<H>

§

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

§

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

§

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

§

impl<I, F> Send for Map<I, F>
where I: Send, F: Send,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<P> Send for MaybeDangling<P>
where P: Send + ?Sized,

§

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

§

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

§

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

§

impl<T> Send for Discriminant<T>

§

impl<T> Send for Empty<T>

§

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

§

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

§

impl<T> Send for NumBuffer<T>
where <T as NumBufferTrait>::Buf: Send, T: Send,

§

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

§

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

§

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

§

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

§

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