# Trait core::marker::Send 1.0.0 [−] [src]

    pub unsafe auto trait Send { }

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 `Rc`s 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 for more details.

## Implementors

- [src]
  `impl<T: Send + ?Sized> Send for Unique<T>`
- [src]
  `impl<T: ?Sized> !Send for NonNull<T>`
- [src]
  `impl<'a, T: Sync + ?Sized> Send for &'a T`
- [src]
  `impl<'a, T: Send + ?Sized> Send for &'a mut T`
- [src]
  `impl<T: ?Sized> !Send for *const T`
- [src]
  `impl<T: ?Sized> !Send for *mut T`
- [src]
  `impl<T> Send for AtomicPtr<T>`
- [src]
  `impl<T> Send for Cell<T> where
  T: Send,`
- [src]
  `impl<T: ?Sized> Send for RefCell<T> where
  T: Send,`
- [src]
  `impl<'a, T: Sync> Send for Iter<'a, T>`
- [src]
  `impl<'a, T: Send> Send for IterMut<'a, T>`

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)