| use std::ops::Index; | |
| struct Test; | |
| struct Container(Test); | |
| impl Test { | |
| fn test(&mut self) {} | |
| } | |
| impl<'a> Index<&'a bool> for Container { | |
| type Output = Test; | |
| fn index(&self, _index: &'a bool) -> &Test { | |
| &self.0 | |
| } | |
| } | |
| fn main() { | |
| let container = Container(Test); | |
| let mut val = true; | |
| container[&mut val].test(); //~ ERROR: cannot borrow data | |
| } |