Rectangle<T extends num> constructor Null safety

const Rectangle<T extends num>(
  1. T left,
  2. T top,
  3. T width,
  4. T height
)

Create a rectangle spanned by (left, top) and (left+width, top+height).

The rectangle contains the points with x-coordinate between left and left + width, and with y-coordinate between top and top + height, both inclusive.

The width and height should be non-negative. If width or height are negative, they are clamped to zero.

If width and height are zero, the "rectangle" comprises only the single point (left, top).

Implementation

const Rectangle(this.left, this.top, T width, T height)
    : width = (width < 0)
          ? (-width * 0) as dynamic
          : width, // Inline _clampToZero<num>.
      height = (height < 0) ? (-height * 0) as dynamic : height;