summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/target/configs/single_line_let_else_max_width/100.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rustfmt/tests/target/configs/single_line_let_else_max_width/100.rs')
-rw-r--r--src/tools/rustfmt/tests/target/configs/single_line_let_else_max_width/100.rs60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/target/configs/single_line_let_else_max_width/100.rs b/src/tools/rustfmt/tests/target/configs/single_line_let_else_max_width/100.rs
new file mode 100644
index 000000000..0409124a5
--- /dev/null
+++ b/src/tools/rustfmt/tests/target/configs/single_line_let_else_max_width/100.rs
@@ -0,0 +1,60 @@
+// 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 (..) { .. })`",
+ ));
+ };
+}