diff options
Diffstat (limited to 'src/test/ui/traits/trait-upcasting/replace-vptr.rs')
| -rw-r--r-- | src/test/ui/traits/trait-upcasting/replace-vptr.rs | 48 | 
1 files changed, 0 insertions, 48 deletions
| diff --git a/src/test/ui/traits/trait-upcasting/replace-vptr.rs b/src/test/ui/traits/trait-upcasting/replace-vptr.rs deleted file mode 100644 index 9ccfc9306ac..00000000000 --- a/src/test/ui/traits/trait-upcasting/replace-vptr.rs +++ /dev/null @@ -1,48 +0,0 @@ -// run-pass - -#![feature(trait_upcasting)] - -trait A { - fn foo_a(&self); -} - -trait B { - fn foo_b(&self); -} - -trait C: A + B { - fn foo_c(&self); -} - -struct S(i32); - -impl A for S { - fn foo_a(&self) { - unreachable!(); - } -} - -impl B for S { - fn foo_b(&self) { - assert_eq!(42, self.0); - } -} - -impl C for S { - fn foo_c(&self) { - unreachable!(); - } -} - -fn invoke_inner(b: &dyn B) { - b.foo_b(); -} - -fn invoke_outer(c: &dyn C) { - invoke_inner(c); -} - -fn main() { - let s = S(42); - invoke_outer(&s); -} | 
