From 9e3c08db40b8916968b9f30096c7be3f00ce9647 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Sun, 21 Apr 2024 13:44:51 +0200
Subject: Adding upstream version 1:115.7.0.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 third_party/rust/arrayvec/CHANGELOG.md | 301 +++++++++++++++++++++++++++++++++
 1 file changed, 301 insertions(+)
 create mode 100644 third_party/rust/arrayvec/CHANGELOG.md

(limited to 'third_party/rust/arrayvec/CHANGELOG.md')

diff --git a/third_party/rust/arrayvec/CHANGELOG.md b/third_party/rust/arrayvec/CHANGELOG.md
new file mode 100644
index 0000000000..903ef582f7
--- /dev/null
+++ b/third_party/rust/arrayvec/CHANGELOG.md
@@ -0,0 +1,301 @@
+Recent Changes (arrayvec)
+=========================
+
+## 0.7.2
+
+- Add `.as_mut_str()` to `ArrayString` by @clarfonthey
+- Add `remaining_capacity` to `ArrayString` by @bhgomes
+- Add `zero_filled` constructor by @c410-f3r
+- Optimize `retain` by @TennyZhuang and @niklasf
+- Make the following methods `const` by @bhgomes:
+  - len
+  - is_empty
+  - capacity
+  - is_full
+  - remaining_capacity
+  - CapacityError::new
+
+## 0.7.1
+
+- Add new ArrayVec methods `.take()` and `.into_inner_unchecked()` by @conradludgate
+- `clone_from` now uses `truncate` when needed by @a1phyr
+
+## 0.7.0
+
+- `fn new_const` is now the way to const-construct arrayvec and arraystring,
+  and `fn new` has been reverted to a regular "non-const" function.
+  This works around performance issue #182, where the const fn version did not
+  optimize well. Change by @bluss with thanks to @rodrimati1992 and @niklasf
+  for analyzing the problem.
+
+- The deprecated feature flag `unstable-const-fn` was removed, since it's not needed
+
+- Optimize `.retain()` by using the same algorithm as in std, change by @niklasf,
+  issue #174. Original optimization in Rust std by @oxalica in rust-lang/rust/pull/81126
+
+## 0.6.1
+
+- The ``ArrayVec::new`` and ``ArrayString::new`` constructors are properly
+  const fns on stable and the feature flag ``unstable-const-fn`` is now deprecated.
+  by @rodrimati1992
+
+- Small fix to the capacity check macro by @Xaeroxe
+- Typo fix in documentation by @cuviper
+- Small code cleanup by @bluss
+
+## 0.6.0
+
+- The **const generics** release 🎉. Arrayvec finally implements what it
+  wanted to implement, since its first version: a vector backed by an array,
+  with generic parameters for the arbitrary element type *and* backing array
+  capacity.
+
+  The New type syntax is `ArrayVec<T, CAP>` where `CAP` is the arrayvec capacity.
+  For arraystring the syntax is `ArrayString<CAP>`.
+
+  Length is stored internally as u32; this limits the maximum capacity. The size
+  of the `ArrayVec` or `ArrayString` structs for the same capacity may grow
+  slightly compared with the previous version (depending on padding requirements
+  for the element type). Change by @bluss.
+
+- Arrayvec's `.extend()` and `FromIterator`/`.collect()` to arrayvec now
+  **panic** if the capacity of the arrayvec is exceeded. Change by @bluss.
+
+- Arraystring now implements `TryFrom<&str>` and `TryFrom<fmt::Arguments>` by
+  @c410-f3r
+
+- Minimum supported rust version is Rust 1.51
+
+## 0.5.2
+
+- Add `is_empty` methods for ArrayVec and ArrayString by @nicbn
+- Implement `TryFrom<Slice>` for ArrayVec by @paulkernfeld
+- Add `unstable-const-fn` to make `new` methods const by @m-ou-se
+- Run miri in CI and a few related fixes by @RalfJung
+- Fix outdated comment by @Phlosioneer
+- Move changelog to a separate file by @Luro02
+- Remove deprecated `Error::description` by @AnderEnder
+- Use pointer method `add` by @hbina
+
+## 0.5.1
+
+- Add `as_ptr`, `as_mut_ptr` accessors directly on the `ArrayVec` by @tbu-
+  (matches the same addition to `Vec` which happened in Rust 1.37).
+- Add method `ArrayString::len` (now available directly, not just through deref to str).
+- Use raw pointers instead of `&mut [u8]` for encoding chars into `ArrayString`
+  (uninit best practice fix).
+- Use raw pointers instead of `get_unchecked_mut` where the target may be
+  uninitialized everywhere relevant in the ArrayVec implementation
+  (uninit best practice fix).
+- Changed inline hints on many methods, mainly removing inline hints
+- `ArrayVec::dispose` is now deprecated (it has no purpose anymore)
+
+## 0.4.12
+
+- Use raw pointers instead of `get_unchecked_mut` where the target may be
+  uninitialized everywhere relevant in the ArrayVec implementation.
+
+## 0.5.0
+
+- Use `MaybeUninit` (now unconditionally) in the implementation of
+  `ArrayVec`
+- Use `MaybeUninit` (now unconditionally) in the implementation of
+  `ArrayString`
+- The crate feature for serde serialization is now named `serde`.
+- Updated the `Array` trait interface, and it is now easier to use for
+  users outside the crate.
+- Add `FromStr` impl for `ArrayString` by @despawnerer
+- Add method `try_extend_from_slice` to `ArrayVec`, which is always
+  effecient by @Thomasdezeeuw.
+- Add method `remaining_capacity` by @Thomasdezeeuw
+- Improve performance of the `extend` method.
+- The index type of zero capacity vectors is now itself zero size, by
+  @clarfon
+- Use `drop_in_place` for truncate and clear methods. This affects drop order
+  and resume from panic during drop.
+- Use Rust 2018 edition for the implementation
+- Require Rust 1.36 or later, for the unconditional `MaybeUninit`
+  improvements.
+
+## Older releases
+
+- 0.4.11
+
+  - In Rust 1.36 or later, use newly stable `MaybeUninit`. This extends the
+    soundness work introduced in 0.4.9, we are finally able to use this in
+    stable. We use feature detection (build script) to enable this at build
+    time.
+
+- 0.4.10
+
+  - Use `repr(C)` in the `union` version that was introduced in 0.4.9, to
+    allay some soundness concerns.
+
+- 0.4.9
+
+  - Use `union` in the implementation on when this is detected to be supported
+    (nightly only for now). This is a better solution for treating uninitialized
+    regions correctly, and we'll use it in stable Rust as soon as we are able.
+    When this is enabled, the `ArrayVec` has no space overhead in its memory
+    layout, although the size of the vec should not be relied upon. (See [#114](https://github.com/bluss/arrayvec/pull/114))
+  - `ArrayString` updated to not use uninitialized memory, it instead zeros its
+    backing array. This will be refined in the next version, since we
+    need to make changes to the user visible API.
+  - The `use_union` feature now does nothing (like its documentation foretold).
+
+
+- 0.4.8
+
+  - Implement Clone and Debug for `IntoIter` by @clarcharr
+  - Add more array sizes under crate features. These cover all in the range
+    up to 128 and 129 to 255 respectively (we have a few of those by default):
+
+    - `array-size-33-128`
+    - `array-size-129-255`
+
+- 0.4.7
+
+  - Fix future compat warning about raw pointer casts
+  - Use `drop_in_place` when dropping the arrayvec by-value iterator
+  - Decrease mininum Rust version (see docs) by @jeehoonkang
+
+- 0.3.25
+
+  - Fix future compat warning about raw pointer casts
+
+- 0.4.6
+
+  - Fix compilation on 16-bit targets. This means, the 65536 array size is not
+    included on these targets.
+
+- 0.3.24
+
+  - Fix compilation on 16-bit targets. This means, the 65536 array size is not
+    included on these targets.
+  - Fix license files so that they are both included (was fixed in 0.4 before)
+
+- 0.4.5
+
+  - Add methods to `ArrayString` by @DenialAdams:
+
+    - `.pop() -> Option<char>`
+    - `.truncate(new_len)`
+    - `.remove(index) -> char`
+
+  - Remove dependency on crate odds
+  - Document debug assertions in unsafe methods better
+
+- 0.4.4
+
+  - Add method `ArrayVec::truncate()` by @niklasf
+
+- 0.4.3
+
+  - Improve performance for `ArrayVec::extend` with a lower level
+    implementation (#74)
+  - Small cleanup in dependencies (use no std for crates where we don't need more)
+
+- 0.4.2
+
+  - Add constructor method `new` to `CapacityError`.
+
+- 0.4.1
+
+  - Add `Default` impl to `ArrayString` by @tbu-
+
+- 0.4.0
+
+  - Reformed signatures and error handling by @bluss and @tbu-:
+
+    - `ArrayVec`'s `push, insert, remove, swap_remove` now match `Vec`'s
+      corresponding signature and panic on capacity errors where applicable.
+    - Add fallible methods `try_push, insert` and checked methods
+      `pop_at, swap_pop`.
+    - Similar changes to `ArrayString`'s push methods.
+
+  - Use a local version of the `RangeArgument` trait
+  - Add array sizes 50, 150, 200 by @daboross
+  - Support serde 1.0 by @daboross
+  - New method `.push_unchecked()` by @niklasf
+  - `ArrayString` implements `PartialOrd, Ord` by @tbu-
+  - Require Rust 1.14
+  - crate feature `use_generic_array` was dropped.
+
+- 0.3.23
+
+  - Implement `PartialOrd, Ord` as well as `PartialOrd<str>` for
+    `ArrayString`.
+
+- 0.3.22
+
+  - Implement `Array` for the 65536 size
+
+- 0.3.21
+
+  - Use `encode_utf8` from crate odds
+  - Add constructor `ArrayString::from_byte_string`
+
+- 0.3.20
+
+  - Simplify and speed up `ArrayString`’s `.push(char)`-
+
+- 0.3.19
+
+  - Add new crate feature `use_generic_array` which allows using their
+    `GenericArray` just like a regular fixed size array for the storage
+    of an `ArrayVec`.
+
+- 0.3.18
+
+  - Fix bounds check in `ArrayVec::insert`!
+    It would be buggy if `self.len() < index < self.capacity()`. Take note of
+    the push out behavior specified in the docs.
+
+- 0.3.17
+
+  - Added crate feature `use_union` which forwards to the nodrop crate feature
+  - Added methods `.is_full()` to `ArrayVec` and `ArrayString`.
+
+- 0.3.16
+
+  - Added method `.retain()` to `ArrayVec`.
+  - Added methods `.as_slice(), .as_mut_slice()` to `ArrayVec` and `.as_str()`
+    to `ArrayString`.
+
+- 0.3.15
+
+  - Add feature std, which you can opt out of to use `no_std` (requires Rust 1.6
+    to opt out).
+  - Implement `Clone::clone_from` for ArrayVec and ArrayString
+
+- 0.3.14
+
+  - Add `ArrayString::from(&str)`
+
+- 0.3.13
+
+  - Added `DerefMut` impl for `ArrayString`.
+  - Added method `.simplify()` to drop the element for `CapacityError`.
+  - Added method `.dispose()` to `ArrayVec`
+
+- 0.3.12
+
+  - Added ArrayString, a fixed capacity analogy of String
+
+- 0.3.11
+
+  - Added trait impls Default, PartialOrd, Ord, Write for ArrayVec
+
+- 0.3.10
+
+  - Go back to using external NoDrop, fixing a panic safety bug (issue #3)
+
+- 0.3.8
+
+  - Inline the non-dropping logic to remove one drop flag in the
+    ArrayVec representation.
+
+- 0.3.7
+
+  - Added method .into_inner()
+  - Added unsafe method .set_len()
-- 
cgit v1.2.3