| //@ run-pass | |
| use std::ops::Deref; | |
| struct DerefArray<'a, T:'a> { | |
| inner: &'a [T] | |
| } | |
| impl<'a, T> Deref for DerefArray<'a, T> { | |
| type Target = &'a [T]; | |
| fn deref<'b>(&'b self) -> &'b &'a [T] { | |
| &self.inner | |
| } | |
| } | |
| pub fn main() { | |
| let a = &[1, 2, 3]; | |
| assert_eq!(DerefArray {inner: a}[1], 2); | |
| } |