Fix memory leak in dynamic ECS example #11461
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Objective
dynamicexample is scary and needs a revamp #11459Solution
Vecthat will be dropped after it is used.I must have misinterpreted
OwningPtrs semantics when initially writing this example. I believe we should be able to provide better APIs here for inserting dynamic components that don't require the user to wrangle so much unsafety. We have no other examples usinginsert_by_idsand our only tests show it being used for 1 or 2 values with nested calls toOwningPtr::makedespite the function taking an iterator. Rust's type system is quite restrictive here but we could at least letOwningPtr::newtake non u8NonNull.I also agree with #11459 that we should generally be trying to simplify and clarify this example.