| //@ check-pass | |
| //@ compile-flags: --crate-type=lib | |
| //@ revisions: old next | |
| //@[next] compile-flags: -Znext-solver | |
| #![feature(sized_hierarchy)] | |
| use std::marker::{PhantomData, MetaSized, PointeeSized}; | |
| struct Foo<'a, T: PointeeSized>(*mut &'a (), T); | |
| fn requires_metasized<'a, T: MetaSized>(f: &'a T) {} | |
| fn foo<'a, T: PointeeSized>(f: &Foo<'a, T>) | |
| where | |
| Foo<'a, T>: Sized | |
| { | |
| requires_metasized(f); | |
| } |