| //@ 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); | |
| } |