bluss
895d450366
DOC: Promise debug assertions for unsafe methods
...
Instead of being vague about it, we can promise it.
We continue to be a bit vague in ArrayString::set_len. I don't see how
to add a char boundary check in ArrayString::set_len unfortunately.
It's a tricky issue, checking char boundaries requires reading the
memory of the string, and we don't even know if the user of set_len has
initialized that area of memory yet (but they hopefully did).
2017-10-26 19:27:47 +02:00
bluss
f8a19cddd8
Merge pull request #78 from DenialAdams/master
...
Add pop, truncate, and remove functions to ArrayString.
2017-10-26 19:07:37 +02:00
Richard McCormack
187dd627e0
Add pop, truncate, and remove functions to ArrayString. Addresses #66
2017-10-26 12:57:14 -04:00
bluss
269a25cc41
nodrop 0.1.11
2017-10-23 21:38:27 +02:00
bluss
a4411cf187
Merge pull request #77 from bluss/nodrop-size-test
...
[nodrop] Fix broken test
2017-10-23 21:08:31 +02:00
bluss
4414a01a26
BUG: [nodrop] Fix broken test
...
Fix a broken size test in nodrop; this test does not tell us about enum
layout optimizations.
2017-10-23 21:02:32 +02:00
bluss
75abbd6145
0.4.4
2017-10-21 14:01:46 +02:00
bluss
acb0cf25e7
Merge pull request #75 from niklasf/truncate
...
Add ArrayVec::truncate()
2017-10-18 18:35:55 +02:00
Niklas Fiekas
5257cbd2b4
Add ArrayVec::truncate()
2017-10-18 18:14:07 +02:00
bluss
ace20a9f43
DOC: Add docs for default values
2017-10-16 22:45:27 +02:00
bluss
9156256501
0.4.3
2017-10-16 22:39:28 +02:00
bluss
30d8e70d63
nodrop 0.1.10
2017-10-16 22:25:18 +02:00
bluss
545ae6e609
FEAT: Update nodrop for stable needs_drop
2017-10-16 22:17:02 +02:00
bluss
f9a9158185
MAINT: Remove unused Makefile
...
was used for old doc generation
2017-10-16 22:10:58 +02:00
bluss
0c7aebe2dd
MAINT: Don't depend on odds/std or nodrop/std
...
We don't have any reason to ask for std in odds (anymore, long after
Rust 1.6 now).
2017-10-16 22:03:55 +02:00
bluss
ac64b5b661
BUG: Fix "unused unsafe block" warning
...
This warning was only visible on stable, not nightly, which seems like
a bug.
2017-10-08 18:15:05 +02:00
bluss
5df02fd45d
Merge pull request #74 from bluss/improved-extend
...
Improve .extend() performance
2017-10-08 17:54:39 +02:00
bluss
793ad30be9
FEAT: Improve .extend() performance
...
We have to use the "SetLenOnDrop" pattern (see stdlib Vec) here.
Keep the length in a separate variable, write it back on scope exit. To
help the compiler with alias analysis and stuff. We update the length
to handle panic in the iteration of the user's iterator, without
dropping any elements on the floor.
Note: This code was tested without the scope guard using the new option
-Zmutable-noalias, which had no effect here.
benchmark:
```
name before.txt ns/iter after.txt ns/iter diff ns/iter diff %
extend_with_constant 280 (1828 MB/s) 74 (6918 MB/s) -206 -73.57%
extend_with_range 1,285 (398 MB/s) 979 (522 MB/s) -306 -23.81%
extend_with_slice 29 (17655 MB/s) 14 (36571 MB/s) -15 -51.72%
```
2017-10-08 17:44:06 +02:00
bluss
af8b746fc4
FEAT: Add benchmarks for .extend()
2017-10-08 17:31:05 +02:00
bluss
d89699ff63
DOC: Fix the docs link in the readme
2017-09-24 18:16:25 +02:00
bluss
6a7445f2dd
0.4.2
2017-09-24 18:11:01 +02:00
bluss
e33de4b1ce
Merge pull request #70 from bluss/capacity-error-new
...
Add CapacityError::new
2017-09-24 18:09:33 +02:00
bluss
9825e58061
FEAT: Add CapacityError::new
2017-09-24 18:07:12 +02:00
bluss
1a202a904e
0.4.1
2017-09-11 21:15:25 +02:00
Tobias Bucher
9d0f801763
Add Default implementation for ArrayString
...
Fixes #67 .
2017-09-11 19:59:06 +02:00
bluss
f231b4f10e
DOC: Mention a dropped feature in 0.4 change log
2017-09-11 19:44:47 +02:00
bluss
80d54a12ac
DOC: Update ArrayString doc for push, push_str after 0.4 changes.
2017-09-11 19:44:15 +02:00
bluss
f33c4e44dd
DOC: Mention serde-1 feature
2017-09-11 19:43:54 +02:00
bluss
cea481f494
0.4.0
2017-08-08 21:07:02 +02:00
bluss
54457c7db9
DOC: Fix ArrayString docs for push/push_str
2017-08-08 21:07:02 +02:00
bluss
e921e81f9f
Merge pull request #65 from bluss/next
...
Prepare 0.4
2017-08-08 19:23:35 +02:00
bluss
878fef8d8a
MAINT: Require Rust 1.14
2017-08-06 21:07:51 +02:00
bluss
327760edfa
DOC: Update changelog with entries from 0.3 branch
2017-08-06 18:44:55 +02:00
bluss
2de36ba2ca
Add 65536 to the Array impls
2017-08-06 18:44:48 +02:00
bluss
cc09d7f17b
DOC: Relnote for 0.4
2017-08-06 18:37:13 +02:00
bluss
b2b377117a
DOC: Update doc for and disclaimers for crate features
2017-08-06 18:32:08 +02:00
bluss
6ea8e8c0bf
DOC: Update root crate url
2017-08-06 18:32:08 +02:00
bluss
2919af394e
MAINT: Add crate categories
2017-08-06 18:21:05 +02:00
bluss
cfd144c6b8
Merge pull request #59 from daboross/patch-1
...
Add Array implementation for array sizes 50, 100 and 200
2017-08-06 18:18:25 +02:00
bluss
e894d00475
Merge pull request #61 from bluss/vec-like-api
...
Prepare 0.4, more vec-like api and error reform
2017-08-06 00:48:10 +02:00
bluss
696459db27
DOC: Fix typo in doc comment
2017-08-06 00:37:33 +02:00
bluss
689e55b61d
DOC: Use ArrayVec in doc for drain
2017-08-05 18:29:28 +02:00
bluss
4c90dc782d
DOC: Copyedit the docs a bit
2017-08-05 18:22:21 +02:00
bluss
313ebe8335
FEAT: Rename .remove_opt() to .pop_at()
2017-08-05 18:22:06 +02:00
bluss
cf76a83a7f
BUG: Fix import of CapacityError in tests
2017-08-05 18:21:43 +02:00
bluss
27b8a0cb0c
BUG: Make error module private again
2017-08-05 18:06:56 +02:00
bluss
6ad4ca7a77
MAINT: Rust version Rust 1.15
2017-08-05 18:04:14 +02:00
bluss
c5e0b80f73
FEAT: Turn try_remove/try_swap_remove into remove_opt and swap_pop
...
We turn these into "checked" removals, similar to `.pop()`. Name
swap_pop seems straightforward and nice, remove_opt is not as certain.
2017-08-05 17:52:24 +02:00
bluss
bc9e0362bd
FEAT: Remove InsertError again
...
try_insert has a capacity error, but panics if the index is out of
bounds.
2017-08-05 17:40:12 +02:00
bluss
7deb5c5db4
Merge pull request #47 from tbu-/pr_gitignore_cargolock
...
Ignore `Cargo.lock` in Git
2017-07-30 17:12:58 +02:00