about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMartin Nordholts <martin.nordholts@codetale.se>2024-11-26 06:25:56 +0100
committerMartin Nordholts <martin.nordholts@codetale.se>2024-11-26 06:27:19 +0100
commit7fc4b963470de530a212f2b7eb87a0aeddba9a04 (patch)
treebcb7dfa7e2a81998009c20b934c06fe0d26120ed
parent7db7489f9bc274cb60c4956bfa56de0185eb1b9b (diff)
downloadrust-7fc4b963470de530a212f2b7eb87a0aeddba9a04.tar.gz
rust-7fc4b963470de530a212f2b7eb87a0aeddba9a04.zip
tests: Add regression test for self referential struct with cow as last field
-rw-r--r--tests/ui/traits/solver-cycles/107481-self-referential-struct-cow-as-last-field.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/ui/traits/solver-cycles/107481-self-referential-struct-cow-as-last-field.rs b/tests/ui/traits/solver-cycles/107481-self-referential-struct-cow-as-last-field.rs
new file mode 100644
index 00000000000..f953eb1c0f7
--- /dev/null
+++ b/tests/ui/traits/solver-cycles/107481-self-referential-struct-cow-as-last-field.rs
@@ -0,0 +1,19 @@
+// Regression test for #107481
+
+//@ check-pass
+
+use std::{borrow::Cow, collections::HashMap};
+
+#[derive(Clone)]
+struct Foo<'a>(Cow<'a, [Self]>);
+
+#[derive(Clone)]
+struct Bar<'a>(Cow<'a, HashMap<String, Self>>);
+
+#[derive(Clone)]
+struct Baz<'a>(Cow<'a, Vec<Self>>);
+
+#[derive(Clone)]
+struct Qux<'a>(Cow<'a, Box<Self>>);
+
+fn main() {}