bevy_ptr crate provides low-level abstractions for working with pointers in a more safe way than using rust’s raw pointers.
Rust has lifetimed and typed references (
&'a T), unlifetimed and typed references (
*const T), but no lifetimed but untyped references.
bevy_ptr adds them, called
These types are lifetime-checked so can never lead to problems like use-after-frees and must always point to valid data.
- Type-erased Box-like pointer to some unknown type chosen when constructing this type. Conceptually represents ownership of whatever data is being pointed to and so is responsible for calling its
Dropimpl. This pointer is not responsible for freeing the memory pointed to by this pointer as it may be pointing to an element in a
Vecor to a local in a function etc.
- Type-erased borrow of some unknown type chosen when constructing this type.
- Type-erased mutable borrow of some unknown type chosen when constructing this type.
- Conceptually equivalent to
&'a [T]but with length information cut out for performance reasons
- Extension trait for helper methods on
- Creates a dangling pointer with specified alignment. See