anchor.diff:      }
     }
   
  -  bool _overflowOccurredDuringLayout = false;
  +  // Set during layout if overflow occurred on the main axis
  +  double _overflow;
   
     void setupParentData(RenderBox child) {
       if (child.parentData is! FlexBoxParentData)
  
positive.code:       }
        child = child.parentData.nextSibling;
      }
  
      // Steps 4-5. Distribute remaining space to flexible children.
      double spacePerFlex = totalFlex > 0 ? (freeSpace / totalFlex) : 0.0;
  
negative.code:   }
  
    void paint(PaintingCanvas canvas, Offset offset) {
      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);
  