I have:
public interface ActionControl<C extends ActionControl<C>> extends Control<C>
{
public ActionModel getModel();
}
public interface ValueControl<V, C extends ValueControl<V, C>> extends Control<C>
{
public ValueModel<V> getModel();
}
public interface ActionValueControl<V, C extends ActionValueControl<V, C>> extends ActionControl<C>, ValueControl<V, C>
{
public ActionValueModel<V> getModel();
}
public interface ActionValueModel<V> extends ValueModel<V>, ActionModel
{
}
The 1.5_04 compiler gives me:
"ActionValueControl.java:9: types ValueControl<V,C> and ActionControl<C> are incompatible; both define getModel(), but with unrelated return types
public interface ActionValueControl<V, C extends ActionValueControl<V, C>> extends ActionControl<C>, ValueControl<V, C>"
The getModel() return types may be unrelated in the super interfaces, but the interface being defined clearly returns a type that satisfies both constraints.
This works just fine in Eclipse 3.1M2. How can I get this to work with javac?
Garret