Greg Price cd125e1f71
Add test for RenderProxyBoxMixin; clarify doc, resolve TODO (#117664)
* Add test for RenderProxyBoxMixin; clarify doc, resolve TODO

The TODO comment suggested this mixin would no longer be needed once
a Dart issue on inherited constructors was fixed:
  https://github.com/dart-lang/sdk/issues/31543
That issue is now long since fixed, so I went to go carry out the TODO.

But in doing so, I realized that the mixin's documentation was more
right than the TODO comment: even with that issue fixed, there is a
legitimate use case for this mixin, namely to reuse the implementation
of RenderProxyBox in a class that also inherits from some other base
class.  Moreover, searching GitHub I found an example of a library
that makes real use of that capability.

So I think the right resolution is to accept that this separation
is useful and delete the TODO.

Then, add a test with an extremely simplified sketch of that
real-world example.  In case someone in the future attempts to
simplify this mixin away, the test will point us at the use case
that would be broken by such a change.

Also remove the only in-tree use of the mixin, which was redundant;
and expand the mixin's documentation to advise about that case.

* Tweak formatting

Co-authored-by: Michael Goderbauer <goderbauer@google.com>

* Cut comments

---------

Co-authored-by: Michael Goderbauer <goderbauer@google.com>
2023-02-08 01:17:23 +00:00
..
2023-02-07 11:52:51 -08:00
2023-02-07 11:52:51 -08:00