mirror of
https://github.com/rust-embedded/heapless.git
synced 2025-10-02 14:54:30 +00:00
Merge branch 'fix-testcfail' into fix-linear-map-drop
This commit is contained in:
commit
4d0f2e2016
@ -2,8 +2,8 @@ error[E0499]: cannot borrow `q` as mutable more than once at a time
|
|||||||
--> $DIR/freeze.rs:7:5
|
--> $DIR/freeze.rs:7:5
|
||||||
|
|
|
|
||||||
6 | let (_p, mut _c) = q.split();
|
6 | let (_p, mut _c) = q.split();
|
||||||
| --------- first mutable borrow occurs here
|
| - first mutable borrow occurs here
|
||||||
7 | q.enqueue(0).unwrap();
|
7 | q.enqueue(0).unwrap();
|
||||||
| ^^^^^^^^^^^^ second mutable borrow occurs here
|
| ^ second mutable borrow occurs here
|
||||||
8 | _c.dequeue();
|
8 | _c.dequeue();
|
||||||
| ------------ first borrow later used here
|
| -- first borrow later used here
|
||||||
|
@ -1,99 +1,123 @@
|
|||||||
error[E0277]: `*const ()` cannot be sent between threads safely
|
error[E0277]: `*const ()` cannot be sent between threads safely
|
||||||
--> $DIR/not-send.rs:19:15
|
--> ui/not-send.rs:19:15
|
||||||
|
|
|
|
||||||
19 | is_send::<Consumer<NotSend, 4>>();
|
19 | is_send::<Consumer<NotSend, 4>>();
|
||||||
| ^^^^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
| ^^^^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
||||||
|
|
|
|
||||||
= help: within `PhantomData<*const ()>`, the trait `Send` is not implemented for `*const ()`
|
= help: within `PhantomData<*const ()>`, the trait `Send` is not implemented for `*const ()`
|
||||||
= note: required because it appears within the type `PhantomData<*const ()>`
|
note: required because it appears within the type `PhantomData<*const ()>`
|
||||||
|
--> $RUST/core/src/marker.rs
|
||||||
= note: required for `Consumer<'_, PhantomData<*const ()>, 4>` to implement `Send`
|
= note: required for `Consumer<'_, PhantomData<*const ()>, 4>` to implement `Send`
|
||||||
note: required by a bound in `is_send`
|
note: required by a bound in `is_send`
|
||||||
--> $DIR/not-send.rs:14:8
|
--> ui/not-send.rs:14:8
|
||||||
|
|
|
|
||||||
12 | fn is_send<T>()
|
12 | fn is_send<T>()
|
||||||
| ------- required by a bound in this
|
| ------- required by a bound in this function
|
||||||
13 | where
|
13 | where
|
||||||
14 | T: Send,
|
14 | T: Send,
|
||||||
| ^^^^ required by this bound in `is_send`
|
| ^^^^ required by this bound in `is_send`
|
||||||
|
|
||||||
error[E0277]: `*const ()` cannot be sent between threads safely
|
error[E0277]: `*const ()` cannot be sent between threads safely
|
||||||
--> $DIR/not-send.rs:20:15
|
--> ui/not-send.rs:20:15
|
||||||
|
|
|
|
||||||
20 | is_send::<Producer<NotSend, 4>>();
|
20 | is_send::<Producer<NotSend, 4>>();
|
||||||
| ^^^^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
| ^^^^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
||||||
|
|
|
|
||||||
= help: within `PhantomData<*const ()>`, the trait `Send` is not implemented for `*const ()`
|
= help: within `PhantomData<*const ()>`, the trait `Send` is not implemented for `*const ()`
|
||||||
= note: required because it appears within the type `PhantomData<*const ()>`
|
note: required because it appears within the type `PhantomData<*const ()>`
|
||||||
|
--> $RUST/core/src/marker.rs
|
||||||
= note: required for `Producer<'_, PhantomData<*const ()>, 4>` to implement `Send`
|
= note: required for `Producer<'_, PhantomData<*const ()>, 4>` to implement `Send`
|
||||||
note: required by a bound in `is_send`
|
note: required by a bound in `is_send`
|
||||||
--> $DIR/not-send.rs:14:8
|
--> ui/not-send.rs:14:8
|
||||||
|
|
|
|
||||||
12 | fn is_send<T>()
|
12 | fn is_send<T>()
|
||||||
| ------- required by a bound in this
|
| ------- required by a bound in this function
|
||||||
13 | where
|
13 | where
|
||||||
14 | T: Send,
|
14 | T: Send,
|
||||||
| ^^^^ required by this bound in `is_send`
|
| ^^^^ required by this bound in `is_send`
|
||||||
|
|
||||||
error[E0277]: `*const ()` cannot be sent between threads safely
|
error[E0277]: `*const ()` cannot be sent between threads safely
|
||||||
--> $DIR/not-send.rs:21:15
|
--> ui/not-send.rs:21:15
|
||||||
|
|
|
|
||||||
21 | is_send::<Queue<NotSend, 4>>();
|
21 | is_send::<Queue<NotSend, 4>>();
|
||||||
| ^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
| ^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
||||||
|
|
|
|
||||||
= help: within `Queue<PhantomData<*const ()>, 4>`, the trait `Send` is not implemented for `*const ()`
|
= help: within `Queue<PhantomData<*const ()>, 4>`, the trait `Send` is not implemented for `*const ()`
|
||||||
= note: required because it appears within the type `PhantomData<*const ()>`
|
note: required because it appears within the type `PhantomData<*const ()>`
|
||||||
= note: required because it appears within the type `ManuallyDrop<PhantomData<*const ()>>`
|
--> $RUST/core/src/marker.rs
|
||||||
= note: required because it appears within the type `MaybeUninit<PhantomData<*const ()>>`
|
note: required because it appears within the type `ManuallyDrop<PhantomData<*const ()>>`
|
||||||
= note: required because it appears within the type `UnsafeCell<MaybeUninit<PhantomData<*const ()>>>`
|
--> $RUST/core/src/mem/manually_drop.rs
|
||||||
|
note: required because it appears within the type `MaybeUninit<PhantomData<*const ()>>`
|
||||||
|
--> $RUST/core/src/mem/maybe_uninit.rs
|
||||||
|
note: required because it appears within the type `UnsafeCell<MaybeUninit<PhantomData<*const ()>>>`
|
||||||
|
--> $RUST/core/src/cell.rs
|
||||||
= note: required because it appears within the type `[UnsafeCell<MaybeUninit<PhantomData<*const ()>>>; 4]`
|
= note: required because it appears within the type `[UnsafeCell<MaybeUninit<PhantomData<*const ()>>>; 4]`
|
||||||
= note: required because it appears within the type `Queue<PhantomData<*const ()>, 4>`
|
note: required because it appears within the type `Queue<PhantomData<*const ()>, 4>`
|
||||||
|
--> $HEAPLESS/src/spsc.rs
|
||||||
|
|
|
||||||
|
| pub struct Queue<T, const N: usize> {
|
||||||
|
| ^^^^^
|
||||||
note: required by a bound in `is_send`
|
note: required by a bound in `is_send`
|
||||||
--> $DIR/not-send.rs:14:8
|
--> ui/not-send.rs:14:8
|
||||||
|
|
|
|
||||||
12 | fn is_send<T>()
|
12 | fn is_send<T>()
|
||||||
| ------- required by a bound in this
|
| ------- required by a bound in this function
|
||||||
13 | where
|
13 | where
|
||||||
14 | T: Send,
|
14 | T: Send,
|
||||||
| ^^^^ required by this bound in `is_send`
|
| ^^^^ required by this bound in `is_send`
|
||||||
|
|
||||||
error[E0277]: `*const ()` cannot be sent between threads safely
|
error[E0277]: `*const ()` cannot be sent between threads safely
|
||||||
--> $DIR/not-send.rs:22:15
|
--> ui/not-send.rs:22:15
|
||||||
|
|
|
|
||||||
22 | is_send::<Vec<NotSend, 4>>();
|
22 | is_send::<Vec<NotSend, 4>>();
|
||||||
| ^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
| ^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
||||||
|
|
|
|
||||||
= help: within `heapless::Vec<PhantomData<*const ()>, 4>`, the trait `Send` is not implemented for `*const ()`
|
= help: within `heapless::Vec<PhantomData<*const ()>, 4>`, the trait `Send` is not implemented for `*const ()`
|
||||||
= note: required because it appears within the type `PhantomData<*const ()>`
|
note: required because it appears within the type `PhantomData<*const ()>`
|
||||||
= note: required because it appears within the type `ManuallyDrop<PhantomData<*const ()>>`
|
--> $RUST/core/src/marker.rs
|
||||||
= note: required because it appears within the type `MaybeUninit<PhantomData<*const ()>>`
|
note: required because it appears within the type `ManuallyDrop<PhantomData<*const ()>>`
|
||||||
|
--> $RUST/core/src/mem/manually_drop.rs
|
||||||
|
note: required because it appears within the type `MaybeUninit<PhantomData<*const ()>>`
|
||||||
|
--> $RUST/core/src/mem/maybe_uninit.rs
|
||||||
= note: required because it appears within the type `[MaybeUninit<PhantomData<*const ()>>; 4]`
|
= note: required because it appears within the type `[MaybeUninit<PhantomData<*const ()>>; 4]`
|
||||||
= note: required because it appears within the type `heapless::Vec<PhantomData<*const ()>, 4>`
|
note: required because it appears within the type `Vec<PhantomData<*const ()>, 4>`
|
||||||
|
--> $HEAPLESS/src/vec.rs
|
||||||
|
|
|
||||||
|
| pub struct Vec<T, const N: usize> {
|
||||||
|
| ^^^
|
||||||
note: required by a bound in `is_send`
|
note: required by a bound in `is_send`
|
||||||
--> $DIR/not-send.rs:14:8
|
--> ui/not-send.rs:14:8
|
||||||
|
|
|
|
||||||
12 | fn is_send<T>()
|
12 | fn is_send<T>()
|
||||||
| ------- required by a bound in this
|
| ------- required by a bound in this function
|
||||||
13 | where
|
13 | where
|
||||||
14 | T: Send,
|
14 | T: Send,
|
||||||
| ^^^^ required by this bound in `is_send`
|
| ^^^^ required by this bound in `is_send`
|
||||||
|
|
||||||
error[E0277]: `*const ()` cannot be sent between threads safely
|
error[E0277]: `*const ()` cannot be sent between threads safely
|
||||||
--> $DIR/not-send.rs:23:15
|
--> ui/not-send.rs:23:15
|
||||||
|
|
|
|
||||||
23 | is_send::<HistoryBuffer<NotSend, 4>>();
|
23 | is_send::<HistoryBuffer<NotSend, 4>>();
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
||||||
|
|
|
|
||||||
= help: within `HistoryBuffer<PhantomData<*const ()>, 4>`, the trait `Send` is not implemented for `*const ()`
|
= help: within `HistoryBuffer<PhantomData<*const ()>, 4>`, the trait `Send` is not implemented for `*const ()`
|
||||||
= note: required because it appears within the type `PhantomData<*const ()>`
|
note: required because it appears within the type `PhantomData<*const ()>`
|
||||||
= note: required because it appears within the type `ManuallyDrop<PhantomData<*const ()>>`
|
--> $RUST/core/src/marker.rs
|
||||||
= note: required because it appears within the type `MaybeUninit<PhantomData<*const ()>>`
|
note: required because it appears within the type `ManuallyDrop<PhantomData<*const ()>>`
|
||||||
|
--> $RUST/core/src/mem/manually_drop.rs
|
||||||
|
note: required because it appears within the type `MaybeUninit<PhantomData<*const ()>>`
|
||||||
|
--> $RUST/core/src/mem/maybe_uninit.rs
|
||||||
= note: required because it appears within the type `[MaybeUninit<PhantomData<*const ()>>; 4]`
|
= note: required because it appears within the type `[MaybeUninit<PhantomData<*const ()>>; 4]`
|
||||||
= note: required because it appears within the type `HistoryBuffer<PhantomData<*const ()>, 4>`
|
note: required because it appears within the type `HistoryBuffer<PhantomData<*const ()>, 4>`
|
||||||
|
--> $HEAPLESS/src/histbuf.rs
|
||||||
|
|
|
||||||
|
| pub struct HistoryBuffer<T, const N: usize> {
|
||||||
|
| ^^^^^^^^^^^^^
|
||||||
note: required by a bound in `is_send`
|
note: required by a bound in `is_send`
|
||||||
--> $DIR/not-send.rs:14:8
|
--> ui/not-send.rs:14:8
|
||||||
|
|
|
|
||||||
12 | fn is_send<T>()
|
12 | fn is_send<T>()
|
||||||
| ------- required by a bound in this
|
| ------- required by a bound in this function
|
||||||
13 | where
|
13 | where
|
||||||
14 | T: Send,
|
14 | T: Send,
|
||||||
| ^^^^ required by this bound in `is_send`
|
| ^^^^ required by this bound in `is_send`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user