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>
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>
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>
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>
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>
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>
91: tweak crate::MaybeUninit::unitialized r=japaric a=japaric
to not cause UB when unoptimized
appears to fixjaparic/cortex-m-rtfm#182
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
88: add lock-free, interrupt-safe memory pool r=japaric a=japaric
this adds the stable subset of the `lifo::Pool` [1] API
[1]: https://github.com/japaric/lifo
Co-authored-by: Jorge Aparicio <jorge@japaric.io>