//@ 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); | |
} |