about summary refs log tree commit diff
path: root/tests/ui/fmt
diff options
context:
space:
mode:
authorRémy Rakic <remy.rakic+github@gmail.com>2024-03-18 09:33:16 +0000
committerRémy Rakic <remy.rakic+github@gmail.com>2024-03-18 10:01:35 +0000
commitf3e9dfaed6c4d44fc0a5182221c31e5b0ff038fd (patch)
tree4ebe7d57b6f112285bc0d1dab5d2668101b3d805 /tests/ui/fmt
parent8beec62315538da7449fe869fd366181f7923b6e (diff)
downloadrust-f3e9dfaed6c4d44fc0a5182221c31e5b0ff038fd.tar.gz
rust-f3e9dfaed6c4d44fc0a5182221c31e5b0ff038fd.zip
add non-regression test for issue 122674
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() {}