2012-12-06 18:29:17 -06:00
|
|
|
fn main() {
|
|
|
|
|
|
|
|
// Testing that method lookup does not automatically borrow
|
2014-12-11 18:23:21 -06:00
|
|
|
// vectors to slices then automatically create a self reference.
|
2012-12-06 18:29:17 -06:00
|
|
|
|
2016-10-29 16:54:04 -05:00
|
|
|
let mut a = vec![0];
|
2015-05-03 00:30:59 -05:00
|
|
|
a.test_mut(); //~ ERROR no method named `test_mut` found
|
|
|
|
a.test(); //~ ERROR no method named `test` found
|
2014-12-11 18:23:21 -06:00
|
|
|
|
2015-05-03 00:30:59 -05:00
|
|
|
([1]).test(); //~ ERROR no method named `test` found
|
|
|
|
(&[1]).test(); //~ ERROR no method named `test` found
|
2012-12-06 18:29:17 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
trait MyIter {
|
2013-03-22 13:23:21 -05:00
|
|
|
fn test_mut(&mut self);
|
2014-12-11 18:23:21 -06:00
|
|
|
fn test(&self);
|
2012-12-06 18:29:17 -06:00
|
|
|
}
|
|
|
|
|
2015-01-08 04:54:35 -06:00
|
|
|
impl<'a> MyIter for &'a [isize] {
|
2013-03-22 13:23:21 -05:00
|
|
|
fn test_mut(&mut self) { }
|
2014-12-11 18:23:21 -06:00
|
|
|
fn test(&self) { }
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> MyIter for &'a str {
|
|
|
|
fn test_mut(&mut self) { }
|
|
|
|
fn test(&self) { }
|
2012-12-06 18:29:17 -06:00
|
|
|
}
|