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
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
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Updates the requirements on arrayvec to permit the latest version.
Changelog
Sourced from arrayvec's changelog.
... (truncated)
Commits
f74f3d2
0.6.0c2453e5
Merge pull request #177 from bluss/length-32-bitfeb9928
DOC: Update changelog for length changesfd724e0
DOC: Minor tweaks to docs0c90469
FEAT: Use u32 for the length field in arrayvecdfd882b
DOC: Language fixes in the changelogf9f58c9
FIX: Use more efficient cloning in IntoIter::clonecf283a0
FIX: Code cleanup in .into_inner()74039f1
DOC: Doc comment and example updates for ArrayVecf9b3338
DOC: Update changelog for 0.6.0Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)