Skip to content

Commit a58e1a5

Browse files
authored
Merge pull request #172 from bluss/min-const-gen
Use const generics in ArrayVec
2 parents b5efc03 + 1820970 commit a58e1a5

File tree

12 files changed

+460
-616
lines changed

12 files changed

+460
-616
lines changed

.github/workflows/ci.yml

+3-4
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,14 @@ env:
1313
jobs:
1414
tests:
1515
runs-on: ubuntu-latest
16+
continue-on-error: true
1617
strategy:
1718
matrix:
1819
include:
19-
- rust: 1.36.0 # MSRV
20+
- rust: 1.51.0 # MSRV
2021
features: serde
2122
- rust: stable
22-
features: serde
23-
- rust: stable
24-
features: array-sizes-33-128 array-sizes-129-255
23+
features:
2524
- rust: beta
2625
features: serde
2726
- rust: nightly

Cargo.toml

-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ default = ["std"]
3939
std = []
4040
unstable-const-fn = []
4141

42-
array-sizes-33-128 = []
43-
array-sizes-129-255 = []
44-
4542
[profile.bench]
4643
debug = true
4744
[profile.release]

benches/arraystring.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use arrayvec::ArrayString;
77
use bencher::Bencher;
88

99
fn try_push_c(b: &mut Bencher) {
10-
let mut v = ArrayString::<[u8; 512]>::new();
10+
let mut v = ArrayString::<512>::new();
1111
b.iter(|| {
1212
v.clear();
1313
while v.try_push('c').is_ok() {
@@ -18,7 +18,7 @@ fn try_push_c(b: &mut Bencher) {
1818
}
1919

2020
fn try_push_alpha(b: &mut Bencher) {
21-
let mut v = ArrayString::<[u8; 512]>::new();
21+
let mut v = ArrayString::<512>::new();
2222
b.iter(|| {
2323
v.clear();
2424
while v.try_push('α').is_ok() {
@@ -30,7 +30,7 @@ fn try_push_alpha(b: &mut Bencher) {
3030

3131
// Yes, pushing a string char-by-char is slow. Use .push_str.
3232
fn try_push_string(b: &mut Bencher) {
33-
let mut v = ArrayString::<[u8; 512]>::new();
33+
let mut v = ArrayString::<512>::new();
3434
let input = "abcαβγ“”";
3535
b.iter(|| {
3636
v.clear();
@@ -45,7 +45,7 @@ fn try_push_string(b: &mut Bencher) {
4545
}
4646

4747
fn push_c(b: &mut Bencher) {
48-
let mut v = ArrayString::<[u8; 512]>::new();
48+
let mut v = ArrayString::<512>::new();
4949
b.iter(|| {
5050
v.clear();
5151
while !v.is_full() {
@@ -57,7 +57,7 @@ fn push_c(b: &mut Bencher) {
5757
}
5858

5959
fn push_alpha(b: &mut Bencher) {
60-
let mut v = ArrayString::<[u8; 512]>::new();
60+
let mut v = ArrayString::<512>::new();
6161
b.iter(|| {
6262
v.clear();
6363
while !v.is_full() {
@@ -69,7 +69,7 @@ fn push_alpha(b: &mut Bencher) {
6969
}
7070

7171
fn push_string(b: &mut Bencher) {
72-
let mut v = ArrayString::<[u8; 512]>::new();
72+
let mut v = ArrayString::<512>::new();
7373
let input = "abcαβγ“”";
7474
b.iter(|| {
7575
v.clear();

benches/extend.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use bencher::Bencher;
1010
use bencher::black_box;
1111

1212
fn extend_with_constant(b: &mut Bencher) {
13-
let mut v = ArrayVec::<[u8; 512]>::new();
13+
let mut v = ArrayVec::<u8, 512>::new();
1414
let cap = v.capacity();
1515
b.iter(|| {
1616
v.clear();
@@ -22,7 +22,7 @@ fn extend_with_constant(b: &mut Bencher) {
2222
}
2323

2424
fn extend_with_range(b: &mut Bencher) {
25-
let mut v = ArrayVec::<[u8; 512]>::new();
25+
let mut v = ArrayVec::<u8, 512>::new();
2626
let cap = v.capacity();
2727
b.iter(|| {
2828
v.clear();
@@ -34,7 +34,7 @@ fn extend_with_range(b: &mut Bencher) {
3434
}
3535

3636
fn extend_with_slice(b: &mut Bencher) {
37-
let mut v = ArrayVec::<[u8; 512]>::new();
37+
let mut v = ArrayVec::<u8, 512>::new();
3838
let data = [1; 512];
3939
b.iter(|| {
4040
v.clear();
@@ -46,7 +46,7 @@ fn extend_with_slice(b: &mut Bencher) {
4646
}
4747

4848
fn extend_with_write(b: &mut Bencher) {
49-
let mut v = ArrayVec::<[u8; 512]>::new();
49+
let mut v = ArrayVec::<u8, 512>::new();
5050
let data = [1; 512];
5151
b.iter(|| {
5252
v.clear();
@@ -57,7 +57,7 @@ fn extend_with_write(b: &mut Bencher) {
5757
}
5858

5959
fn extend_from_slice(b: &mut Bencher) {
60-
let mut v = ArrayVec::<[u8; 512]>::new();
60+
let mut v = ArrayVec::<u8, 512>::new();
6161
let data = [1; 512];
6262
b.iter(|| {
6363
v.clear();

src/array.rs

-151
This file was deleted.

0 commit comments

Comments
 (0)