ash icon indicating copy to clipboard operation
ash copied to clipboard

Extension structs have lifetimes even when they don't need one

Open Rua opened this issue 1 year ago • 3 comments

Extension structs do contain pointers, but their lifetime cannot ever be used if the only pointer they contain is p_next. Structs like this don't actually borrow anything, all structures in a p_next chain are borrowed by the parent. They have no push_next method, and there are no other methods that return Self with a different lifetime than the input struct. Technically you can set the lifetime using the PhantomData member, but that seems a bit silly and pointless.

Take ExternalMemoryImageCreateInfo for example. It has no methods that borrow data.

Rua avatar Apr 14 '24 07:04 Rua