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.
Hello, I'm a maintainer of
array-macro
crate.Code that was using
array_macro::array!
used it incorrectly causing a subtle issue. In 2.0.0 the behaviour ofarray
macro did change to clone values to match the behavior of standard library'svec! macro
.In the code that used this macro it was used for objects of
PhysBuf
type.For
Arc
objects cloning doesn't create a new object, rather it shares a reference causing a subtle issue where all elements ofrx_buffers
shared the exact same buffer, which I don't think you have intended.Standard library now contains
array::map
which can replacearray_macro::array!
in most situations. It may be a good idea to use that, considering amount of people that look at standard library's code is greater than number of people that look atarray_macro
(which is just me).