From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/async-await/drop-track-field-assign.rs | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/test/ui/async-await/drop-track-field-assign.rs (limited to 'src/test/ui/async-await/drop-track-field-assign.rs') diff --git a/src/test/ui/async-await/drop-track-field-assign.rs b/src/test/ui/async-await/drop-track-field-assign.rs new file mode 100644 index 000000000..3a393cd16 --- /dev/null +++ b/src/test/ui/async-await/drop-track-field-assign.rs @@ -0,0 +1,44 @@ +// Derived from an ICE found in tokio-xmpp during a crater run. +// edition:2021 +// compile-flags: -Zdrop-tracking +// build-pass + +#![allow(dead_code)] + +#[derive(Clone)] +struct InfoResult { + node: Option +} + +struct Agent { + info_result: InfoResult +} + +impl Agent { + async fn handle(&mut self) { + let mut info = self.info_result.clone(); + info.node = Some("bar".into()); + 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 main() { + let mut agent = Agent { + info_result: InfoResult { node: None } + }; + let _ = agent.handle(); +} -- cgit v1.2.3