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