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