27 lines
528 B
Rust
27 lines
528 B
Rust
// 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);
|
|
}
|