Cannot use Grouping and DataObject in generic specifier
Description
Environment
None
Activity
Show:
Done
Details
Details
Assignee
Robert Varga
Robert VargaReporter
Robert Varga
Robert VargaLabels
Components
Fix versions
Priority
Created July 28, 2024 at 10:04 AM
Updated February 6, 2025 at 2:16 PM
Resolved July 28, 2024 at 10:34 AM
Downstreams are using rather complex generic type specifiers involving groupings and DataObjects, like this:
public abstract class AbstractRIBSupport< C extends Routes & DataObject & ChoiceIn<Tables>, S extends ChildOf<? super C>, R extends Route & ChildOf<? super S> & KeyAware<?>> implements RIBSupport<C, S>
Note 'Route' is a Grouping and it is being mixed in with ChildOf, which implies DataObject. This was broken with Grouping no longer being a DataObject, because now Grouping has an unrelated implementedInterface() method.
Remove this method specialization and do not generate narrowing in codegen to make the above construct work again.