| //@ check-pass | |
| trait Tag<'a> { | |
| type Type: ?Sized; | |
| } | |
| trait IntoRaw: for<'a> Tag<'a> { | |
| fn into_raw(this: *const <Self as Tag<'_>>::Type) -> *mut <Self as Tag<'_>>::Type; | |
| } | |
| impl<T: for<'a> Tag<'a>> IntoRaw for T { | |
| fn into_raw(this: *const <Self as Tag<'_>>::Type) -> *mut <Self as Tag<'_>>::Type { | |
| this as *mut T::Type | |
| } | |
| } | |
| fn main() {} |