summaryrefslogtreecommitdiffstats
path: root/src/test/ui/nll/issue-43058.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/nll/issue-43058.rs')
-rw-r--r--src/test/ui/nll/issue-43058.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/nll/issue-43058.rs b/src/test/ui/nll/issue-43058.rs
new file mode 100644
index 000000000..227888d17
--- /dev/null
+++ b/src/test/ui/nll/issue-43058.rs
@@ -0,0 +1,26 @@
+// check-pass
+
+use std::borrow::Cow;
+
+#[derive(Clone, Debug)]
+struct S<'a> {
+ name: Cow<'a, str>
+}
+
+#[derive(Clone, Debug)]
+struct T<'a> {
+ s: Cow<'a, [S<'a>]>
+}
+
+fn main() {
+ let s1 = [S { name: Cow::Borrowed("Test1") }, S { name: Cow::Borrowed("Test2") }];
+ let b1 = T { s: Cow::Borrowed(&s1) };
+ let s2 = [S { name: Cow::Borrowed("Test3") }, S { name: Cow::Borrowed("Test4") }];
+ let b2 = T { s: Cow::Borrowed(&s2) };
+
+ let mut v = Vec::new();
+ v.push(b1);
+ v.push(b2);
+
+ println!("{:?}", v);
+}