diff options
Diffstat (limited to 'tests/ui/nll/issue-43058.rs')
-rw-r--r-- | tests/ui/nll/issue-43058.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/ui/nll/issue-43058.rs b/tests/ui/nll/issue-43058.rs new file mode 100644 index 000000000..227888d17 --- /dev/null +++ b/tests/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); +} |