logo
pub struct PtrMut<'a>(_, _);
Expand description

Type-erased mutable borrow of some unknown type chosen when constructing this type.

This type tries to act “borrow-like” which means that:

  • Pointer is considered exclusive and mutable. It cannot be cloned as this would lead to aliased mutability.
  • It must always points to a valid value of whatever the pointee type is.
  • The lifetime 'a accurately represents how long the pointer is valid for.

It may be helpful to think of this type as similar to &'a mut dyn Any but without the metadata and able to point to data that does not correspond to a Rust type.

Implementations

Calculates the offset from a pointer. As the pointer is type-erased, there is no size information available. The provided count parameter is in raw bytes.

See also: ptr::offset

Safety

the offset cannot make the existing ptr null, or take it out of bounds for its allocation.

Calculates the offset from a pointer (convenience for .offset(count as isize)). As the pointer is type-erased, there is no size information available. The provided count parameter is in raw bytes.

See also: ptr::add

Safety

the offset cannot make the existing ptr null, or take it out of bounds for its allocation.

Creates a new instance from a raw pointer.

Safety

The lifetime for the returned item must not exceed the lifetime inner is valid for

Transforms this PtrMut into an OwningPtr

Safety

Must have right to drop or move out of PtrMut.

Transforms this PtrMut<T> into a &mut T with the same lifetime

Safety

Must point to a valid T

Gets the underlying pointer, erasing the associated lifetime.

If possible, it is strongly encouraged to use deref_mut over this function, as it retains the lifetime.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Return the T ShaderType for self. When used in AsBindGroup derives, it is safe to assume that all images in self exist. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more