2018-08-30 14:18:55 +02:00
|
|
|
//@ run-pass
|
2014-11-06 15:51:29 -05:00
|
|
|
// Check that we successfully handle methods where the `self` type has
|
|
|
|
// an early-bound lifetime. Issue #18208.
|
|
|
|
|
2015-03-22 13:13:15 -07:00
|
|
|
//@ pretty-expanded FIXME #23616
|
|
|
|
|
2014-11-06 15:51:29 -05:00
|
|
|
#![allow(dead_code)]
|
|
|
|
|
2015-02-12 10:29:52 -05:00
|
|
|
use std::marker;
|
|
|
|
|
|
|
|
struct Cursor<'a> {
|
|
|
|
m: marker::PhantomData<&'a ()>
|
|
|
|
}
|
2014-11-06 15:51:29 -05: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 10:29:52 -05:00
|
|
|
let mut c = Cursor { m: marker::PhantomData };
|
2014-11-06 15:51:29 -05:00
|
|
|
let n = SimpleNavigator;
|
|
|
|
n.init_cursor(&mut c);
|
|
|
|
}
|