anchor.diff:    }
   
     void paint(PaintingCanvas canvas, Offset offset) {
  -    if (_overflowOccurredDuringLayout) {
  +    if (_overflow > 0) {
  +      assert(() {
  +        // Draw a red rectangle over the overflow area in debug mode
  +        // You should be using a Clip if you want to clip your children
  +        Paint paint = new Paint()..color = const Color(0x7FFF0000);
  +        Rect overflowRect;
  +        switch(direction) {
  +          case FlexDirection.horizontal:
  +            overflowRect = offset + new Offset(size.width, 0.0) &
  +                           new Size(_overflow, size.height);
  +            break;
  +          case FlexDirection.vertical:
  +            overflowRect = offset + new Offset(0.0, size.height) &
  +                           new Size(size.width, _overflow);
  +            break;
  +        }
  +        canvas.drawRect(overflowRect, paint);
  +        return true;
  +      });
         canvas.save();
         canvas.clipRect(offset & size);
         defaultPaint(canvas, offset);
  
positive.code:       child = child.parentData.nextSibling;
      }
  
      // Section 8.2: Axis Alignment using the justify-content property
      double remainingSpace = math.max(0.0, freeSpace - usedSpace);
      double leadingSpace;
      double betweenSpace;
  
negative.code:     }
    }
  
    // Set during layout if overflow occurred on the main axis
    double _overflow;
  
    void setupParentData(RenderBox child) {
      if (child.parentData is! FlexBoxParentData)
  