package foo;

/**
 * public abstract interface foo/InterfaceWithDefaults<T#0 (* T *)> : kotlin/Any {
 *
 *   // signature: foo()V
 *   public open fun foo(): kotlin/Unit
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public abstract interface InterfaceWithDefaults<T extends java.lang.Object> {

    public abstract void foo();

    /**
     * synthetic class
     */
    @kotlin.Metadata()
    public static final class DefaultImpls {

        public DefaultImpls() {
            super();
        }

        public static <T extends java.lang.Object>void foo(@org.jetbrains.annotations.NotNull()
        foo.InterfaceWithDefaults<T> $this) {
        }
    }
}

////////////////////

package foo;

/**
 * public abstract interface foo/SubInterface<T#0 (* T *)> : foo/InterfaceWithDefaults<T#0> {
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public abstract interface SubInterface<T extends java.lang.Object> extends foo.InterfaceWithDefaults<T> {

    /**
     * synthetic class
     */
    @kotlin.Metadata()
    public static final class DefaultImpls {

        public DefaultImpls() {
            super();
        }

        @java.lang.Override()
        public static <T extends java.lang.Object>void foo(@org.jetbrains.annotations.NotNull()
        foo.SubInterface<T> $this) {
        }
    }
}
