Trait wasmtime_environ::__core::marker::Unpin

1.33.0 · source ·
pub auto trait Unpin { }
Expand description

Types that do not require any pinning guarantees.

For information on what “pinning” is, see the pin module documentation.

Implementing the Unpin trait for T expresses the fact that T is pinning-agnostic: it shall not expose nor rely on any pinning guarantees. This, in turn, means that a Pin-wrapped pointer to such a type can feature a fully unrestricted API. In other words, if T: Unpin, a value of type T will not be bound by the invariants which pinning otherwise offers, even when “pinned” by a Pin<Ptr> pointing at it. When a value of type T is pointed at by a Pin<Ptr>, Pin will not restrict access to the pointee value like it normally would, thus allowing the user to do anything that they normally could with a non-Pin-wrapped Ptr to that value.

The idea of this trait is to alleviate the reduced ergonomics of APIs that require the use of Pin for soundness for some types, but which also want to be used by other types that don’t care about pinning. The prime example of such an API is Future::poll. There are many Future types that don’t care about pinning. These futures can implement Unpin and therefore get around the pinning related restrictions in the API, while still allowing the subset of Futures which do require pinning to be implemented soundly.

For more discussion on the consequences of Unpin within the wider scope of the pinning system, see the section about Unpin in the pin module.

Unpin has no consequence at all for non-pinned data. In particular, mem::replace happily moves !Unpin data, which would be immovable when pinned (mem::replace works for any &mut T, not just when T: Unpin).

However, you cannot use mem::replace on !Unpin data which is pinned by being wrapped inside a Pin<Ptr> pointing at it. This is because you cannot (safely) use a Pin<Ptr> to get an &mut T to its pointee value, which you would need to call mem::replace, and that is what makes this system work.

So this, for example, can only be done on types implementing Unpin:

use std::mem;
use std::pin::Pin;

let mut string = "this".to_string();
let mut pinned_string = Pin::new(&mut string);

// We need a mutable reference to call `mem::replace`.
// We can obtain such a reference by (implicitly) invoking `Pin::deref_mut`,
// but that is only possible because `String` implements `Unpin`.
mem::replace(&mut *pinned_string, "other".to_string());

This trait is automatically implemented for almost every type. The compiler is free to take the conservative stance of marking types as Unpin so long as all of the types that compose its fields are also Unpin. This is because if a type implements Unpin, then it is unsound for that type’s implementation to rely on pinning-related guarantees for soundness, even when viewed through a “pinning” pointer! It is the responsibility of the implementor of a type that relies upon pinning for soundness to ensure that type is not marked as Unpin by adding PhantomPinned field. For more details, see the pin module docs.

Implementors§

1.33.0 · source§

impl !Unpin for PhantomPinned

source§

impl Unpin for LocalWaker

1.36.0 · source§

impl Unpin for Waker

source§

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

1.64.0 · source§

impl<F> Unpin for PollFn<F>
where F: Unpin,

source§

impl<I> Unpin for FromIter<I>

1.38.0 · source§

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

1.38.0 · source§

impl<T> Unpin for *mut T
where T: ?Sized,

1.33.0 · source§

impl<T> Unpin for &T
where T: ?Sized,

1.33.0 · source§

impl<T> Unpin for &mut T
where T: ?Sized,

1.48.0 · source§

impl<T> Unpin for Ready<T>

1.28.0 · source§

impl<T> Unpin for NonZero<T>

1.33.0 · source§

impl<T, A> Unpin for Box<T, A>
where A: Allocator, T: ?Sized,

1.33.0 · source§

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

1.33.0 · source§

impl<T, A> Unpin for Arc<T, A>
where A: Allocator, T: ?Sized,

Auto implementors§

§

impl Unpin for EngineOrModuleTypeIndex

§

impl Unpin for EntityIndex

§

impl Unpin for wasmtime_environ::EntityType

§

impl Unpin for GlobalInit

§

impl Unpin for Initializer

§

impl Unpin for MemoryInitialization

§

impl Unpin for MemoryStyle

§

impl Unpin for wasmtime_environ::ModuleType

§

impl Unpin for ObjectKind

§

impl Unpin for TableElementExpression

§

impl Unpin for TableInitialValue

§

impl Unpin for TableSegmentElements

§

impl Unpin for TableStyle

§

