Merge branch 'fix-testcfail' into fix-linear-map-drop

This commit is contained in:
Dario Nieuwenhuis 2023-10-20 23:04:34 +02:00
commit 4d0f2e2016
2 changed files with 57 additions and 33 deletions

View File

@ -2,8 +2,8 @@ error[E0499]: cannot borrow `q` as mutable more than once at a time
--> $DIR/freeze.rs:7:5
|
6 | let (_p, mut _c) = q.split();
| --------- first mutable borrow occurs here
| - first mutable borrow occurs here
7 | q.enqueue(0).unwrap();
| ^^^^^^^^^^^^ second mutable borrow occurs here
| ^ second mutable borrow occurs here
8 | _c.dequeue();
| ------------ first borrow later used here
| -- first borrow later used here

View File

@ -1,99 +1,123 @@
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>>();
| ^^^^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
= 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 by a bound in `is_send`
--> $DIR/not-send.rs:14:8
--> ui/not-send.rs:14:8
|
12 | fn is_send<T>()
| ------- required by a bound in this
| ------- required by a bound in this function
13 | where
14 | T: Send,
| ^^^^ required by this bound in `is_send`
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>>();
| ^^^^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
= 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 by a bound in `is_send`
--> $DIR/not-send.rs:14:8
--> ui/not-send.rs:14:8
|
12 | fn is_send<T>()
| ------- required by a bound in this
| ------- required by a bound in this function
13 | where
14 | T: Send,
| ^^^^ required by this bound in `is_send`
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>>();
| ^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
= 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 `ManuallyDrop<PhantomData<*const ()>>`
= note: required because it appears within the type `MaybeUninit<PhantomData<*const ()>>`
= note: required because it appears within the type `UnsafeCell<MaybeUninit<PhantomData<*const ()>>>`
note: required because it appears within the type `PhantomData<*const ()>`
--> $RUST/core/src/marker.rs
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 `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 `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`
--> $DIR/not-send.rs:14:8
--> ui/not-send.rs:14:8
|
12 | fn is_send<T>()
| ------- required by a bound in this
| ------- required by a bound in this function
13 | where
14 | T: Send,
| ^^^^ required by this bound in `is_send`
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>>();
| ^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
= 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 `ManuallyDrop<PhantomData<*const ()>>`
= note: required because it appears within the type `MaybeUninit<PhantomData<*const ()>>`
note: required because it appears within the type `PhantomData<*const ()>`
--> $RUST/core/src/marker.rs
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 `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`
--> $DIR/not-send.rs:14:8
--> ui/not-send.rs:14:8
|
12 | fn is_send<T>()
| ------- required by a bound in this
| ------- required by a bound in this function
13 | where
14 | T: Send,
| ^^^^ required by this bound in `is_send`
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>>();
| ^^^^^^^^^^^^^^^^^^^^^^^^^ `*const ()` cannot be sent between threads safely
|
= 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 `ManuallyDrop<PhantomData<*const ()>>`
= note: required because it appears within the type `MaybeUninit<PhantomData<*const ()>>`
note: required because it appears within the type `PhantomData<*const ()>`
--> $RUST/core/src/marker.rs
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 `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`
--> $DIR/not-send.rs:14:8
--> ui/not-send.rs:14:8
|
12 | fn is_send<T>()
| ------- required by a bound in this
| ------- required by a bound in this function
13 | where
14 | T: Send,
| ^^^^ required by this bound in `is_send`