1 // revisions: no_drop_tracking drop_tracking drop_tracking_mir
2 // [drop_tracking] compile-flags: -Zdrop-tracking
3 // [drop_tracking_mir] compile-flags: -Zdrop-tracking-mir
4 // Derived from an ICE found in tokio-xmpp during a crater run.
11 node
: Option
<std
::rc
::Rc
<String
>>
15 info_result
: InfoResult
19 async
fn handle(&mut self) {
20 let mut info
= self.info_result
.clone();
22 let element
= parse_info(info
);
23 let _
= send_element(element
).await
;
30 async
fn send_element(_
: Element
) {}
32 fn parse(_
: &[u8]) -> Result
<(), ()> {
36 fn parse_info(_
: InfoResult
) -> Element
{
40 fn assert_send
<T
: Send
>(_
: T
) {}
43 let agent
= Agent { info_result: InfoResult { node: None }
};
44 // FIXME: It would be nice for this to work. See #94067.
45 assert_send(agent
.handle());
46 //~^ cannot be sent between threads safely