• Greg Price's avatar
    Add test for RenderProxyBoxMixin; clarify doc, resolve TODO (#117664) · cd125e1f
    Greg Price authored
    * 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: 's avatarMichael Goderbauer <goderbauer@google.com>
    
    * Cut comments
    
    ---------
    Co-authored-by: 's avatarMichael Goderbauer <goderbauer@google.com>
    cd125e1f
Name
Last commit
Last update
..
fix_data Loading commit data...
src Loading commit data...
analysis_options.yaml Loading commit data...
analysis_options_user.yaml Loading commit data...
animation.dart Loading commit data...
cupertino.dart Loading commit data...
foundation.dart Loading commit data...
gestures.dart Loading commit data...
material.dart Loading commit data...
painting.dart Loading commit data...
physics.dart Loading commit data...
rendering.dart Loading commit data...
scheduler.dart Loading commit data...
semantics.dart Loading commit data...
services.dart Loading commit data...
widgets.dart Loading commit data...