1 // Forbid assignment into a dynamically sized type.
3 struct Fat<T: ?Sized> {
9 #[derive(PartialEq,Eq)]
12 #[derive(PartialEq,Eq)]
18 fn to_bar(&self) -> Bar;
19 fn to_val(&self) -> isize;
23 fn to_bar(&self) -> Bar {
26 fn to_val(&self) -> isize {
33 let f5: &mut Fat<dyn ToBar> = &mut Fat { f1: 5, f2: "some str", ptr: Bar1 {f :42} };
34 let z: Box<dyn ToBar> = Box::new(Bar1 {f: 36});
35 f5.ptr = Bar1 {f: 36};
36 //~^ ERROR mismatched types
37 //~| expected trait object `dyn ToBar`, found struct `Bar1`
38 //~| expected trait object `dyn ToBar`
39 //~| found struct `Bar1`
40 //~| ERROR the size for values of type