package test

public trait InheritedSameAdapters : java.lang.Object {
    
    public trait Sub : test.InheritedSameAdapters.Super1, test.InheritedSameAdapters.Super2 {
        public final override /*2*/ /*fake_override*/ fun foo(/*0*/ p0: (() -> jet.Unit)?): jet.Unit
        public abstract override /*2*/ /*fake_override*/ fun foo(/*0*/ p0: java.lang.Runnable?): jet.Unit
    }
    
    public trait Super1 : java.lang.Object {
        public final /*synthesized*/ fun foo(/*0*/ p0: (() -> jet.Unit)?): jet.Unit
        public abstract fun foo(/*0*/ p0: java.lang.Runnable?): jet.Unit
    }
    
    public trait Super2 : java.lang.Object {
        public final /*synthesized*/ fun foo(/*0*/ p0: (() -> jet.Unit)?): jet.Unit
        public abstract fun foo(/*0*/ p0: java.lang.Runnable?): jet.Unit
    }
}

package test.InheritedSameAdapters {
    public /*synthesized*/ fun Sub(/*0*/ function: (java.lang.Runnable?) -> jet.Unit): test.InheritedSameAdapters.Sub
    public /*synthesized*/ fun Super1(/*0*/ function: (java.lang.Runnable?) -> jet.Unit): test.InheritedSameAdapters.Super1
    public /*synthesized*/ fun Super2(/*0*/ function: (java.lang.Runnable?) -> jet.Unit): test.InheritedSameAdapters.Super2
}
