Commit Graph

307 Commits

Author SHA1 Message Date
bluss 55e250adb7 Merge pull request #85 from bluss/conditional-16-bit-array-master
Fix 1 << 16 size array impl: only possible on bigger than 16-bit
2017-11-04 00:13:17 +01:00
bluss ce009233ae BUG: Fix 1 << 16 size array impl: only possible on bigger than 16-bit 2017-11-03 19:29:54 +01:00
bluss e95d440f54 DOC: Update readme, nodrop section is in its own directory already 2017-10-28 10:34:40 +02:00
bluss e364e2e79d 0.4.5 2017-10-27 22:54:46 +02:00
bluss a2e3fcea3f DOC: Minor fixes in docs, for ' → ’ 2017-10-27 22:54:46 +02:00
bluss db616eb9c5 Merge pull request #81 from bluss/no-odds-in-arrayvec
Remove odds dependency in arrayvec
2017-10-27 22:40:31 +02:00
bluss 4195f1a741 FEAT: Benchmarks for arraystring.try_push / push
These benches inform encode_utf8 changes, if any.
2017-10-27 22:31:49 +02:00
bluss 456aeaf557 FEAT: Remove odds dependency in arrayvec
Copy the encode_utf8 function from odds. std encode_utf8 requires Rust
1.15 and has a different signature, this one seems to fit us better.
2017-10-27 22:31:49 +02:00
bluss 4fe3e05997 nodrop 0.1.12 2017-10-27 21:51:45 +02:00
bluss 9d9250f462 Merge pull request #80 from bluss/no-odds-in-no-drop
nodrop: Remove odds dependency
2017-10-27 21:47:54 +02:00
Tobias Bucher 8a25e7f54e Merge pull request #79 from bluss/promise-debug-checks
Promise debug assertions for unsafe methods
2017-10-27 00:08:07 +02:00
bluss 7db0d5788f FEAT: nodrop: No odds dependency
Copy the required unreachable and debug assertion; saves us dependency
on odds.

We could also depend on crate unreachable, but that adds dep on
2 microcrates.
2017-10-26 22:35:15 +02:00
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