From 7bcee07489f99c78fb055006b9606578da67fb6b Mon Sep 17 00:00:00 2001 From: dzaima Date: Mon, 26 Dec 2022 16:02:13 +0200 Subject: [PATCH] initialize shape properly in one case of high-rank take/drop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fixes 0‿4↑↕4 in debug builds, which just magically approximately worked before --- src/builtins/sfns.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/builtins/sfns.c b/src/builtins/sfns.c index 08e391df..e0f93ec1 100644 --- a/src/builtins/sfns.c +++ b/src/builtins/sfns.c @@ -500,8 +500,9 @@ static NOINLINE B takedrop_highrank(bool take, B w, B x) { decShObj(rsh); } else { Arr* ra = TI(x,slice)(x,0,IA(x)); + PLAINLOOP for (usz i = 0; i < rr-xr; i++) rsh->a[i] = 1; arr_shSetU(ra, rr, rsh); - x = taga(ra); + x = VALIDATE(taga(ra)); } if (cellStart==-1) { // printf("equal shape\n"); r = x;