280 Commits

Author SHA1 Message Date
Jorge Aparicio
6658509412
Merge branch 'master' into master 2019-12-17 11:47:30 +00:00
Jorge Aparicio
57277455a5
test DoubleEndedIterator a bit more 2019-12-17 11:44:36 +00:00
bors[bot]
06431e7397
Merge #125
125: Deserialize maps as maps r=japaric a=dflemstr

The maps are already being serialized as maps, and serde_json will detect
that despite us claiming that maps are seqs, it falls back to parsing them
as maps; however, serde-json-core does not have that fallback logic, so it
makes more sense to give the correct hint here (especially when this is
merged: https://github.com/japaric/serde-json-core/pull/23)

Co-authored-by: David Flemström <david.flemstrom@gmail.com>
2019-12-17 11:29:41 +00:00
bors[bot]
c4db58c8cb
Merge #132
132: PR #121 plus regression test r=japaric a=japaric



Co-authored-by: konstantin <konstantin.kuznecov@gmx.de>
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2019-12-17 10:48:19 +00:00
Jorge Aparicio
90c90ec418 add test to PR #121 2019-12-17 11:46:46 +01:00
konstantin
baa5e620d4 bugfix in mpmc.dequeue 2019-12-17 11:46:46 +01:00
bors[bot]
5e2054286a
Merge #129
129: Fix improper handling of overflow in `len_usize` (fix #128) r=japaric a=david-sawatzke

This will lead to implausibly large lengths, nearly endless iterators
and possibly unsound behaviour through the Drop implementation

Switches the `truncate` method to refer to the common defintion of
simply chopping of the test bits. (Implemented by `as`, which is defined
to do this).

Adds a new `saturate` method to replace the previous `truncate` method

Co-authored-by: David Sawatzke <david-sawatzke@users.noreply.github.com>
2019-12-17 10:44:06 +00:00
bors[bot]
a6949b5439
Merge #131
131: remove unnecessary parentheses r=japaric a=harrysarson

This commit handles a new rustc warning currently in nightly.

I think this is why #129 failed. 🙂 

Co-authored-by: Harry Sarson <harry.sarson@hotmail.co.uk>
2019-12-17 10:40:23 +00:00
Harry Sarson
17180a1a55
remove unnecessary parentheses
This commit handles a new rustc warning currently in nightly
2019-12-16 11:43:26 +00:00
David Sawatzke
fedcf84cb4 Fix improper handling of overflow in len_usize (fix #128)
This will lead to implausibly large lengths, nearly endless iterators
and possibly unsound behaviour through the Drop implementation

Switches the `truncate` method to refer to the common defintion of
simply chopping of the test bits. (Implemented by `as`, which is defined
to do this).

Adds a new `saturate` method to replace the previous `truncate` method
2019-11-29 10:56:10 +01:00
David Sawatzke
621c1d2f98 Add DoubleEndedIterator to queue iterators 2019-11-27 21:51:39 +01:00
David Flemström
c8ef15f23f Deserialize maps as maps
The maps are already being serialized as maps, and serde_json will detect
that despite us claiming that maps are seqs, it falls back to parsing them
as maps; however, serde-json-core does not have that fallback logic, so it
makes more sense to give the correct hint here (especially when this is
merged: https://github.com/japaric/serde-json-core/pull/23)
2019-11-18 22:23:07 +01:00
bors[bot]
5ffd0df2cc
Merge #118
118: Prepared for 0.5.1 release r=japaric a=korken89

r? @japaric

Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
v0.5.1
2019-08-29 13:48:38 +00:00
Emil Fresk
7c93606372 Prepared for 0.5.1 release 2019-08-29 15:42:47 +02:00
bors[bot]
e8aa152993
Merge #117
117: Added peek_mut for the binary heap r=japaric a=korken89

As discussed in https://github.com/japaric/heapless/issues/109, please have a look and lets bike-shed the API.

Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2019-08-28 17:03:41 +00:00
Emil Fresk
fde6afe6cc Added peek_mut based on the std-lib 2019-08-28 16:22:03 +02:00
bors[bot]
03b890f161
Merge #110
110: Add Queue::peek. r=japaric a=jmgao



Co-authored-by: Josh Gao <josh@jmgao.dev>
2019-08-28 13:49:27 +00:00
Josh Gao
eae66b9b87 Add Queue::peek. 2019-08-21 20:27:03 -07:00
bors[bot]
9e2e5ae03f
Merge #113
113: Added armv8 support r=japaric a=korken89

Added flags for armv8m

Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
2019-08-21 12:37:41 +00:00
Emil Fresk
902460cd18 Added armv8 base to CI 2019-08-11 18:51:16 +02:00
Emil Fresk
14cef0fbc3 Added distinction between armv8 base and main 2019-08-11 18:45:41 +02:00
Emil Fresk
24ffc4a399 Added armv8 support 2019-08-11 18:18:00 +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
v0.5.0
2019-07-12 01:20:18 +02:00
bors[bot]
ab713b810d Merge #100
100: Remove unecessary conditional r=japaric a=jamesmunns

In both cases, head is subtracted from tail, wrapping when necessary.

Co-authored-by: James Munns <james@onevariable.com>
2019-07-11 23:12:34 +00:00
bors[bot]
38e29222a0 Merge #104
104: Enable MSRV 1.36 for travis-ci r=japaric a=XOSplicer

This PR enables CI runs for Rust 1.36 and current stable for on Ci branches for bors.

Co-authored-by: Felix Stegmaier <stegmaier.felix@gmail.com>
2019-07-11 23:06:12 +00:00
bors[bot]
e17689c977 Merge #106
106: fix deprecation warnings r=japaric a=japaric



Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2019-07-11 22:58:15 +00:00
Jorge Aparicio
af13418f72 fix deprecation warnings 2019-07-12 00:22:27 +02:00
Felix Stegmaier
bc8be9d833 Enable MSRV 1.36 for travis-ci 2019-07-05 19:48:17 +02:00
bors[bot]
531432b75b Merge #101
101: Fix boxed Error in build.rs for nightly r=japaric a=XOSplicer

on nightly (rustc 1.37.0-nightly (7840a0b75 2019-05-31)) the build is currently broken (see below).

Adding `dyn Error` as the error result in `build.rs` solves the problem.

```
$ cargo +nightly build      
   Compiling typenum v1.10.0
   Compiling stable_deref_trait v1.1.1
   Compiling byteorder v1.2.7
   Compiling heapless v0.5.0-alpha.2 (/home/felix/workspace/rust/heapless)
error: trait objects without an explicit `dyn` are deprecated
 --> build.rs:5:29
  |
5 | fn main() -> Result<(), Box<Error>> {
  |                             ^^^^^ help: use `dyn`: `dyn Error`
  |
note: lint level defined here
 --> build.rs:1:9
  |
1 | #![deny(warnings)]
  |         ^^^^^^^^
  = note: #[deny(bare_trait_objects)] implied by #[deny(warnings)]

error: aborting due to previous error

error: Could not compile `heapless`.
warning: build failed, waiting for other jobs to finish...
error: build failed
```

Co-authored-by: Felix Stegmaier <stegmaier.felix@gmail.com>
2019-06-21 12:36:20 +00:00
Felix Stegmaier
2768707946 Fix boxed Error in build.rs for nightly 2019-06-01 10:19:30 +02:00
James Munns
e5b75e0d94
Remove unecessary conditional 2019-05-24 12:18:06 +02:00
bors[bot]
8ada965e27 Merge #99
99: add multiple-producer multiple-consumer lock-free queue r=japaric a=japaric



Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2019-05-22 20:27:40 +00:00
Jorge Aparicio
66b44da3e0 fix table 2019-05-22 22:27:10 +02:00
Jorge Aparicio
d969e5516e add benchmark to spsc::Queue 2019-05-22 21:50:00 +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
bors[bot]
ba1d239e68 Merge #97
97: Turn `binary_heap::Kind` into a sealed trait r=japaric a=XOSplicer

resolves #72

breaking change, since a previously public trait is now private

Co-authored-by: Felix Stegmaier <stegmaier.felix@gmail.com>
2019-05-21 10:49:45 +00:00
bors[bot]
9426f8d847 Merge #98
98: drop the maybe_uninit feature gate r=japaric a=japaric



Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2019-05-21 10:44:30 +00:00
Jorge Aparicio
fd1f701120 drop the maybe_uninit feature gate 2019-05-21 12:43:19 +02:00
Felix Stegmaier
2f7bf01ee3 Turn binary_heap::Kind into a sealed trait 2019-05-19 13:57:45 +02:00
bors[bot]
8510b0171c Merge #96
96: add Pool.grow_exact API r=japaric a=japaric



Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2019-05-06 16:56:51 +00:00
Jorge Aparicio
4810cd3681 add Pool.grow_exact API 2019-05-06 18:56:12 +02:00
bors[bot]
edb0eda9b3 Merge #95
95: drop const-fn feature; provide const constructors on near stable (1.36) r=japaric a=japaric



Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2019-05-06 15:14:09 +00:00
Jorge Aparicio
fc4054571f drop const-fn feature; provide const constructors on near stable (1.36) 2019-05-06 17:13:15 +02:00
bors[bot]
ade3f5ecbf Merge #94
94: pool!: accept attributes r=japaric a=japaric



Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2019-05-03 19:03:39 +00:00
Jorge Aparicio
087aa5feed pool!: accept attributes 2019-05-03 21:03:04 +02:00
bors[bot]
6938d75622 Merge #93
93: ARMv7-R: implement Sync for Pool r=japaric a=japaric



Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2019-05-03 16:44:29 +00:00
Jorge Aparicio
110239f0c1 ARMv7-R: implement Sync for Pool 2019-05-03 18:43:46 +02:00
bors[bot]
91dfd3ccb8 Merge #92
92: use core::mem::MaybeUninit; drop min-const-fn and smaller-atomics features r=japaric a=japaric

closes #69 

this contains breaking changes (see CHANGELOG) and bumps the crate version to 0.5.0. We'll make a pre-release (i.e. v0.5.0-alpha.1) after rust-lang/rust#60445 lands and a proper release when that PR makes into the stable channel.

Co-authored-by: Jorge Aparicio <jorge@japaric.io>
2019-05-03 13:58:22 +00:00