diff options
Diffstat (limited to 'library/src')
| -rw-r--r-- | library/src/layout/repeat.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/library/src/layout/repeat.rs b/library/src/layout/repeat.rs index a44bd075..4a05500e 100644 --- a/library/src/layout/repeat.rs +++ b/library/src/layout/repeat.rs @@ -9,6 +9,9 @@ use super::AlignElem; /// Space may be inserted between the instances of the body parameter, so be /// sure to include negative space if you need the instances to overlap. /// +/// Errors if there no bounds on the available space, as it would create +/// infinite content. +/// /// ## Example /// ```example /// Sign on the dotted line: @@ -48,6 +51,11 @@ impl Layout for RepeatElem { let apart = remaining / (count - 1.0); let size = Size::new(regions.size.x, piece.height()); + + if !size.is_finite() { + bail!(self.span(), "repeat with no size restrictions"); + } + let mut frame = Frame::new(size); if piece.has_baseline() { frame.set_baseline(piece.baseline()); |
