about summary refs log tree commit diff
path: root/src/test/ui/overloaded/overloaded-autoderef-vtable.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/overloaded/overloaded-autoderef-vtable.rs')
-rw-r--r--src/test/ui/overloaded/overloaded-autoderef-vtable.rs39
1 files changed, 0 insertions, 39 deletions
diff --git a/src/test/ui/overloaded/overloaded-autoderef-vtable.rs b/src/test/ui/overloaded/overloaded-autoderef-vtable.rs
deleted file mode 100644
index f8e6d12088f..00000000000
--- a/src/test/ui/overloaded/overloaded-autoderef-vtable.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-
-use std::ops::Deref;
-
-struct DerefWithHelper<H, T> {
-    helper: H,
-    value: T
-}
-
-trait Helper<T> {
-    fn helper_borrow(&self) -> &T;
-}
-
-impl<T> Helper<T> for Option<T> {
-    fn helper_borrow(&self) -> &T {
-        self.as_ref().unwrap()
-    }
-}
-
-impl<T, H: Helper<T>> Deref for DerefWithHelper<H, T> {
-    type Target = T;
-
-    fn deref(&self) -> &T {
-        self.helper.helper_borrow()
-    }
-}
-
-struct Foo {x: isize}
-
-impl Foo {
-    fn foo(&self) -> isize {self.x}
-}
-
-pub fn main() {
-    let x: DerefWithHelper<Option<Foo>, Foo> =
-        DerefWithHelper { helper: Some(Foo {x: 5}), value: Foo { x: 2 } };
-    assert_eq!(x.foo(), 5);
-}