diff options
Diffstat (limited to 'src/test/ui/objects-coerce-freeze-borrored.rs')
-rw-r--r-- | src/test/ui/objects-coerce-freeze-borrored.rs | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/src/test/ui/objects-coerce-freeze-borrored.rs b/src/test/ui/objects-coerce-freeze-borrored.rs deleted file mode 100644 index 704d77480..000000000 --- a/src/test/ui/objects-coerce-freeze-borrored.rs +++ /dev/null @@ -1,40 +0,0 @@ -// run-pass -// Test that we can coerce an `@Object` to an `&Object` - - -trait Foo { - fn foo(&self) -> usize; - fn bar(&mut self) -> usize; -} - -impl Foo for usize { - fn foo(&self) -> usize { - *self - } - - fn bar(&mut self) -> usize { - *self += 1; - *self - } -} - -fn do_it_mut(obj: &mut dyn Foo) { - let x = obj.bar(); - let y = obj.foo(); - assert_eq!(x, y); - - do_it_imm(obj, y); -} - -fn do_it_imm(obj: &dyn Foo, v: usize) { - let y = obj.foo(); - assert_eq!(v, y); -} - -pub fn main() { - let mut x: usize = 22; - let obj = &mut x as &mut dyn Foo; - do_it_mut(obj); - do_it_imm(obj, 23); - do_it_mut(obj); -} |