I've noticed the newly added Rectangle::toNearestInt() function and I have some concerns regarding its implementation:
Imagine I have a Rectangle <float> having
x = 15.4
width = 4.4
This means that the right side of this rectangle lies at 19.8 ( = 15.4 + 4.4)
When rounding this rectangle to int, I'd expect the left side to snap at 15 (from 15.4) and the right side to snap at 20 (from 19.8).
With the current implementation, the left side would be snapped at 15 but the width would be snapped at 4, thus effectively bringing the right side to snap at 19 rather than 20.
I'm perfectly aware that one of those dimension is destined to lose some accuracy.
As a personal taste, I would have gone the way of "snap left and right, and leave width be what it needs to be", it seems more true to how I'd expect a float rectangle to behave when forced to be drawn in integer pixels, for example.
Secondly, if you wish to keep the current behaviour, I think you should improve the function documentation: the current "rounding the bounds" formulation means to me (and I suspect to others) that it's the "left" and "right" boundaries that are being rounded, not the "x" position and the "width" dimension as it is currently the case.