about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <476013+matthiaskrgr@users.noreply.github.com>2025-04-27 16:08:58 +0200
committerGitHub <noreply@github.com>2025-04-27 16:08:58 +0200
commit4f7aed6791027bb57c5bdd8ffbd95ddb731f2397 (patch)
tree4a7d2b4ed714cd5ee2bdb4b0358dfec9ce92ba9b
parent267cae5bdbd602dd13f3851b9c96ce93697e59a0 (diff)
parent49ca89dc36be65872e721bde11ac8efd3ebdd7a1 (diff)
downloadrust-4f7aed6791027bb57c5bdd8ffbd95ddb731f2397.tar.gz
rust-4f7aed6791027bb57c5bdd8ffbd95ddb731f2397.zip
Rollup merge of #140246 - nnethercote:fix-never-pattern-printing, r=Nadrieril
Fix never pattern printing

It's currently broken, but there's an easy fix.

r? `@Nadrieril`
-rw-r--r--compiler/rustc_ast_pretty/src/pprust/state/expr.rs1
-rw-r--r--tests/pretty/never-pattern.pp17
-rw-r--r--tests/pretty/never-pattern.rs16
3 files changed, 34 insertions, 0 deletions
diff --git a/compiler/rustc_ast_pretty/src/pprust/state/expr.rs b/compiler/rustc_ast_pretty/src/pprust/state/expr.rs
index df848a26d39..4aeb7c00995 100644
--- a/compiler/rustc_ast_pretty/src/pprust/state/expr.rs
+++ b/compiler/rustc_ast_pretty/src/pprust/state/expr.rs
@@ -876,6 +876,7 @@ impl<'a> State<'a> {
                 }
             }
         } else {
+            self.end(); // Close the ibox for the pattern.
             self.word(",");
         }
         self.end(); // Close enclosing cbox.
diff --git a/tests/pretty/never-pattern.pp b/tests/pretty/never-pattern.pp
new file mode 100644
index 00000000000..923ad9b82c7
--- /dev/null
+++ b/tests/pretty/never-pattern.pp
@@ -0,0 +1,17 @@
+#![feature(prelude_import)]
+#![no_std]
+//@ pretty-mode:expanded
+//@ pp-exact:never-pattern.pp
+//@ only-x86_64
+
+#![allow(incomplete_features)]
+#![feature(never_patterns)]
+#![feature(never_type)]
+#[prelude_import]
+use ::std::prelude::rust_2015::*;
+#[macro_use]
+extern crate std;
+
+fn f(x: Result<u32, !>) { _ = match x { Ok(x) => x, Err(!) , }; }
+
+fn main() {}
diff --git a/tests/pretty/never-pattern.rs b/tests/pretty/never-pattern.rs
new file mode 100644
index 00000000000..fe170bafc66
--- /dev/null
+++ b/tests/pretty/never-pattern.rs
@@ -0,0 +1,16 @@
+//@ pretty-mode:expanded
+//@ pp-exact:never-pattern.pp
+//@ only-x86_64
+
+#![allow(incomplete_features)]
+#![feature(never_patterns)]
+#![feature(never_type)]
+
+fn f(x: Result<u32, !>) {
+    _ = match x {
+        Ok(x) => x,
+        Err(!),
+    };
+}
+
+fn main() {}