impl Unpin for Trap

§

impl Unpin for VMGcKind

§

impl Unpin for WasmError

§

impl Unpin for WasmHeapType

§

impl Unpin for WasmValType

§

impl Unpin for LibCall

§

impl Unpin for BlockType

§

impl Unpin for CanonicalFunction

§

impl Unpin for CanonicalOption

§

impl Unpin for Catch

§

impl Unpin for ComdatSymbolKind

§

impl Unpin for ComponentExternalKind

§

impl Unpin for ComponentOuterAliasKind

§

impl Unpin for ComponentTypeRef

§

impl Unpin for wasmtime_environ::wasmparser::ComponentValType

§

impl Unpin for CompositeType

§

impl Unpin for CoreDumpValue

§

impl Unpin for Encoding

§

impl Unpin for ExternalKind

§

impl Unpin for FrameKind

§

impl Unpin for HeapType

§

impl Unpin for InstantiationArgKind

§

impl Unpin for OuterAliasKind

§

impl Unpin for PrimitiveValType

§

impl Unpin for StorageType

§

impl Unpin for TagKind

§

impl Unpin for TypeBounds

§

impl Unpin for TypeRef

§

impl Unpin for UnpackedIndex

§

impl Unpin for ValType

§

impl Unpin for AnyTypeId

§

impl Unpin for ComponentAnyTypeId

§

impl Unpin for ComponentCoreTypeId

§

impl Unpin for wasmtime_environ::wasmparser::types::ComponentDefinedType

§

impl Unpin for ComponentEntityType

§

impl Unpin for wasmtime_environ::wasmparser::types::ComponentValType

§

impl Unpin for CoreInstanceTypeKind

§

impl Unpin for wasmtime_environ::wasmparser::types::CoreType

§

impl Unpin for wasmtime_environ::wasmparser::types::EntityType

§

impl Unpin for AsciiChar

§

impl Unpin for wasmtime_environ::__core::cmp::Ordering

§

impl Unpin for Infallible

§

impl Unpin for c_void

§

impl Unpin for wasmtime_environ::__core::fmt::Alignment

§

impl Unpin for BasicBlock

§

impl Unpin for UnwindTerminateReason

§

impl Unpin for IpAddr

§

impl Unpin for Ipv6MulticastScope

§

impl Unpin for SocketAddr

§

impl Unpin for FpCategory

§

impl Unpin for IntErrorKind

§

impl Unpin for SearchStep

§

impl Unpin for wasmtime_environ::__core::sync::atomic::Ordering

§

impl Unpin for BuiltinFunctionIndex

§

impl Unpin for CompiledFunctionInfo

§

impl Unpin for CompiledModuleInfo

§

impl Unpin for DataIndex

§

impl Unpin for DefinedFuncIndex

§

impl Unpin for DefinedGlobalIndex

§

impl Unpin for DefinedMemoryIndex

§

impl Unpin for DefinedTableIndex

§

impl Unpin for ElemIndex

§

impl Unpin for FilePos

§

impl Unpin for FuncIndex

§

impl Unpin for FuncRefIndex

§

impl Unpin for FunctionLoc

§

impl Unpin for FunctionName

§

impl Unpin for FunctionType

§

impl Unpin for wasmtime_environ::Global

§

impl Unpin for GlobalIndex

§

impl Unpin for HostPtr

§

impl Unpin for InstructionAddressMap

§

impl Unpin for Memory

§

impl Unpin for MemoryIndex

§

impl Unpin for MemoryInitializer

§

impl Unpin for MemoryPlan

§

impl Unpin for Metadata

§

impl Unpin for Module

§

impl Unpin for ModuleInternedTypeIndex

§

impl Unpin for ModuleTypes

§

impl Unpin for ModuleTypesBuilder

§

impl Unpin for OwnedMemoryIndex

§

impl Unpin for StackMap

§

impl Unpin for StackMapInformation

§

impl Unpin for StaticMemoryInitializer

§

impl Unpin for StaticModuleIndex

§

impl Unpin for wasmtime_environ::Table

§

impl Unpin for TableIndex

§

impl Unpin for TableInitialization

§

impl Unpin for TablePlan

§

impl Unpin for TableSegment

§

impl Unpin for Tag

§

impl Unpin for TagIndex

§

impl Unpin for TrapInformation

