From 3627e43dc42446aef70997e9670811a1ae6bee42 Mon Sep 17 00:00:00 2001 From: lloydmeta Date: Wed, 4 Apr 2018 10:25:37 +0900 Subject: [PATCH] Add a test for the fix to issue #43058 Followed the instructions laid out here https://github.com/rust-lang/rust/issues/43058#issuecomment-378389971 --- src/test/ui/nll/issue-43058.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/test/ui/nll/issue-43058.rs diff --git a/src/test/ui/nll/issue-43058.rs b/src/test/ui/nll/issue-43058.rs new file mode 100644 index 000000000000..ccea5279e072 --- /dev/null +++ b/src/test/ui/nll/issue-43058.rs @@ -0,0 +1,26 @@ +#![feature(nll)] + +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); +} \ No newline at end of file