//@ known-bug: #120033 | |
#![feature(non_lifetime_binders)] | |
#![allow(sized_hierarchy_migration)] | |
#![feature(sized_hierarchy)] // added to keep parameters unconstrained | |
pub trait Foo<T: std::marker::PointeeSized> { | |
type Bar<K: std::marker::PointeeSized>; | |
} | |
pub struct Bar<T: ?AutoTrait> {} | |
pub fn f<T1, T2>() | |
where | |
T1: for<T> Foo<usize, Bar = Bar<T>>, | |
T2: for<L, T> Foo<usize, Bar<T> = T1::Bar<T>>, | |
{} |