]> git.proxmox.com Git - rustc.git/blame - vendor/arrayvec-0.5.2/CHANGELOG.md
New upstream version 1.73.0+dfsg1
[rustc.git] / vendor / arrayvec-0.5.2 / CHANGELOG.md
CommitLineData
0a29b90c
FG
1Recent Changes (arrayvec)
2-------------------------
3
4- 0.5.2
5
6 - Add `is_empty` methods for ArrayVec and ArrayString by @nicbn
7 - Implement `TryFrom<Slice>` for ArrayVec by @paulkernfeld
8 - Add `unstable-const-fn` to make `new` methods const by @m-ou-se
9 - Run miri in CI and a few related fixes by @RalfJung
10 - Fix outdated comment by @Phlosioneer
11 - Move changelog to a separate file by @Luro02
12 - Remove deprecated `Error::description` by @AnderEnder
13 - Use pointer method `add` by @hbina
14
15- 0.5.1
16
17 - Add `as_ptr`, `as_mut_ptr` accessors directly on the `ArrayVec` by @tbu-
18 (matches the same addition to `Vec` which happened in Rust 1.37).
19 - Add method `ArrayString::len` (now available directly, not just through deref to str).
20 - Use raw pointers instead of `&mut [u8]` for encoding chars into `ArrayString`
21 (uninit best practice fix).
22 - Use raw pointers instead of `get_unchecked_mut` where the target may be
23 uninitialized everywhere relevant in the ArrayVec implementation
24 (uninit best practice fix).
25 - Changed inline hints on many methods, mainly removing inline hints
26 - `ArrayVec::dispose` is now deprecated (it has no purpose anymore)
27
28- 0.4.12
29
30 - Use raw pointers instead of `get_unchecked_mut` where the target may be
31 uninitialized everywhere relevant in the ArrayVec implementation.
32
33- 0.5.0
34
35 - Use `MaybeUninit` (now unconditionally) in the implementation of
36 `ArrayVec`
37 - Use `MaybeUninit` (now unconditionally) in the implementation of
38 `ArrayString`
39 - The crate feature for serde serialization is now named `serde`.
40 - Updated the `Array` trait interface, and it is now easier to use for
41 users outside the crate.
42 - Add `FromStr` impl for `ArrayString` by @despawnerer
43 - Add method `try_extend_from_slice` to `ArrayVec`, which is always
44 effecient by @Thomasdezeeuw.
45 - Add method `remaining_capacity` by @Thomasdezeeuw
46 - Improve performance of the `extend` method.
47 - The index type of zero capacity vectors is now itself zero size, by
48 @clarfon
49 - Use `drop_in_place` for truncate and clear methods. This affects drop order
50 and resume from panic during drop.
51 - Use Rust 2018 edition for the implementation
52 - Require Rust 1.36 or later, for the unconditional `MaybeUninit`
53 improvements.
54
55- 0.4.11
56
57 - In Rust 1.36 or later, use newly stable `MaybeUninit`. This extends the
58 soundness work introduced in 0.4.9, we are finally able to use this in
59 stable. We use feature detection (build script) to enable this at build
60 time.
61
62- 0.4.10
63
64 - Use `repr(C)` in the `union` version that was introduced in 0.4.9, to
65 allay some soundness concerns.
66
67- 0.4.9
68
69 - Use `union` in the implementation on when this is detected to be supported
70 (nightly only for now). This is a better solution for treating uninitialized
71 regions correctly, and we'll use it in stable Rust as soon as we are able.
72 When this is enabled, the `ArrayVec` has no space overhead in its memory
73 layout, although the size of the vec should not be relied upon. (See [#114](https://github.com/bluss/arrayvec/pull/114))
74 - `ArrayString` updated to not use uninitialized memory, it instead zeros its
75 backing array. This will be refined in the next version, since we
76 need to make changes to the user visible API.
77 - The `use_union` feature now does nothing (like its documentation foretold).
78
79
80- 0.4.8
81
82 - Implement Clone and Debug for `IntoIter` by @clarcharr
83 - Add more array sizes under crate features. These cover all in the range
84 up to 128 and 129 to 255 respectively (we have a few of those by default):
85
86 - `array-size-33-128`
87 - `array-size-129-255`
88
89- 0.4.7
90
91 - Fix future compat warning about raw pointer casts
92 - Use `drop_in_place` when dropping the arrayvec by-value iterator
93 - Decrease mininum Rust version (see docs) by @jeehoonkang
94
95- 0.3.25
96
97 - Fix future compat warning about raw pointer casts
98
99- 0.4.6
100
101 - Fix compilation on 16-bit targets. This means, the 65536 array size is not
102 included on these targets.
103
104- 0.3.24
105
106 - Fix compilation on 16-bit targets. This means, the 65536 array size is not
107 included on these targets.
108 - Fix license files so that they are both included (was fixed in 0.4 before)
109
110- 0.4.5
111
112 - Add methods to `ArrayString` by @DenialAdams:
113
114 - `.pop() -> Option<char>`
115 - `.truncate(new_len)`
116 - `.remove(index) -> char`
117
118 - Remove dependency on crate odds
119 - Document debug assertions in unsafe methods better
120
121- 0.4.4
122
123 - Add method `ArrayVec::truncate()` by @niklasf
124
125- 0.4.3
126
127 - Improve performance for `ArrayVec::extend` with a lower level
128 implementation (#74)
129 - Small cleanup in dependencies (use no std for crates where we don't need more)
130
131- 0.4.2
132
133 - Add constructor method `new` to `CapacityError`.
134
135- 0.4.1
136
137 - Add `Default` impl to `ArrayString` by @tbu-
138
139- 0.4.0
140
141 - Reformed signatures and error handling by @bluss and @tbu-:
142
143 - `ArrayVec`'s `push, insert, remove, swap_remove` now match `Vec`'s
144 corresponding signature and panic on capacity errors where applicable.
145 - Add fallible methods `try_push, insert` and checked methods
146 `pop_at, swap_pop`.
147 - Similar changes to `ArrayString`'s push methods.
148
149 - Use a local version of the `RangeArgument` trait
150 - Add array sizes 50, 150, 200 by @daboross
151 - Support serde 1.0 by @daboross
152 - New method `.push_unchecked()` by @niklasf
153 - `ArrayString` implements `PartialOrd, Ord` by @tbu-
154 - Require Rust 1.14
155 - crate feature `use_generic_array` was dropped.
156
157- 0.3.23
158
159 - Implement `PartialOrd, Ord` as well as `PartialOrd<str>` for
160 `ArrayString`.
161
162- 0.3.22
163
164 - Implement `Array` for the 65536 size
165
166- 0.3.21
167
168 - Use `encode_utf8` from crate odds
169 - Add constructor `ArrayString::from_byte_string`
170
171- 0.3.20
172
173 - Simplify and speed up `ArrayString`’s `.push(char)`-
174
175- 0.3.19
176
177 - Add new crate feature `use_generic_array` which allows using their
178 `GenericArray` just like a regular fixed size array for the storage
179 of an `ArrayVec`.
180
181- 0.3.18
182
183 - Fix bounds check in `ArrayVec::insert`!
184 It would be buggy if `self.len() < index < self.capacity()`. Take note of
185 the push out behavior specified in the docs.
186
187- 0.3.17
188
189 - Added crate feature `use_union` which forwards to the nodrop crate feature
190 - Added methods `.is_full()` to `ArrayVec` and `ArrayString`.
191
192- 0.3.16
193
194 - Added method `.retain()` to `ArrayVec`.
195 - Added methods `.as_slice(), .as_mut_slice()` to `ArrayVec` and `.as_str()`
196 to `ArrayString`.
197
198- 0.3.15
199
200 - Add feature std, which you can opt out of to use `no_std` (requires Rust 1.6
201 to opt out).
202 - Implement `Clone::clone_from` for ArrayVec and ArrayString
203
204- 0.3.14
205
206 - Add `ArrayString::from(&str)`
207
208- 0.3.13
209
210 - Added `DerefMut` impl for `ArrayString`.
211 - Added method `.simplify()` to drop the element for `CapacityError`.
212 - Added method `.dispose()` to `ArrayVec`
213
214- 0.3.12
215
216 - Added ArrayString, a fixed capacity analogy of String
217
218- 0.3.11
219
220 - Added trait impls Default, PartialOrd, Ord, Write for ArrayVec
221
222- 0.3.10
223
224 - Go back to using external NoDrop, fixing a panic safety bug (issue #3)
225
226- 0.3.8
227
228 - Inline the non-dropping logic to remove one drop flag in the
229 ArrayVec representation.
230
231- 0.3.7
232
233 - Added method .into_inner()
234 - Added unsafe method .set_len()