2 // compile-flags: -Zdrop-tracking
3 #![feature(generators, negative_impls)]
5 macro_rules
! type_combinations
{
7 $
( $name
:ident
=> { $( $tt:tt )* }
);*
13 impl !Sync
for Client {}
18 impl !Send
for Client {}
22 // This is the same bug as issue 57017, but using yield instead of await
24 let g
= move || match drop(&$name
::unsync
::Client
::default()) {
30 // This tests that `Client` is properly considered to be dropped after moving it into the
33 let g
= move || match drop($name
::unsend
::Client
::default()) {
41 fn assert_send
<T
: Send
>(_thing
: T
) {}
45 copy
=> { #[derive(Copy, Clone, Default)] pub struct Client; }
;
46 derived_drop
=> { #[derive(Default)] pub struct Client { pub nickname: String }
};
50 impl Drop
for Client
{