diff options
Diffstat (limited to 'src/test/ui/async-await/drop-track-field-assign-nonsend.rs')
-rw-r--r-- | src/test/ui/async-await/drop-track-field-assign-nonsend.rs | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/test/ui/async-await/drop-track-field-assign-nonsend.rs b/src/test/ui/async-await/drop-track-field-assign-nonsend.rs deleted file mode 100644 index b6c0fda15..000000000 --- a/src/test/ui/async-await/drop-track-field-assign-nonsend.rs +++ /dev/null @@ -1,45 +0,0 @@ -// Derived from an ICE found in tokio-xmpp during a crater run. -// edition:2021 -// compile-flags: -Zdrop-tracking - -#![allow(dead_code)] - -#[derive(Clone)] -struct InfoResult { - node: Option<std::rc::Rc<String>> -} - -struct Agent { - info_result: InfoResult -} - -impl Agent { - async fn handle(&mut self) { - let mut info = self.info_result.clone(); - info.node = None; - let element = parse_info(info); - let _ = send_element(element).await; - } -} - -struct Element { -} - -async fn send_element(_: Element) {} - -fn parse(_: &[u8]) -> Result<(), ()> { - Ok(()) -} - -fn parse_info(_: InfoResult) -> Element { - Element { } -} - -fn assert_send<T: Send>(_: T) {} - -fn main() { - let agent = Agent { info_result: InfoResult { node: None } }; - // FIXME: It would be nice for this to work. See #94067. - assert_send(agent.handle()); - //~^ cannot be sent between threads safely -} |