2019-11-04 00:00:00 +00:00
|
|
|
//@ check-pass
|
2018-09-25 23:51:35 +02:00
|
|
|
#![allow(dead_code)]
|
2015-03-22 13:13:15 -07:00
|
|
|
|
2015-01-08 23:35:17 -08:00
|
|
|
trait Trait {
|
2015-03-25 17:06:52 -07:00
|
|
|
fn method(self) -> isize;
|
2015-01-08 23:35:17 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct Wrapper<T> {
|
|
|
|
|
field: T
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl<'a, T> Trait for &'a Wrapper<T> where &'a T: Trait {
|
2015-03-25 17:06:52 -07:00
|
|
|
fn method(self) -> isize {
|
2015-01-08 23:35:17 -08:00
|
|
|
let r: &'a T = &self.field;
|
|
|
|
|
Trait::method(r); // these should both work
|
|
|
|
|
r.method()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {}
|