diff options
Diffstat (limited to 'src/test/ui/dst/dst-bad-assign-3.rs')
-rw-r--r-- | src/test/ui/dst/dst-bad-assign-3.rs | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/test/ui/dst/dst-bad-assign-3.rs b/src/test/ui/dst/dst-bad-assign-3.rs deleted file mode 100644 index d05b3937c..000000000 --- a/src/test/ui/dst/dst-bad-assign-3.rs +++ /dev/null @@ -1,39 +0,0 @@ -// Forbid assignment into a dynamically sized type. - -#![feature(unsized_tuple_coercion)] - -type Fat<T> = (isize, &'static str, 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 (5, "some str", Bar1 {f :42}); - let z: Box<dyn ToBar> = Box::new(Bar1 {f: 36}); - f5.2 = 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 -} |