§

impl Unpin for Tunables

§

impl Unpin for TypeIndex

§

impl Unpin for WasmFuncType

§

impl Unpin for WasmFunctionInfo

§

impl Unpin for WasmRefType

§

impl Unpin for wasmtime_environ::wasmparser::names::ComponentName

§

impl Unpin for KebabStr

§

impl Unpin for KebabString

§

impl Unpin for ArrayType

§

impl Unpin for BinaryReaderError

§

impl Unpin for BranchHint

§

impl Unpin for ComdatSymbol

§

impl Unpin for ComponentStartFunction

§

impl Unpin for CoreDumpInstance

§

impl Unpin for CoreDumpInstancesSection

§

impl Unpin for CoreDumpStackFrame

§

impl Unpin for DefinedDataSymbol

§

impl Unpin for FieldType

§

impl Unpin for Frame

§

impl Unpin for FuncType

§

impl Unpin for FuncValidatorAllocations

§

impl Unpin for GlobalType

§

impl Unpin for Ieee32

§

impl Unpin for Ieee64

§

impl Unpin for InitFunc

§

impl Unpin for MemArg

§

impl Unpin for MemInfo

§

impl Unpin for MemoryType

§

impl Unpin for PackedIndex

§

impl Unpin for Parser

§

impl Unpin for RecGroup

§

impl Unpin for RefType

§

impl Unpin for SegmentFlags

§

impl Unpin for StructType

§

impl Unpin for SubType

§

impl Unpin for SymbolFlags

§

impl Unpin for TableType

§

impl Unpin for TagType

§

impl Unpin for TryTable

§

impl Unpin for V128

§

impl Unpin for Validator

§

impl Unpin for ValidatorResources

§

impl Unpin for WasmFeatures

§

impl Unpin for AliasableResourceId

§

impl Unpin for ComponentCoreInstanceTypeId

§

impl Unpin for ComponentCoreModuleTypeId

§

impl Unpin for ComponentDefinedTypeId

§

impl Unpin for wasmtime_environ::wasmparser::types::ComponentFuncType

§

impl Unpin for ComponentFuncTypeId

§

impl Unpin for ComponentInstanceType

§

impl Unpin for ComponentInstanceTypeId

§

impl Unpin for wasmtime_environ::wasmparser::types::ComponentType

§

impl Unpin for ComponentTypeId

§

impl Unpin for ComponentValueTypeId

§

impl Unpin for CoreTypeId

§

impl Unpin for InstanceType

§

impl Unpin for wasmtime_environ::wasmparser::types::ModuleType

§

impl Unpin for RecGroupId

§

impl Unpin for RecordType

§

impl Unpin for Remapping

§

impl Unpin for ResourceId

§

impl Unpin for TupleType

§

impl Unpin for Types

§

impl Unpin for wasmtime_environ::wasmparser::types::VariantCase

§

impl Unpin for VariantType

§

impl Unpin for AllocError

§

impl Unpin for Layout

§

impl Unpin for LayoutError

§

impl Unpin for TypeId

§

impl Unpin for CpuidResult

§

impl Unpin for __m128

§

impl Unpin for __m128bh

§

impl Unpin for __m128d

§

impl Unpin for __m128i

§

impl Unpin for __m256

§

impl Unpin for __m256bh

§

impl Unpin for __m256d

§

impl Unpin for __m256i

§

impl Unpin for __m512

§

impl Unpin for __m512bh

§

impl Unpin for __m512d

§

impl Unpin for __m512i

§

impl Unpin for TryFromSliceError

§

impl Unpin for wasmtime_environ::__core::ascii::EscapeDefault

§

impl Unpin for BorrowError

§

impl Unpin for BorrowMutError

§

impl Unpin for CharTryFromError

§

impl Unpin for DecodeUtf16Error

§

impl Unpin for wasmtime_environ::__core::char::EscapeDebug

§

impl Unpin for wasmtime_environ::__core::char::EscapeDefault

§

impl Unpin for wasmtime_environ::__core::char::EscapeUnicode

§

impl Unpin for ParseCharError

§

impl Unpin for ToLowercase

§

impl Unpin for ToUppercase

§

impl Unpin for TryFromCharError

§

impl Unpin for CStr

§

impl Unpin for FromBytesUntilNulError

§

