From 68854b798ebda70014985d26722e7f6820254658 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Sun, 12 May 2024 13:24:36 -0700 Subject: [PATCH] Add AST pretty-printer tests for let-else --- tests/ui/macros/stringify.rs | 15 +++++++++++++++ .../{pretty-let-else.rs => let-else-hir.rs} | 0 ...pretty-let-else.stdout => let-else-hir.stdout} | 0 tests/ui/unpretty/let-else.rs | 11 +++++++++++ tests/ui/unpretty/let-else.stdout | 15 +++++++++++++++ 5 files changed, 41 insertions(+) rename tests/ui/unpretty/{pretty-let-else.rs => let-else-hir.rs} (100%) rename tests/ui/unpretty/{pretty-let-else.stdout => let-else-hir.stdout} (100%) create mode 100644 tests/ui/unpretty/let-else.rs create mode 100644 tests/ui/unpretty/let-else.stdout diff --git a/tests/ui/macros/stringify.rs b/tests/ui/macros/stringify.rs index 472cb4d417be8..6b215ba525deb 100644 --- a/tests/ui/macros/stringify.rs +++ b/tests/ui/macros/stringify.rs @@ -675,6 +675,11 @@ fn test_stmt() { "let (a, b): (u32, u32) = (1, 2);", "let (a, b): (u32, u32) = (1, 2)" ); + c2!(stmt, + [ let _ = f() else { return; } ], + "let _ = f() else { return; };", + "let _ = f() else { return; }", + ); macro_rules! c2_let_expr_minus_one { ([ $expr:expr ], $stmt_expected:expr, $tokens_expected:expr $(,)?) => { c2!(stmt, [ let _ = $expr - 1 ], $stmt_expected, $tokens_expected); @@ -685,6 +690,16 @@ fn test_stmt() { "let _ = match void {} - 1;", "let _ = match void {} - 1", ); + macro_rules! c2_let_expr_else_return { + ([ $expr:expr ], $stmt_expected:expr, $tokens_expected:expr $(,)?) => { + c2!(stmt, [ let _ = $expr else { return; } ], $stmt_expected, $tokens_expected); + }; + } + c2_let_expr_else_return!( + [ f() ], + "let _ = f() else { return; };", + "let _ = f() else { return; }", + ); // StmtKind::Item c1!(stmt, [ struct S; ], "struct S;"); diff --git a/tests/ui/unpretty/pretty-let-else.rs b/tests/ui/unpretty/let-else-hir.rs similarity index 100% rename from tests/ui/unpretty/pretty-let-else.rs rename to tests/ui/unpretty/let-else-hir.rs diff --git a/tests/ui/unpretty/pretty-let-else.stdout b/tests/ui/unpretty/let-else-hir.stdout similarity index 100% rename from tests/ui/unpretty/pretty-let-else.stdout rename to tests/ui/unpretty/let-else-hir.stdout diff --git a/tests/ui/unpretty/let-else.rs b/tests/ui/unpretty/let-else.rs new file mode 100644 index 0000000000000..4db6eca99b18f --- /dev/null +++ b/tests/ui/unpretty/let-else.rs @@ -0,0 +1,11 @@ +//@ compile-flags: -Zunpretty=expanded +//@ check-pass + +macro_rules! expr { + ($e:expr) => { $e }; +} + +fn main() { + let _ = expr!(1 + 1) else { return; }; + let _ = expr!(loop {}) else { return; }; +} diff --git a/tests/ui/unpretty/let-else.stdout b/tests/ui/unpretty/let-else.stdout new file mode 100644 index 0000000000000..5f6972cd4295f --- /dev/null +++ b/tests/ui/unpretty/let-else.stdout @@ -0,0 +1,15 @@ +#![feature(prelude_import)] +#![no_std] +#[prelude_import] +use ::std::prelude::rust_2015::*; +#[macro_use] +extern crate std; +//@ compile-flags: -Zunpretty=expanded +//@ check-pass + +macro_rules! expr { ($e:expr) => { $e }; } + +fn main() { + let _ = 1 + 1 else { return; }; + let _ = loop {} else { return; }; +}