Conversation
|
Unfortunately miri says there is UB in quite a few places. Tests with UB are:
After trying for a bit I am not going to fix this UB myself. I am not proficient enough with unsafe yet. |
tbu-
left a comment
There was a problem hiding this comment.
I wonder how to keep the whole thing maintainable. If possible, the arrayvec_copy module should be mostly kept in sync with the arrayvec module. Perhaps one could put up a diff plus some search/replace that generates the arrayvec_copy module?
| [package] | ||
| name = "arrayvec" | ||
| version = "0.7.4" | ||
| version = "0.8.0" |
There was a problem hiding this comment.
I don't see a breaking change. Is there any?
| [features] | ||
| default = ["std"] | ||
| std = [] | ||
| copy = [] |
There was a problem hiding this comment.
I don't think it's necessary to gate this behind a feature.
| mod arrayvec_copy; | ||
| #[cfg(feature = "copy")] | ||
| pub mod copy { | ||
| pub use crate::arrayvec_copy::{ArrayVecCopy, IntoIter, Drain}; |
There was a problem hiding this comment.
Perhaps only keep the iterator types in here and expose the ArrayVecCopy globally.
New version of closed: #193
Made a copy of ArrayVec (ArrayVecCopy) that can only hold Copy items.
This means copying all of its relevant functions and relevant tests.
Closes #32