1 type Noncopyable = Box<isize>;
8 noncopyable: Noncopyable
11 fn test0(f: Foo, g: Noncopyable, h: Noncopyable) {
12 // just copy implicitly copyable fields from `f`, no moves:
13 let _b = Foo {moved: Box::new(1), noncopyable: g, ..f};
14 let _c = Foo {moved: Box::new(2), noncopyable: h, ..f};
17 fn test1(f: Foo, g: Noncopyable, h: Noncopyable) {
18 // copying move-by-default fields from `f`, so move:
19 let _b = Foo {noncopyable: g, ..f};
20 let _c = Foo {noncopyable: h, ..f}; //~ ERROR use of moved value: `f.moved`