diff options
Diffstat (limited to 'src/test/ui/dst/dst-bad-assign.rs')
-rw-r--r-- | src/test/ui/dst/dst-bad-assign.rs | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/src/test/ui/dst/dst-bad-assign.rs b/src/test/ui/dst/dst-bad-assign.rs deleted file mode 100644 index 496e01ae0..000000000 --- a/src/test/ui/dst/dst-bad-assign.rs +++ /dev/null @@ -1,41 +0,0 @@ -// Forbid assignment into a dynamically sized type. - -struct Fat<T: ?Sized> { - f1: isize, - f2: &'static str, - ptr: T -} - -#[derive(PartialEq,Eq)] -struct Bar; - -#[derive(PartialEq,Eq)] -struct Bar1 { - f: isize -} - -trait ToBar { - fn to_bar(&self) -> Bar; - fn to_val(&self) -> isize; -} - -impl ToBar for Bar1 { - fn to_bar(&self) -> Bar { - Bar - } - fn to_val(&self) -> isize { - self.f - } -} - -pub fn main() { - // Assignment. - let f5: &mut Fat<dyn ToBar> = &mut Fat { f1: 5, f2: "some str", ptr: Bar1 {f :42} }; - let z: Box<dyn ToBar> = Box::new(Bar1 {f: 36}); - f5.ptr = Bar1 {f: 36}; - //~^ ERROR mismatched types - //~| expected trait object `dyn ToBar`, found struct `Bar1` - //~| expected trait object `dyn ToBar` - //~| found struct `Bar1` - //~| ERROR the size for values of type -} |