48 Commits

Author SHA1 Message Date
James Munns
620ee9a510 Allow for manual opt-out of CAS features 2019-10-02 17:09:05 +02:00
Jorge Aparicio
cda0c20b16 v0.5.0
closes #105
2019-07-12 01:20:18 +02:00
Jorge Aparicio
94db64d8a6 add multiple-producer multiple-consumer lock-free queue 2019-05-22 18:58:58 +02:00
Jorge Aparicio
e609aed1dd pre-release 2019-05-21 13:46:11 +02:00
Jorge Aparicio
fd1f701120 drop the maybe_uninit feature gate 2019-05-21 12:43:19 +02:00
Jorge Aparicio
fc4054571f drop const-fn feature; provide const constructors on near stable (1.36) 2019-05-06 17:13:15 +02:00
Jorge Aparicio
4932eb27df use core::mem::MaybeUninit; drop min-const-fn and smaller-atomics features 2019-05-03 14:00:28 +02:00
Jorge Aparicio
ef399ab44f add lock-free, interrupt-safe memory pool
this adds the stable subset of the `lifo::Pool` [1] API

[1]: https://github.com/japaric/lifo
2019-04-22 20:49:34 +02:00
Jorge Aparicio
1cfc847892 document and guarantee MSRV 2019-02-12 19:40:51 +01:00
Artem Vorotnikov
d551759884
Serde support 2019-02-06 18:41:54 +03:00
Jorge Aparicio
82fded5155 remove no longer needded integer_atomics feature 2019-02-04 19:23:47 +01:00
Georg Brandl
69379fbccc
Fix remaining RingBuffer reference 2018-10-31 16:06:01 +01:00
Jorge Aparicio
b47d8d8a5d drop no longer required feature gate 2018-10-19 19:49:20 +02:00
Jorge Aparicio
64a76132da use integer_atomics feature instead of core_intrinsics 2018-10-19 19:48:07 +02:00
Jorge Aparicio
f83329cbf4 rename RingBuffer to spsc::Queue 2018-10-19 19:28:57 +02:00
Jorge Aparicio
991e4146e1 remove Uxx from the public interface 2018-10-19 14:13:10 +02:00
Jorge Aparicio
63ae080138 move more feature gates behind a Cargo feature 2018-07-13 19:01:48 -05:00
Jorge Aparicio
ddc6842342 RingBuffer: put smaller atomic indices behind a Cargo feature
this let us drop the core_intrinsics feature gate
2018-07-13 18:51:06 -05:00
Felix Stegmaier
40133fea0f Merge remote-tracking branch 'origin/master' into const-fn-feature 2018-07-13 11:25:56 +02:00
Jorge Aparicio
e3c9f23e94 drop the nonzero feature gate 2018-07-13 00:29:08 -05:00
Felix Stegmaier
e48b15474d Update docs and tests 2018-05-21 13:18:28 +02:00
Felix Stegmaier
479c74d9e5 Fix static variables in tests 2018-05-19 18:32:47 +02:00
Felix Stegmaier
512ce719ed Fix missing_docs in const_fn macro 2018-05-19 12:25:30 +02:00
Felix
23b301362b WIP const_fn macro 2018-05-19 01:23:10 +02:00
Jorge Aparicio
ffc7849f27 avoid using NLL 2018-05-03 03:35:46 +02:00
Jorge Aparicio
22ef801d6a cargo fmt 2018-04-28 05:49:05 +02:00
Jorge Aparicio
66585909ef re-export generic_array::ArrayLength 2018-04-27 04:53:05 +02:00
Jorge Aparicio
f58f7abfed port IndexMap and IndexSet 2018-04-23 19:40:36 +02:00
Jorge Aparicio
c1892739f7 drop untagged-option dependency, and depend on generic-array 2018-04-22 00:41:13 +02:00
bors[bot]
a8d404fbe8 Merge #26
26: Ringbuffer iterators macro r=japaric a=XOSplicer

Resolves #6 

Refactor the ring_buffer::{Iter,IterMut} implementations to use a macro, so there is less duplicate code.
Inspired by the[ slice iterator macro in lib core](https://github.com/rust-lang/rust/blob/master/src/libcore/slice/mod.rs).

I have never worked with macros to generate const / mut implementations.
So this might be a little rough.

`#![allow(stable_features)]` is needed for current rust nightly, since otherwise `conservative_impl_trait` would throw a warning. Removing the feature flag would not be backwards compatible with earlier nightly versions.

Co-authored-by: Felix <stegmaier.felix@gmail.com>
2018-04-19 19:46:33 +00:00
Jorge Aparicio
ad13b81a21 implement BinaryHeap 2018-04-18 02:47:18 +02:00
Jorge Aparicio
9fc5f71799 elide bounds check in Vec.deref{,_mut} 2018-04-13 16:21:21 +02:00
Felix
8e51a6138f #![allow(stable_features)]
#![feature(conservative_impl_trait)] has been stabelized in Rust 1.26, #![deny(warnings)]  would therefore break the build when a stable feature is explicitly used
2018-04-09 22:15:27 +02:00
Jorge Aparicio
d1e51cb43f add LinearMap 2018-03-11 22:35:27 +01:00
Mike Hommey
b086fa992b Remove unused features 2018-03-04 07:19:01 +09:00
Jorge Aparicio
95893d4155 v0.2.2 2018-03-01 20:38:38 +01:00
Jorge Aparicio
0dd522268c fix warnings 2018-03-01 19:40:39 +01:00
Per Lindgren
faad961e9c add String 2018-03-01 19:00:55 +01:00
Jorge Aparicio
30ea33c349 relax the lifetime constraint of RingBuffer.split
also

- add a "`split` freezes the ring buffer" compile fail test
- hide compile-fail doc tests
- add scoped threads tests
2017-11-09 02:27:01 +01:00
Jorge Aparicio
37c8b5b637 create our own AtomicUsize
which works on thumbv6m-none-eabi and probably other targets with max-atomic-width = 0
2017-11-08 22:12:24 +01:00
Jorge Aparicio
978f0ee2de add a compiler barrier 2017-11-08 00:50:26 +01:00
Jorge Aparicio
55f891e64f use atomics where available
cc #5
2017-10-31 21:26:02 +01:00
Jorge Aparicio
da5757a71b add examples and cfail tests 2017-10-31 17:59:47 +01:00
Jorge Aparicio
e841c8a664 update the documentation 2017-10-31 16:48:11 +01:00
Jorge Aparicio
7e91814cf8 support arrays of any size, don't require an initialization value, ..
single producer single consumer support for ring buffer
2017-10-03 16:04:27 +02:00
Jorge Aparicio
f515ed9ead v0.1.0 2017-04-27 16:25:57 -05:00
Jorge Aparicio
2d8ff5b066 fix bug in Vec.push
the length of the vector wasn't being incremented
2017-03-17 12:07:23 -05:00
Jorge Aparicio
1d9cdb1ae1 initial commit 2017-03-05 00:30:10 -05:00