blob: 338550430e1f87bdde291b81d8dae55ee99c057f [file] [log] [blame]
//@ known-bug: #91985
#![feature(generic_associated_types)]
pub trait Trait1 {
type Associated: Ord;
}
pub trait Trait2 {
type Associated: Clone;
}
pub trait GatTrait {
type Gat<T: Clone>;
}
pub struct GatStruct;
impl GatTrait for GatStruct {
type Gat<T: Clone> = Box<T>;
}
pub struct OuterStruct<T1: Trait1, T2: Trait2> {
inner: InnerStruct<T2, GatStruct>,
t1: T1,
}
pub struct InnerStruct<T: Trait2, G: GatTrait> {
pub gat: G::Gat<T::Associated>,
}
impl<T1, T2> OuterStruct<T1, T2>
where
T1: Trait1,
T2: Trait2<Associated = T1::Associated>,
{
pub fn new() -> Self {
todo!()
}
}
pub fn main() {}