impl Unpin for FromBytesWithNulError

§

impl Unpin for Error

§

impl Unpin for SipHasher

§

impl Unpin for ReturnToArg

§

impl Unpin for UnwindActionArg

§

impl Unpin for Assume

§

impl Unpin for AddrParseError

§

impl Unpin for Ipv4Addr

§

impl Unpin for Ipv6Addr

§

impl Unpin for SocketAddrV4

§

impl Unpin for SocketAddrV6

§

impl Unpin for ParseFloatError

§

impl Unpin for ParseIntError

§

impl Unpin for TryFromIntError

§

impl Unpin for RangeFull

§

impl Unpin for wasmtime_environ::__core::ptr::Alignment

§

impl Unpin for TimSortRun

§

impl Unpin for ParseBoolError

§

impl Unpin for Utf8Error

§

impl Unpin for AtomicBool

§

impl Unpin for AtomicI8

§

impl Unpin for AtomicI16

§

impl Unpin for AtomicI32

§

impl Unpin for AtomicI64

§

impl Unpin for AtomicIsize

§

impl Unpin for AtomicU8

§

impl Unpin for AtomicU16

§

impl Unpin for AtomicU32

§

impl Unpin for AtomicU64

§

impl Unpin for AtomicUsize

§

impl Unpin for RawWaker

§

impl Unpin for RawWakerVTable

§

impl Unpin for Duration

§

impl Unpin for TryFromFloatSecsError

§

impl Unpin for Big8x3

§

impl Unpin for Big32x40

§

impl Unpin for Decoded

§

impl Unpin for FullDecoded

§

impl Unpin for Number

§

impl Unpin for Sign

§

impl Unpin for TryCaptureWithDebug

§

impl Unpin for TryCaptureWithoutDebug

§

impl<'a> !Unpin for Request<'a>

§

impl<'a> Unpin for FlagValue<'a>

§

impl<'a> Unpin for Chunk<'a>

§

impl<'a> Unpin for ComponentAlias<'a>

§

impl<'a> Unpin for wasmtime_environ::wasmparser::ComponentDefinedType<'a>

§

impl<'a> Unpin for ComponentFuncResult<'a>

§

impl<'a> Unpin for ComponentInstance<'a>

§

impl<'a> Unpin for wasmtime_environ::wasmparser::ComponentName<'a>

§

impl<'a> Unpin for wasmtime_environ::wasmparser::ComponentType<'a>

§

impl<'a> Unpin for ComponentTypeDeclaration<'a>

§

impl<'a> Unpin for wasmtime_environ::wasmparser::CoreType<'a>

§

impl<'a> Unpin for DataKind<'a>

§

impl<'a> Unpin for Dylink0Subsection<'a>

§

impl<'a> Unpin for ElementItems<'a>

§

impl<'a> Unpin for ElementKind<'a>

§

impl<'a> Unpin for Instance<'a>

§

impl<'a> Unpin for InstanceTypeDeclaration<'a>

§

impl<'a> Unpin for Linking<'a>

§

impl<'a> Unpin for ModuleTypeDeclaration<'a>

§

impl<'a> Unpin for Name<'a>

§

impl<'a> Unpin for Operator<'a>

§

impl<'a> Unpin for Payload<'a>

§

impl<'a> Unpin for SymbolInfo<'a>

§

impl<'a> Unpin for TableInit<'a>

§

impl<'a> Unpin for ValidPayload<'a>

§

impl<'a> Unpin for ComponentNameKind<'a>

§

impl<'a> Unpin for WasmparserTypeConverter<'a>

§

impl<'a> Unpin for DependencyName<'a>

§

impl<'a> Unpin for HashName<'a>

§

impl<'a> Unpin for InterfaceName<'a>

§

impl<'a> Unpin for ResourceFunc<'a>

§

impl<'a> Unpin for UrlName<'a>

§

impl<'a> Unpin for BinaryReader<'a>

§

impl<'a> Unpin for BrTable<'a>

§

impl<'a> Unpin for BranchHintFunction<'a>

§

impl<'a> Unpin for Comdat<'a>

§

impl<'a> Unpin for ComponentExport<'a>

§

impl<'a> Unpin for ComponentExportName<'a>

§

impl<'a> Unpin for wasmtime_environ::wasmparser::ComponentFuncType<'a>

§

