Trait browser_window::prelude::rust_2024::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§

source§

impl !Send for LocalWaker

1.26.0 · source§

impl !Send for Args

1.26.0 · source§

impl !Send for ArgsOs

source§

impl Send for ApplicationHandleThreaded

1.6.0 · source§

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

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<'a, H, R> Send for DelegateFuture<'a, H, R>
where R: Send,

§Safety

DelegateFuture by itself is not send. This is because we keep a handle H, which is not necessarily Send. However, because the closure only executes on the GUI thread, and because the handle is only provided to the closure that will be executed on the GUI thread, this should be fine.

source§

impl<'a, R> Send for DelegateFutureFuture<'a, R>
where R: Send,

§Safety

DelegateFutureFuture by itself is not send. This is because of ApplicationHandle. However, because the closure only executes on the GUI thread, and because this handle that is provided to the closure is something that will only be sent with the closure to the GUI thread, this should be fine.

source§

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

source§

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

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.

source§

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

source§

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

source§

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

source§

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

source§

impl<T> !Send for MappedRwLockWriteGuard<'_, 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 &T
where T: Sync + ?Sized,

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 Mutex<T>
where T: Send + ?Sized,

1.70.0 · source§

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

source§

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

source§

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

1.29.0 · source§

impl<T> Send for JoinHandle<T>

source§

impl<T> Send for UnsafeSend<T>

source§

impl<T> Send for UnsafeSendSync<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 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,

source§

impl<T, A> Send for Arc<T, A>
where T: Sync + Send + ?Sized, 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,

Auto implementors§

§

impl !Send for Application

§

impl !Send for ApplicationHandle

§

impl !Send for Runtime

§

impl !Send for BrowserWindow

§

impl !Send for BrowserWindowHandle

§

impl !Send for BrowserWindowThreaded

§

impl !Send for CookieJar

§

impl !Send for Error

§

impl !Send for WindowHandle

§

impl !Send for WindowResizeEventArgs

§

impl !Send for ApplicationImpl

§

impl !Send for BrowserWindowImpl

§

impl !Send for CookieImpl

§

impl !Send for CookieIteratorImpl

§

impl !Send for CookieJarImpl

§

impl !Send for CookieMutImpl

§

impl !Send for WindowImpl

§

impl !Send for c_IO_FILE

§

impl !Send for c__locale_struct

§

impl !Send for c__pthread_internal_list

§

impl !Send for c__pthread_internal_slist

§

impl !Send for c__pthread_mutex_s

§

impl !Send for c__va_list_tag

§

impl !Send for cbw_ApplicationDispatchData

§

impl !Send for cbw_ApplicationSettings

§

impl !Send for cbw_BrowserWindow

§

impl !Send for cbw_BrowserWindowOptions

§

impl !Send for cbw_BrowserWindowSource

§

impl !Send for cbw_CStrSlice

§

impl !Send for cbw_CookieImpl

§

impl !Send for cbw_CookieIterator

§

impl !Send for cbw_CookieIteratorImpl

§

impl !Send for cbw_CookieJar

§

impl !Send for cbw_CookieJarImpl

§

impl !Send for cbw_Err

§

impl !Send for cbw_StrSlice

§

impl !Send for cbw_Window

§

impl !Send for crandom_data

§

impl !Send for cpthread_mutex_t

§

impl Send for Source

§

impl Send for JsValue

§

impl Send for CookieStorageError

§

impl Send for DelegateError

§

impl Send for ApplicationSettings

§

impl Send for BrowserWindowBuilder

§

impl Send for BigFloat

§

impl Send for WindowBuilder

§

impl Send for c_G_fpos64_t

§

impl Send for c_G_fpos_t

§

impl Send for c_IO_codecvt

§

impl Send for c_IO_marker

§

impl Send for c_IO_wide_data

§

impl Send for c__atomic_wide_counter__bindgen_ty_1

§

impl Send for c__fsid_t

§

impl Send for c__locale_data

§

impl Send for c__mbstate_t

§

impl Send for c__once_flag

§

impl Send for c__pthread_cond_s

§

impl Send for c__pthread_rwlock_arch_t

§

impl Send for c__sigset_t

§

impl Send for cbw_Application

§

impl Send for cbw_ApplicationEngineData

§

impl Send for cbw_ApplicationEngineImpl

§

impl Send for cbw_ApplicationImpl

§

impl Send for cbw_BrowserWindowImpl

§

impl Send for cbw_Dims2D

§

impl Send for cbw_Pos2D

§

impl Send for cbw_WindowCallbacks

§

impl Send for cbw_WindowDispatchData

§

impl Send for cbw_WindowImpl

§

impl Send for cbw_WindowOptions

§

impl Send for cdiv_t

§

impl Send for cdrand48_data

§

impl Send for cfd_set

§

impl Send for cldiv_t

§

impl Send for clldiv_t

§

impl Send for cmax_align_t

§

impl Send for ctimespec

§

impl Send for ctimeval

§

impl Send for c__atomic_wide_counter

§

impl Send for c__mbstate_t__bindgen_ty_1

§

impl Send for cpthread_attr_t

§

impl Send for cpthread_barrier_t

§

impl Send for cpthread_barrierattr_t

§

impl Send for cpthread_cond_t

§

impl Send for cpthread_condattr_t

§

impl Send for cpthread_mutexattr_t

§

impl Send for cpthread_rwlock_t

§

impl Send for cpthread_rwlockattr_t

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<'a, A> Send for Event<'a, A>

§

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

§

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