about summary refs log tree commit diff
path: root/tests/ui/fmt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/fmt')
-rw-r--r--tests/ui/fmt/nested-awaits-issue-122674.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/fmt/nested-awaits-issue-122674.rs b/tests/ui/fmt/nested-awaits-issue-122674.rs
new file mode 100644
index 00000000000..f250933dadb
--- /dev/null
+++ b/tests/ui/fmt/nested-awaits-issue-122674.rs
@@ -0,0 +1,22 @@
+// Non-regression test for issue #122674: a change in the format args visitor missed nested awaits.
+
+//@ edition: 2021
+//@ check-pass
+
+pub fn f1() -> impl std::future::Future<Output = Result<(), String>> + Send {
+    async {
+        should_work().await?;
+        Ok(())
+    }
+}
+
+async fn should_work() -> Result<String, String> {
+    let x = 1;
+    Err(format!("test: {}: {}", x, inner().await?))
+}
+
+async fn inner() -> Result<String, String> {
+    Ok("test".to_string())
+}
+
+fn main() {}