Commit Graph

436 Commits

Author SHA1 Message Date
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
bluss 1e83039426 FEAT: Align ArrayString .push and .push_str with String
Use same signatures (meaning: panics on errors). Add fallible versions
.try_push() and .try_push_str()
2017-07-30 15:38:42 +02:00
bluss 345dd33942 FEAT: Refactor errors. Insert is either out of bounds or capacity error 2017-07-30 15:12:03 +02:00
bluss 4d7887010e DOC: Update docs for debug assertions 2017-07-30 14:33:49 +02:00
bluss 707ddc3224 MAINT: Use serde-1 feature in docs.rs 2017-07-30 14:15:34 +02:00
bluss a59b5c0b86 DOC: Rust version in docs
Required rust version should be in rustdoc

Reason: Written in one or a few places. Information is versioned with
the crate on docs.rs
2017-07-30 14:14:25 +02:00
bluss 1d08021107 BUG: Fix serde code for push change 2017-07-30 14:12:24 +02:00
bluss 3a235d7206 FEAT: Test in Travis from Rust 1.18 2017-07-30 13:29:54 +02:00
bluss da62042001 FEAT: Make swap_remove return the element, add try_swap_remove for fallible 2017-07-30 13:18:50 +02:00
bluss 98af43cf9c FEAT: Make .push() use panics for errors, add .try_push() 2017-07-30 13:14:22 +02:00