Commit Graph

154 Commits

Author SHA1 Message Date
Soveu 66077cfa99 Pre-allocate memory in extend_from_slice, extend and append functions (#80)
* change behavior on extend_from_slice, append

* preallocation in extend()

* append v2

* obviously

* fix resize_with
2020-07-17 10:21:06 -06:00
Lokathor 1a2ed23590 (cargo-release) version 0.4.0-alpha.4 2020-07-15 21:14:38 -06:00
Lokathor 7e08b2cd56 (cargo-release) version 0.4.0-alpha.3 2020-07-15 21:13:02 -06:00
Benjamin Scherer 478a8a0124 Make capacity() methods not rely on Array::CAPACITY (#83)
* Make capacity() methods not rely on Array::CAPACITY

Because Array isn't an unsafe trait, unsafe code cannot depend on the
length of a slice produced by Array::as_slice to be at least as long as
Array::CAPACITY. This means that unsafe code also cannot depend on
capacity() methods that return Array::CAPACITY. Returning the result of
a slice len() call ensures that if nothing else, with a sound
implementation of Array, capacity() methods will return a valid length
for a sub-slice of the backing array.

* Add comments explaining choice against using Array::CAPACITY
2020-07-15 21:02:26 -06:00
Lokathor 99598c1cda Fix https://github.com/Lokathor/tinyvec/issues/79#issuecomment-658747606 2020-07-15 06:53:32 -06:00
Lokathor e069cd2906 Relicense from Zlib to Zlib OR Apache-2.0 OR MIT (#81)
* rustfmt

* Replace crate description so Shnatsel doesn't need to sign off on the relicense.

* write more crate docs.
2020-07-15 06:45:39 -06:00
Lokathor 64dcb336c6 (cargo-release) version 0.4.0-alpha.2 2020-07-08 07:19:57 -06:00
Lokathor c40bf5bbd7 prep alpha release 2020-07-08 07:19:05 -06:00
Lokathor d8420baa58 fix my own error 2020-07-03 21:45:55 -06:00
Lokathor ef35f990e8 Update .travis.yml 2020-07-03 21:36:03 -06:00
Lokathor 1415fd90f9 Update arrayset.rs 2020-07-03 21:34:57 -06:00
Lokathor 5bb7c7585b Closes https://github.com/Lokathor/tinyvec/issues/75 (#77)
* Closes https://github.com/Lokathor/tinyvec/issues/75

* This is a breaking change to the macro

* benchmarks fixes.

* slim down to just `take`
2020-07-03 10:56:45 -06:00
Benjamin Scherer fb92d14ab4 Modify tiny_vec! to avoid error on non-Copy types (#74)
* Modify tiny_vec! to avoid error on non-Copy types

Using $elem in two closures in the previous version of the macro created
errors when using types that don't implement Copy. Moving the decision
of whether to allocate or use an inline array to the macro invocation
resolves this error as the borrow checker can see that both branches are
never taken together.

* Add test for tiny_vec! using non-Copy types

* Fix inference issue

* Use full crate path in tiny_vec!
2020-06-18 09:22:21 -06:00
Diggory Hardy 726167b3a9 Implement ArraySet (#73) 2020-06-18 09:21:53 -06:00
Lokathor c81bc9f0b1 Add the SliceVec type (#68)
* start of slicevec

* remove todo! because it's not in 1.36

* Update Cargo.toml

* slice vec into iterator

* slicevec drain

* complete last unimplemented

* remove the extra default feature

* spelling

* Update src/slicevec.rs

Co-Authored-By: Joshua Nelson <joshua@yottadb.com>

* docs clarification.

Co-authored-by: Joshua Nelson <joshua@yottadb.com>
2020-04-22 12:31:56 -06:00
Josh Stone d04abff44c impl IntoIterator for &/&mut ArrayVec (#69)
These just create slice iterators, but the impls are useful to have for
contexts that don't auto-deref, as in the new tests.
2020-03-31 13:36:39 -06:00
Lokathor 0c31798eba start next version 2020-03-25 18:09:35 -06:00
Lokathor 7052ec9b81 (cargo-release) version 0.3.3 2020-03-25 18:07:03 -06:00
Lokathor f1a4c02062 Delete settings.json 2020-03-25 17:39:34 -06:00
Evgeny Rozaliev 5ba37a6b3a TinyVec::from([T]) (#66) 2020-03-17 14:15:39 -06:00
Lokathor 515171daa9 CI update: make each feature run separately 2020-03-15 10:54:25 -06:00
Lokathor b94c08cd43 Update arrayvec.rs 2020-02-11 12:32:18 -07:00
Lokathor 695cc79635 Update arrayvec.rs 2020-02-11 12:15:19 -07:00
Lokathor cc55f669c4 Improve Write impl efficiency 2020-02-10 20:14:20 -07:00
Lokathor 574126f56b oops, dumb lifetimes. 2020-02-10 20:06:35 -07:00
Lokathor 3b06e8498c put in a highly experimental Write impl for ArrayVec of bytes 2020-02-10 20:02:56 -07:00
Lokathor 49a26a2bd5 Closes https://github.com/Lokathor/tinyvec/issues/48 2020-02-10 19:52:15 -07:00
Lokathor e95311a477 Merge pull request #61 from dxenonb/dxb/typos
Fix typos
2020-02-06 19:40:10 -07:00
dxenonb 47fd42eefd Fix typo 2020-02-06 20:57:22 -05:00
Lokathor 5fa44954ad (cargo-release) start next development iteration 0.3.3-alpha.0 2020-01-29 18:54:19 -07:00
Lokathor 52d912e38d (cargo-release) version 0.3.2 2020-01-29 18:54:16 -07:00
Lokathor 69f41c2418 Merge pull request #60 from Nemo157/macro-🚫type
Allow inferring array type for macro constructors
2020-01-29 18:51:56 -07:00
Wim Looman ac8dfa5cef Allow inferring array type for macro constructors 2020-01-28 12:51:35 +01:00
Wim Looman 6bced3d4e4 Add benchmarks of tiny_vec macro 2020-01-28 12:49:20 +01:00
Wim Looman 45275fbbc2 Make macros work without any other imports 2020-01-28 12:46:39 +01:00
Wim Looman 5e46d949af Allow trailing comma in tiny_vec! 2020-01-28 12:43:32 +01:00
Lokathor 922aa16856 Merge pull request #57 from Lokathor/optimize-large-tiny_vec-macro-usage
Makes `tiny_vec!` go directly to the heap if the CAPACITY would have overflowed.
2020-01-26 14:56:30 -07:00
Lokathor 9d42db1625 Merge pull request #58 from mgostIH/doc-fix
Fixed links in documentation by removing ::<A>
2020-01-26 14:36:12 -07:00
mgostIH a699b96036 Fixed links in documentation by removing ::<A> 2020-01-26 22:25:33 +01:00
Lokathor 8bb66c5676 Update tinyvec.rs 2020-01-26 14:20:40 -07:00
Lokathor cb41ff9d68 Merge pull request #51 from Lokathor/small-updates
Small updates
2020-01-26 14:03:11 -07:00
Lokathor 180cf57ce3 sigh 2020-01-26 13:53:13 -07:00
Lokathor 0ad90a7609 more CI runs! 2020-01-26 13:49:37 -07:00
Lokathor bcaff5d5b2 bump CI to 1.37? 2020-01-26 13:47:34 -07:00
Lokathor f5d6afb5af clippy 2020-01-26 13:47:24 -07:00
Lokathor 9cd112fb8f Merge branch 'small-updates' of https://github.com/Lokathor/tinyvec into small-updates 2020-01-26 13:38:41 -07:00
Lokathor ddf66f2222 docs, and fix up tiny_vec macro 2020-01-26 13:38:38 -07:00
Lokathor 44373a53a2 Merge branch 'master' into small-updates 2020-01-26 13:37:57 -07:00
Lokathor d296cb65a6 Merge branch 'master' into small-updates 2020-01-26 12:44:18 -07:00
Lokathor d155790c50 Merge pull request #56 from mgostIH/drain
Added more efficient implementation for ArrayVecDrain
2020-01-26 12:39:16 -07:00