Tensegritics / ClojureDart

Clojure dialect for Flutter and Dart
1.44k stars 91 forks source link

`this` members are not always properly inferred #255

Open cgrand opened 1 year ago

cgrand commented 1 year ago

In Flutter 3.10.5 I add a def type with

  :extends m/RenderBox
  ^:mixin m/SlottedContainerRenderObjectMixin

which I upgraded in 3.13 to

  :extends m/RenderBox
  ^:mixin #/(m/SlottedContainerRenderObjectMixin dynamic m/RenderBox)

but then (.-constraints this) stopped being properly inferred as a BoxContraints (as per m/RenderBox) but as a Constraints (as per the mixin basis: m/RenderObject).

It may be a case of "first match wins" when walking the hierarchy or of traversal order -- ion which case we should triple check the canonical order in the Dart spec