1 // build-pass (FIXME(62277): could be check-pass?)
3 // Check that method probing ObjectCandidate works in the presence of
4 // auto traits and/or HRTBs.
7 pub trait MyObject<'a> {
10 fn foo(&self) -> Self::Output;
13 impl<'a> MyObject<'a> for () {
14 type Output = &'a u32;
16 fn foo(&self) -> Self::Output { &4 }
20 fn t1(d: &dyn for<'a> internal::MyObject<'a, Output=&'a u32>) {
24 fn t2(d: &dyn internal::MyObject<'static, Output=&'static u32>) {
28 fn t3(d: &(dyn for<'a> internal::MyObject<'a, Output=&'a u32> + Sync)) {
32 fn t4(d: &(dyn internal::MyObject<'static, Output=&'static u32> + Sync)) {