about summary refs log tree commit diff
path: root/src/test/ui/methods/method-projection.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/methods/method-projection.rs')
-rw-r--r--src/test/ui/methods/method-projection.rs61
1 files changed, 0 insertions, 61 deletions
diff --git a/src/test/ui/methods/method-projection.rs b/src/test/ui/methods/method-projection.rs
deleted file mode 100644
index 21d983f192a..00000000000
--- a/src/test/ui/methods/method-projection.rs
+++ /dev/null
@@ -1,61 +0,0 @@
-// run-pass
-// Test that we can use method notation to call methods based on a
-// projection bound from a trait. Issue #20469.
-
-trait MakeString {
-    fn make_string(&self) -> String;
-}
-
-impl MakeString for isize {
-    fn make_string(&self) -> String {
-        format!("{}", *self)
-    }
-}
-
-impl MakeString for usize {
-    fn make_string(&self) -> String {
-        format!("{}", *self)
-    }
-}
-
-trait Foo {
-    type F: MakeString;
-
-    fn get(&self) -> &Self::F;
-}
-
-fn foo<F:Foo>(f: &F) -> String {
-    f.get().make_string()
-}
-
-struct SomeStruct {
-    field: isize,
-}
-
-impl Foo for SomeStruct {
-    type F = isize;
-
-    fn get(&self) -> &isize {
-        &self.field
-    }
-}
-
-struct SomeOtherStruct {
-    field: usize,
-}
-
-impl Foo for SomeOtherStruct {
-    type F = usize;
-
-    fn get(&self) -> &usize {
-        &self.field
-    }
-}
-
-fn main() {
-    let x = SomeStruct { field: 22 };
-    assert_eq!(foo(&x), format!("22"));
-
-    let x = SomeOtherStruct { field: 44 };
-    assert_eq!(foo(&x), format!("44"));
-}