In many places, Diagnosticable is refered to directly instead of the mixin itself. This has severe implications when it comes to class hierarchies, because classes that use the mixin are incompatible with the Diagnosticable subsystem and will instead cause TypeErrors.
As a suggested fix:
- Add
implements Diagnosticable to DiagnosticableMixin
- Change
Diagnosticable to stop using DiagnosticableMixin (and treat it as an interface, copy the signatures from the methods exposed from DiagnosticableMixin)
- Make all subclasses use
with DiagnosticableMixin instead of extends Diagnosticable
This is, unfortunately, a breaking change for anyone using extends Diagnosticable.
Right now, the Flutter Inspector stops working when a ShortcutManager is specified in a Shortcuts widget.
cc @gspencergoog @goderbauer
In many places, Diagnosticable is refered to directly instead of the mixin itself. This has severe implications when it comes to class hierarchies, because classes that use the mixin are incompatible with the Diagnosticable subsystem and will instead cause TypeErrors.
As a suggested fix:
implements DiagnosticabletoDiagnosticableMixinDiagnosticableto stop usingDiagnosticableMixin(and treat it as an interface, copy the signatures from the methods exposed fromDiagnosticableMixin)with DiagnosticableMixininstead ofextends DiagnosticableThis is, unfortunately, a breaking change for anyone using
extends Diagnosticable.Right now, the Flutter Inspector stops working when a
ShortcutManageris specified in aShortcutswidget.cc @gspencergoog @goderbauer