134 Commits

Author SHA1 Message Date
Tyler Holmes
2bee731ed1 assume native compilation if target_os is not "none" to allow non-x86 hosts to run tests 2022-01-16 14:56:00 -08:00
Emil Fresk
318da23c43 Fix bounds in IndexMap and IndexSet, IndexSet::new() is now const 2021-12-16 10:37:23 +01:00
Emil Fresk
cd754b7936 Support defmt version range (0.2 and 0.3) 2021-11-11 10:25:10 +01:00
Emil Fresk
1c1dd43e08 Preparing 0.7.7 release 2021-09-22 07:12:04 +02:00
Emil Fresk
23627b9dd0 Prepare v0.7.6 release 2021-09-21 17:43:21 +02:00
Jorge Aparicio
25b9b06d1c CAS Pool x86_64: lazily initialized ANCHOR
this reduces the chances of hitting the 32-bit address space issue on x86_64

instead of (always) using a static ANCHOR variable located in .bss we lazily initialize the ANCHOR
variable using the value passed to the first `Ptr::new` invocation. In practice, this means the very
first `Pool::grow` (on x86_64) call is guaranteed to work (use the given memory). Follow up `grow`
invocations are *more likely* to work (but not guaranteed) *if* all given memory comes from the
heap.

We still need an ANCHOR in .bss as a fallback because it's possible to allocate ZST on a pool
without calling `Pool::grow` (= the lazily init ANCHOR is never initialized *but* it can be read)
2021-08-26 14:17:43 +02:00
Jorge Aparicio
6f9c883726 Sync Pool support for (32-bit) x86
the implementation uses a 64-bit atomic on `x86` to avoid the `ANCHOR` variable and the address
space limitation seen with the x86_64 compilation target

this PR also adds the i686-linux-musl target to the test matrix to exercise the new implementation

closes #231
2021-08-25 15:37:27 +02:00
Emil Fresk
f49f967148 v0.7.5 release 2021-08-16 14:16:52 +02:00
Emil Fresk
3777e96673 v0.7.4 release 2021-08-06 18:44:16 +02:00
Daniel Egger
0f899d9696 Make "atomic-polyfill" an optional dep for thumbv6m-none-eabi only
... otherwise any crate using heapless will automatically add all the
funny ARMv6-M only dependencies regardless.

Signed-off-by: Daniel Egger <daniel@eggers-club.de>
2021-07-14 14:30:10 +02:00
Emil Fresk
01f16f1716 Deprecate Box::freeze, prepare v0.7.3 2021-07-01 10:04:03 +02:00
Emil Fresk
295e115542 Preparing v0.7.2 2021-06-30 17:12:36 +02:00
Emil Fresk
3b4983683d Preparing for v0.7.1 2021-05-23 14:25:23 +02:00
Joshua Salzedo
f4617ea76c
attempt at reimplementing on a clean history 2021-05-17 12:51:03 -07:00
Vinay Chandra Dommeti
ae15c8ab9b
Multi size support 2021-05-07 13:20:34 -07:00
Emil Fresk
b15163b234 Preparing for v0.7.0 release 2021-04-22 20:41:58 +02:00
Emil Fresk
58cb279aec IndexMap::new() is now a const-fn 2021-04-19 21:36:38 +02:00
Emil Fresk
2c248a31e9 Fixed so pool and MPMC works on thumbv6 2021-04-04 13:18:49 +02:00
Andrey Zgarbul
e0b3b3a179 remove as_slice dependency 2021-04-02 20:45:18 +03:00
Emil Fresk
1444990e52 Cleanup and HistoryBuffer is now const and using MaybeUninit 2021-04-01 19:14:40 +02:00
Emil Fresk
8ba71d4b14 Merge branch 'master' into const_generics 2021-03-25 17:45:10 +01:00
Emil Fresk
6dcedb89f3 Fixes for min const generics 2021-03-25 16:51:38 +01:00
Per Lindgren
f962e3a45f Initial conversion to const generics
vec passes tests

vec passes tests with docs as well (besides one with FromIter)

vec passes tests with docs as well (besides one with FromIter)

exposing full API

