summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/source/configs/single_line_let_else_max_width/100.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rustfmt/tests/source/configs/single_line_let_else_max_width/100.rs')
-rw-r--r--src/tools/rustfmt/tests/source/configs/single_line_let_else_max_width/100.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/source/configs/single_line_let_else_max_width/100.rs b/src/tools/rustfmt/tests/source/configs/single_line_let_else_max_width/100.rs
new file mode 100644
index 000000000..a73c9084b
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/configs/single_line_let_else_max_width/100.rs
@@ -0,0 +1,40 @@
+// rustfmt-single_line_let_else_max_width: 100
+
+fn main() {
+ let Some(a) = opt else {};
+
+ let Some(b) = opt else { return };
+
+ let Some(c) = opt else {
+ return
+ };
+
+ let Some(c) = opt else {
+ // a comment should always force the block to be multi-lined
+ return
+ };
+
+ let Some(c) = opt else { /* a comment should always force the block to be multi-lined */ return };
+
+ let Some(d) = some_very_very_very_very_long_name else { return };
+
+ let Expr::Slice(ast::ExprSlice { lower, upper, step, range: _ }) = slice.as_ref() else {
+ return
+ };
+
+ let Some((base_place, current)) = self.lower_expr_as_place(current, *base, true)? else {
+ return Ok(None)
+ };
+
+ let Some(doc_attr) = variant.attrs.iter().find(|attr| attr.path().is_ident("doc")) else {
+ return Err(Error::new(variant.span(), r#"expected a doc comment"#))
+ };
+
+ let Some((base_place, current)) = self.lower_expr_as_place(current, *base, true) else {
+ return Ok(None)
+ };
+
+ let Stmt::Expr(Expr::Call(ExprCall { args: some_args, .. }), _) = last_stmt else {
+ return Err(Error::new(last_stmt.span(), "expected last expression to be `Some(match (..) { .. })`"))
+ };
+}