impl<'a> Unpin for ComponentImport<'a>

§

impl<'a> Unpin for ComponentImportName<'a>

§

impl<'a> Unpin for ComponentInstantiationArg<'a>

§

impl<'a> Unpin for ConstExpr<'a>

§

impl<'a> Unpin for CoreDumpModulesSection<'a>

§

impl<'a> Unpin for CoreDumpSection<'a>

§

impl<'a> Unpin for CoreDumpStackSection<'a>

§

impl<'a> Unpin for CustomSectionReader<'a>

§

impl<'a> Unpin for Data<'a>

§

impl<'a> Unpin for Element<'a>

§

impl<'a> Unpin for Export<'a>

§

impl<'a> Unpin for ExportInfo<'a>

§

impl<'a> Unpin for FunctionBody<'a>

§

impl<'a> Unpin for wasmtime_environ::wasmparser::Global<'a>

§

impl<'a> Unpin for Import<'a>

§

impl<'a> Unpin for ImportInfo<'a>

§

impl<'a> Unpin for IndirectNaming<'a>

§

impl<'a> Unpin for InstantiationArg<'a>

§

impl<'a> Unpin for LinkingSectionReader<'a>

§

impl<'a> Unpin for LocalsIterator<'a>

§

impl<'a> Unpin for LocalsReader<'a>

§

impl<'a> Unpin for Naming<'a>

§

impl<'a> Unpin for OperatorsIterator<'a>

§

impl<'a> Unpin for OperatorsIteratorWithOffsets<'a>

§

impl<'a> Unpin for OperatorsReader<'a>

§

impl<'a> Unpin for ProducersField<'a>

§

impl<'a> Unpin for ProducersFieldValue<'a>

§

impl<'a> Unpin for Segment<'a>

§

impl<'a> Unpin for wasmtime_environ::wasmparser::Table<'a>

§

impl<'a> Unpin for wasmtime_environ::wasmparser::VariantCase<'a>

§

impl<'a> Unpin for SubtypeArena<'a>

§

impl<'a> Unpin for SubtypeCx<'a>

§

impl<'a> Unpin for TypesRef<'a>

§

impl<'a> Unpin for Source<'a>

§

impl<'a> Unpin for wasmtime_environ::__core::ffi::c_str::Bytes<'a>

§

impl<'a> Unpin for Arguments<'a>

§

impl<'a> Unpin for Formatter<'a>

§

impl<'a> Unpin for BorrowedCursor<'a>

§

impl<'a> Unpin for Location<'a>

§

impl<'a> Unpin for PanicInfo<'a>

§

impl<'a> Unpin for EscapeAscii<'a>

§

impl<'a> Unpin for CharSearcher<'a>

§

impl<'a> Unpin for wasmtime_environ::__core::str::Bytes<'a>

§

impl<'a> Unpin for CharIndices<'a>

§

impl<'a> Unpin for Chars<'a>

§

impl<'a> Unpin for EncodeUtf16<'a>

§

impl<'a> Unpin for wasmtime_environ::__core::str::EscapeDebug<'a>

§

impl<'a> Unpin for wasmtime_environ::__core::str::EscapeDefault<'a>

§

impl<'a> Unpin for wasmtime_environ::__core::str::EscapeUnicode<'a>

§

impl<'a> Unpin for Lines<'a>

§

impl<'a> Unpin for LinesAny<'a>

§

impl<'a> Unpin for SplitAsciiWhitespace<'a>

§

impl<'a> Unpin for SplitWhitespace<'a>

§

impl<'a> Unpin for Utf8Chunk<'a>

§

impl<'a> Unpin for Utf8Chunks<'a>

§

impl<'a> Unpin for Context<'a>

§

impl<'a> Unpin for ContextBuilder<'a>

§

impl<'a> Unpin for Formatted<'a>

§

impl<'a> Unpin for Part<'a>

§

impl<'a, 'b> Unpin for DebugList<'a, 'b>

§

impl<'a, 'b> Unpin for DebugMap<'a, 'b>

§

impl<'a, 'b> Unpin for DebugSet<'a, 'b>

§

impl<'a, 'b> Unpin for DebugStruct<'a, 'b>

§

impl<'a, 'b> Unpin for DebugTuple<'a, 'b>

§

impl<'a, 'b> Unpin for CharSliceSearcher<'a, 'b>

