anchor.diff:      }
     }
   
  -  @override
     void _applyAutolayoutParameterUpdates() {
       // Nothing to do since the size update has already been presented to the
       // solver as an edit variable modification. The invokation of this method
       // only indicates that the value has been flushed to the variable.
     }
   
  -  @override
  -  void hitTestChildren(HitTestResult result, {Point position}) =>
  -      defaultHitTestChildren(result, position: position);
  -
  -  @override
  -  void paint(PaintingCanvas canvas, Offset offset) =>
  -      defaultPaint(canvas, offset);
  -
  -  @override
  -  void adoptChild(RenderObject child) {
  -    // Make sure to call super first to setup the parent data
  -    super.adoptChild(child);
  -    child.parentData._setupImplicitConstraints(_solver);
  -  }
  -
  -  @override
  -  void dropChild(RenderObject child) {
  -    child.parentData._collectImplicitConstraints(_solver);
  -
  -    super.dropChild(child);
  -  }
  -
  -  @override
  +  void hitTestChildren(HitTestResult result, {Point position}) {
  +    defaultHitTestChildren(result, position: position);
  +  }
  +
  +  void paint(PaintingCanvas canvas, Offset offset) {
  +    defaultPaint(canvas, offset);
  +  }
  +
     List<al.Constraint> _constructImplicitConstraints() {
       // Only edits variables are present on layout containers. If, in the future,
       // implicit constraints (for say margins, padding, etc.) need to be added,
  
positive.code:     return result;
    }
  
    @override
    void setupParentData(RenderObject child) {
      if (child.parentData is! AutoLayoutParentData)
        child.parentData = new AutoLayoutParentData(child);
    }
  
    @override
    void performLayout() {
      // Step 1: Update dimensions of self
      size = constraints.biggest;
      _applyEditsAtSize(_solver, size);
  
      // Step 2: Resolve solver updates and flush parameters
  
negative.code: 
      _implicitConstraints = null;
    }
  }
  
  class AutoLayoutParentData extends BoxParentData
  