passing all current tests

starting with string

string test passes mostly

string test passes

ufmt passes

TODO removed

binary_heap wip

binary_heap passes tests

sealed passes

spsc wip

spsc wip2

split wip3

spcs and split passes --lib tests

spcs and split passes --lib tests

spcs and split passes --lib tests

spcs and split passes all tests (doc + lib)

indexmap wip

indexmap passes --lib test

indexmap passes all tests (lib + doc)

indexset passes all tests (lib + doc)

indexset passes all tests (lib + doc)

linear map wip

linear map all test (lib + doc) passes, drop not tested, into_iter(mut self) not implemented

history buffer all test pass (doc + lib), Copy instead of clone atm

serde does not work

pool works, serde still not

serde wip

serde wip

serde wip

serde wip
2021-03-25 16:31:58 +01:00
Emil Fresk
357a312dba Preparing for v0.5.5 2021-03-25 16:30:45 +01:00
Jorge Aparicio
b9d7128e1e x86: put Sync impl behind a Cargo feature 2021-03-25 16:30:45 +01:00
Emil Fresk
e67c9859e0 Release v0.6.1 2021-03-02 15:46:39 +01:00
Henrik Tjäder
c464710c81 Update as-slice to patched version 2021-03-02 14:52:59 +01:00
Henrik Tjäder
47906b7981 Changes to version 0.14.4 of generic-array
Resolves RUSTSEC-2020-0145
2021-03-02 14:15:44 +01:00
nicolas-solokeys
d60b0e2c39 Bump generic-array to v0.14.2 (MSRV remains the same) 2021-02-02 20:57:33 +01:00
Todd Greenwood
b97a1762b3 Version bump dependency 'as-slice' -> 0.1.4 2020-09-23 05:51:43 -07:00
Emil Fresk
77f31428b5 Preparing v0.5.6 release 2020-09-18 15:32:26 +02:00
Emil Fresk
357360e1e8 Preparing for v0.5.5 2020-05-04 20:59:35 +02:00
Jorge Aparicio
ea0c189a62 x86: put Sync impl behind a Cargo feature 2020-05-03 17:18:22 +02:00
Danilo Bargen
92d1a399e8 Add optional ufmt impls 2020-05-03 13:29:59 +02:00
Emil Fresk
f7f0dcdb44 Preparing for v0.5.4 2020-04-06 20:57:27 +02:00
bors[bot]
e3f02b06b2
Merge #145
145: Made Box StableDeref r=japaric a=korken89



Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2020-03-25 06:00:21 +00:00
Emil Fresk
b45ea9bd18 Made box StableDeref 2020-03-24 13:05:51 +01:00
Jorge Aparicio
7de6f7907d Extend the ARMv7-A Pool support to the bare-metal armv7a- targets.
The built-in rustc targets ended with names that start with `armv7a-` so #140
does not cover them though the intention was to support them; this commit fixes
that
2020-01-27 12:08:15 +01:00
Jorge Aparicio
f32038d3bb v0.5.2 2020-01-15 11:57:49 +01:00
James Munns
434b7b5e9c Fix bad merge 2019-12-17 18:08:09 +01:00
James Munns
d5789b73ad Merge remote-tracking branch 'origin/master' into manual-cas-disable 2019-12-17 17:05:03 +01:00
Jorge Aparicio
2274a56f02 move cfail tests into their own Cargo project 2019-12-17 16:25:41 +01:00
Jorge Aparicio
e5892d1c90 dev dependencies are x86 only 2019-12-17 16:12:50 +01:00
James Munns
410bc9c77e Invert feature flag logic 2019-12-17 15:00:51 +01:00
Jorge Aparicio
906b0679ca port compile fail tests to trybuild
closes #127
2019-12-17 14:11:09 +01:00
James Munns
620ee9a510 Allow for manual opt-out of CAS features 2019-10-02 17:09:05 +02:00
Emil Fresk
7c93606372 Prepared for 0.5.1 release 2019-08-29 15:42:47 +02:00
Jorge Aparicio
109cb273f2 update doc URL in crate metadata 2019-07-12 01:21:58 +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