package test

public trait DeeplySubstitutedClassParameter2 {

    public trait Middle</*0*/ E> : test.DeeplySubstitutedClassParameter2.Super<E!> {
        public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
        public abstract override /*1*/ /*fake_override*/ fun foo(): E!
    }

    public trait Sub : test.DeeplySubstitutedClassParameter2.Middle<kotlin.String!> {
        public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
        public abstract override /*1*/ fun foo(): kotlin.String!
    }

    public trait Super</*0*/ T> {
        public abstract fun dummy(): kotlin.Unit
        public abstract fun foo(): T!
    }
}
