error: this implementation is unsound, as some fields in `RingBuffer` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:16:1 | LL | unsafe impl Send for RingBuffer {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `-D clippy::non-send-field-in-send-ty` implied by `-D warnings` note: the field `data` has type `std::vec::Vec>` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:11:5 | LL | data: Vec>, | ^^^^^^^^^^^^^^^^^^^^^^^^ = help: add bounds on type parameter `T` that satisfy `std::vec::Vec>: Send` error: this implementation is unsound, as some fields in `MvccRwLock` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:24:1 | LL | unsafe impl Send for MvccRwLock {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `lock` has type `std::sync::Mutex>` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:21:5 | LL | lock: Mutex>, | ^^^^^^^^^^^^^^^^^^^ = help: add bounds on type parameter `T` that satisfy `std::sync::Mutex>: Send` error: this implementation is unsound, as some fields in `ArcGuard` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:32:1 | LL | unsafe impl Send for ArcGuard {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `head` has type `std::sync::Arc` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:29:5 | LL | head: Arc, | ^^^^^^^^^^^^^ = help: add bounds on type parameter `RC` that satisfy `std::sync::Arc: Send` error: this implementation is unsound, as some fields in `DeviceHandle` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:48:1 | LL | unsafe impl Send for DeviceHandle {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `context` has type `T` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:44:5 | LL | context: T, | ^^^^^^^^^^ = help: add `T: Send` bound in `Send` impl error: this implementation is unsound, as some fields in `NoGeneric` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:55:1 | LL | unsafe impl Send for NoGeneric {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `rc_is_not_send` has type `std::rc::Rc` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:52:5 | LL | rc_is_not_send: Rc, | ^^^^^^^^^^^^^^^^^^^^^^^^^^ = help: use a thread-safe type that implements `Send` error: this implementation is unsound, as some fields in `MultiField` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:63:1 | LL | unsafe impl Send for MultiField {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `field1` has type `T` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:58:5 | LL | field1: T, | ^^^^^^^^^ = help: add `T: Send` bound in `Send` impl note: the field `field2` has type `T` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:59:5 | LL | field2: T, | ^^^^^^^^^ = help: add `T: Send` bound in `Send` impl note: the field `field3` has type `T` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:60:5 | LL | field3: T, | ^^^^^^^^^ = help: add `T: Send` bound in `Send` impl error: this implementation is unsound, as some fields in `MyOption` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:70:1 | LL | unsafe impl Send for MyOption {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `0` has type `T` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:66:12 | LL | MySome(T), | ^ = help: add `T: Send` bound in `Send` impl error: this implementation is unsound, as some fields in `MultiParam` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:77:1 | LL | unsafe impl Send for MultiParam {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `vec` has type `std::vec::Vec<(A, B)>` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:74:5 | LL | vec: Vec<(A, B)>, | ^^^^^^^^^^^^^^^^ = help: add bounds on type parameters `A, B` that satisfy `std::vec::Vec<(A, B)>: Send` error: this implementation is unsound, as some fields in `HeuristicTest` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:95:1 | LL | unsafe impl Send for HeuristicTest {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `field4` has type `(*const NonSend, std::rc::Rc)` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:90:5 | LL | field4: (*const NonSend, Rc), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = help: use a thread-safe type that implements `Send` error: this implementation is unsound, as some fields in `AttrTest3` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:114:1 | LL | unsafe impl Send for AttrTest3 {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `0` has type `T` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:109:11 | LL | Enum2(T), | ^ = help: add `T: Send` bound in `Send` impl error: this implementation is unsound, as some fields in `Complex` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:122:1 | LL | unsafe impl

Send for Complex {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `field1` has type `P` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:118:5 | LL | field1: A, | ^^^^^^^^^ = help: add `P: Send` bound in `Send` impl error: this implementation is unsound, as some fields in `Complex>` are `!Send` --> $DIR/non_send_field_in_send_ty.rs:125:1 | LL | unsafe impl Send for Complex> {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | note: the field `field2` has type `std::sync::MutexGuard<'static, bool>` which is not `Send` --> $DIR/non_send_field_in_send_ty.rs:119:5 | LL | field2: B, | ^^^^^^^^^ = help: use a thread-safe type that implements `Send` error: aborting due to 12 previous errors