Unbounded constraints

In certain situations, the constraint that is given to a box is
unbounded, or infinite. This means that either the maximum width or
the maximum height is set to double.infinity.

A box that tries to be as big as possible won’t function usefully when
given an unbounded constraint and, in debug mode, such a combination
throws an exception that points to this file.

The most common cases where a render box finds itself with unbounded
constraints are within flex boxes
(Row and Column),
and within scrollable regions
(ListView and other ScrollView subclasses).

In particular, ListView
tries to expand to fit the space available
in its cross-direction (for example,
if it’s a vertically-scrolling block,
it tries to be as wide as its parent).
If you nest a vertically scrolling ListView
inside a horizontally scrolling ListView,
the inner one tries to be as wide as possible,
which is infinitely wide,
since the outer one is scrollable in that direction.