§

impl<'a, 'b> Unpin for StrSearcher<'a, 'b>

§

impl<'a, 'b, const N: usize> Unpin for CharArrayRefSearcher<'a, 'b, N>

§

impl<'a, 'f> Unpin for VaList<'a, 'f>

§

impl<'a, A> Unpin for wasmtime_environ::__core::option::Iter<'a, A>

§

impl<'a, A> Unpin for wasmtime_environ::__core::option::IterMut<'a, A>

§

impl<'a, F> Unpin for CharPredicateSearcher<'a, F>
where F: Unpin,

§

impl<'a, I> Unpin for ByRefSized<'a, I>

§

impl<'a, K, V> Unpin for wasmtime_environ::Iter<'a, K, V>
where K: Unpin,

§

impl<'a, K, V> Unpin for wasmtime_environ::IterMut<'a, K, V>
where K: Unpin,

§

impl<'a, P> Unpin for MatchIndices<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, P> Unpin for Matches<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, P> Unpin for RMatchIndices<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, P> Unpin for RMatches<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, P> Unpin for wasmtime_environ::__core::str::RSplit<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, P> Unpin for wasmtime_environ::__core::str::RSplitN<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, P> Unpin for RSplitTerminator<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, P> Unpin for wasmtime_environ::__core::str::Split<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, P> Unpin for wasmtime_environ::__core::str::SplitInclusive<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, P> Unpin for wasmtime_environ::__core::str::SplitN<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, P> Unpin for SplitTerminator<'a, P>
where <P as Pattern<'a>>::Searcher: Unpin,

§

impl<'a, T> Unpin for InitMemory<'a, T>

§

impl<'a, T> Unpin for SectionLimited<'a, T>
where T: Unpin,

§

impl<'a, T> Unpin for SectionLimitedIntoIter<'a, T>
where T: Unpin,

§

impl<'a, T> Unpin for SectionLimitedIntoIterWithOffsets<'a, T>
where T: Unpin,

§

impl<'a, T> Unpin for Subsections<'a, T>
where T: Unpin,

§

impl<'a, T> Unpin for wasmtime_environ::__core::result::Iter<'a, T>

§

impl<'a, T> Unpin for wasmtime_environ::__core::result::IterMut<'a, T>

§

impl<'a, T> Unpin for Chunks<'a, T>

§

impl<'a, T> Unpin for ChunksExact<'a, T>

§

impl<'a, T> Unpin for ChunksExactMut<'a, T>

§

impl<'a, T> Unpin for ChunksMut<'a, T>

§

impl<'a, T> Unpin for wasmtime_environ::__core::slice::Iter<'a, T>

§

impl<'a, T> Unpin for wasmtime_environ::__core::slice::IterMut<'a, T>

§

impl<'a, T> Unpin for RChunks<'a, T>

§

impl<'a, T> Unpin for RChunksExact<'a, T>

§

impl<'a, T> Unpin for RChunksExactMut<'a, T>

§

impl<'a, T> Unpin for RChunksMut<'a, T>

§

impl<'a, T> Unpin for Windows<'a, T>

§

impl<'a, T, P> Unpin for ChunkBy<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for ChunkByMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for wasmtime_environ::__core::slice::RSplit<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for RSplitMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for wasmtime_environ::__core::slice::RSplitN<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for RSplitNMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for wasmtime_environ::__core::slice::Split<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for wasmtime_environ::__core::slice::SplitInclusive<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for SplitInclusiveMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for SplitMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for wasmtime_environ::__core::slice::SplitN<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for SplitNMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, const N: usize> Unpin for wasmtime_environ::__core::slice::ArrayChunks<'a, T, N>

§

impl<'a, T, const N: usize> Unpin for ArrayChunksMut<'a, T, N>

§

impl<'a, T, const N: usize> Unpin for ArrayWindows<'a, T, N>

§

impl<'a, const N: usize> Unpin for CharArraySearcher<'a, N>

§

impl<'b, T> Unpin for Ref<'b, T>
where T: ?Sized,

§

impl<'b, T> Unpin for RefMut<'b, T>
where T: ?Sized,

§

impl<'data> Unpin for BorrowedBuf<'data>

§

impl<'f> Unpin for VaListImpl<'f>

§

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

§

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

§

