summaryrefslogtreecommitdiffstats
path: root/src/test/ui/dst/dst-bad-assign.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/dst/dst-bad-assign.rs')
-rw-r--r--src/test/ui/dst/dst-bad-assign.rs41
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
-}