// run-pass
#![allow(dead_code)]
// Test a case where a supertrait references a type that references
// the original trait. This poses no problem at the moment.

// pretty-expanded FIXME #23616

trait Chromosome: Get<Struct<i32>> {
}

trait Get<A> {
    fn get(&self) -> A;
}

struct Struct<C:Chromosome> { c: C }

impl Chromosome for i32 { }

impl Get<Struct<i32>> for i32 {
    fn get(&self) -> Struct<i32> {
        Struct { c: *self }
    }
}

fn main() { }