impl<A> Unpin for wasmtime_environ::__core::option::IntoIter<A>
where A: Unpin,

§

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

§

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

§

impl<B, C> Unpin for ControlFlow<B, C>
where C: Unpin, B: Unpin,

§

impl<E, M> Unpin for Capture<E, M>
where E: Unpin, M: Unpin,

§

impl<F> Unpin for FormatterFn<F>
where F: Unpin,

§

impl<F> Unpin for FromFn<F>
where F: Unpin,

§

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

§

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

§

impl<H> Unpin for BuildHasherDefault<H>

§

impl<I> Unpin for DecodeUtf16<I>
where I: Unpin,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<I, const N: usize> Unpin for wasmtime_environ::__core::iter::ArrayChunks<I, N>
where I: Unpin, <I as Iterator>::Item: Unpin,

§

impl<Idx> Unpin for Range<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for RangeFrom<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for RangeInclusive<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for RangeTo<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for RangeToInclusive<Idx>
where Idx: Unpin,

§

impl<K> Unpin for EntitySet<K>
where K: Unpin,

§

impl<K> Unpin for Keys<K>
where K: Unpin,

§

impl<K, V> Unpin for BoxedSlice<K, V>
where K: Unpin,

§

impl<K, V> Unpin for PrimaryMap<K, V>
where K: Unpin, V: Unpin,

§

impl<K, V> Unpin for SecondaryMap<K, V>
where V: Unpin, K: Unpin,

§

impl<K, V> Unpin for SparseMap<K, V>
where K: Unpin, V: Unpin,

§

impl<P> Unpin for VMOffsets<P>
where P: Unpin,

§

impl<P> Unpin for VMOffsetsFields<P>
where P: Unpin,

§

impl<Ptr> Unpin for Pin<Ptr>
where Ptr: Unpin,

§

impl<T> Unpin for Bound<T>
where T: Unpin,

§

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

§

impl<T> Unpin for Poll<T>
where T: Unpin,

§

impl<T> Unpin for PackedOption<T>
where T: Unpin,

§

impl<T> Unpin for EntityList<T>
where T: Unpin,

§

impl<T> Unpin for ListPool<T>
where T: Unpin,

§

impl<T> Unpin for ScopeVec<T>

§

impl<T> Unpin for FuncToValidate<T>
where T: Unpin,

§

impl<T> Unpin for FuncValidator<T>
where T: Unpin,

§

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

§

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

§

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

§

impl<T> Unpin for SyncUnsafeCell<T>
where T: Unpin + ?Sized,

§

impl<T> Unpin for UnsafeCell<T>
where T: Unpin + ?Sized,

§

impl<T> Unpin for Reverse<T>
where T: Unpin,

§

impl<T> Unpin for Pending<T>

§

impl<T> Unpin for Empty<T>

§

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

§

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

§

impl<T> Unpin for Discriminant<T>

§

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

§

impl<T> Unpin for Saturating<T>
where T: Unpin,

§

impl<T> Unpin for Wrapping<T>
where T: Unpin,

§

impl<T> Unpin for Yeet<T>
where T: Unpin,

§

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

§

impl<T> Unpin for NonNull<T>
where T: ?Sized,

§

impl<T> Unpin for wasmtime_environ::__core::result::IntoIter<T>
where T: Unpin,

§

impl<T> Unpin for AtomicPtr<T>

§

impl<T> Unpin for Exclusive<T>
where T: Unpin + ?Sized,

§

impl<T> Unpin for PhantomData<T>
where T: Unpin + ?Sized,

§

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

§

impl<T> Unpin for Wrapper<T>
where T: Unpin,

§

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

§

impl<T, F> Unpin for LazyCell<T, F>
where F: Unpin, T: Unpin,

§

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

§

impl<T, const N: usize> Unpin for wasmtime_environ::__core::array::IntoIter<T, N>
where T: Unpin,

§

impl<T, const N: usize> Unpin for Mask<T, N>
where T: Unpin,

§

impl<T, const N: usize> Unpin for Simd<T, N>
where T: Unpin,

§

impl<Y, R> Unpin for CoroutineState<Y, R>
where Y: Unpin, R: Unpin,

§

impl<const N: usize> Unpin for LaneCount<N>

§

impl<const N: usize> Unpin for GetManyMutError<N>