about summary refs log tree commit diff
path: root/tests/ui/sized-hierarchy/elaboration-opt-regions.rs
blob: 66e600f3dc96b75f42d6adbc61cd7004879f7850 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//@ 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>(PhantomData<&'a T>, T);

fn requires_metasized<T: MetaSized>() {}

fn foo<'a, T: 'a + PointeeSized>()
where
    Foo<'a, T>: Sized
{
    requires_metasized::<Foo<'_, T>>();
}