From c96b0123a0ef7eac78fd6101c8846ac53568112b Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Sun, 26 May 2024 21:58:00 +0900 Subject: [PATCH] array-reduce should fail for empty arrays Closes #964. --- lib/srfi/231/test.sld | 1 + lib/srfi/231/transforms.scm | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/srfi/231/test.sld b/lib/srfi/231/test.sld index 07f263ab..b9031901 100644 --- a/lib/srfi/231/test.sld +++ b/lib/srfi/231/test.sld @@ -2083,6 +2083,7 @@ ;; result-array-2) ;; result)))))))) + (test-error (array-reduce + (make-array (make-interval '#(0)) list))) (test-error (array-reduce 'a 'a)) (test-error (array-reduce 'a (make-array (make-interval '#(1) '#(3)) list))) diff --git a/lib/srfi/231/transforms.scm b/lib/srfi/231/transforms.scm index a7aa8585..296fee85 100644 --- a/lib/srfi/231/transforms.scm +++ b/lib/srfi/231/transforms.scm @@ -386,6 +386,7 @@ (let* ((domain (array-domain array)) (init-index (interval-lower-bounds->list domain)) (knil (list 'first-element))) + (assert (not (interval-empty? domain))) (interval-fold (lambda (acc . multi-index) (if (eq? acc knil)