about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYuki Okushi <jtitor@2k36.org>2023-04-06 07:18:31 +0900
committerGitHub <noreply@github.com>2023-04-06 07:18:31 +0900
commitfe20ae035814636177b283bfa3447d17b73c4755 (patch)
treebbbed3febcb4a8185c157551bea97982bd18c4e8
parent1424268a1b03134e83ca0602fe1ad022b1ef1042 (diff)
parentb8e90766b596df4cad9ed0256eed5ba445c7e4ae (diff)
downloadrust-fe20ae035814636177b283bfa3447d17b73c4755.tar.gz
rust-fe20ae035814636177b283bfa3447d17b73c4755.zip
Rollup merge of #109969 - JohnTitor:issue-86351, r=compiler-errors
Add regression test for #86351

r? `@compiler-errors`
Closes #86351
-rw-r--r--tests/ui/const_prop/issue-86351.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/const_prop/issue-86351.rs b/tests/ui/const_prop/issue-86351.rs
new file mode 100644
index 00000000000..b5f1e7f7449
--- /dev/null
+++ b/tests/ui/const_prop/issue-86351.rs
@@ -0,0 +1,22 @@
+// compile-flags: --crate-type=lib -Zmir-opt-level=2
+// build-pass
+// ^-- Must be build-pass, because check-pass will not run const prop.
+
+pub trait TestTrait {
+    type MyType;
+    fn func() -> Option<Self>
+    where
+        Self: Sized;
+}
+
+impl<T> dyn TestTrait<MyType = T>
+where
+    Self: Sized,
+{
+    pub fn other_func() -> Option<Self> {
+        match Self::func() {
+            Some(me) => Some(me),
+            None => None,
+        }
+    }
+}