2018-08-30 12:18:55 +00:00
|
|
|
//@ run-pass
|
2014-11-06 20:51:29 +00:00
|
|
|
// Check that we successfully handle methods where the `self` type has
|
|
|
|
// an early-bound lifetime. Issue #18208.
|
|
|
|
|
2015-03-22 20:13:15 +00:00
|
|
|
//@ pretty-expanded FIXME #23616
|
|
|
|
|
2014-11-06 20:51:29 +00:00
|
|
|
#![allow(dead_code)]
|
|
|
|
|
2015-02-12 15:29:52 +00:00
|
|
|
use std::marker;
|
|
|
|
|
|
|
|
struct Cursor<'a> {
|
|
|
|
m: marker::PhantomData<&'a ()>
|
|
|
|
}
|
2014-11-06 20:51:29 +00:00
|
|
|
|
|
|
|
trait CursorNavigator {
|
|
|
|
fn init_cursor<'a, 'b:'a>(&'a self, cursor: &mut Cursor<'b>) -> bool;
|
|
|
|
}
|
|
|
|
|
|
|
|
struct SimpleNavigator;
|
|
|
|
|
|
|
|
impl CursorNavigator for SimpleNavigator {
|
|
|
|
fn init_cursor<'a, 'b: 'a>(&'a self, _cursor: &mut Cursor<'b>) -> bool {
|
|
|
|
false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
2015-02-12 15:29:52 +00:00
|
|
|
let mut c = Cursor { m: marker::PhantomData };
|
2014-11-06 20:51:29 +00:00
|
|
|
let n = SimpleNavigator;
|
|
|
|
n.init_cursor(&mut c);
|
|
|
|
}
|