diff --git a/src/builtins/sfns.c b/src/builtins/sfns.c index 50d334f1..db824413 100644 --- a/src/builtins/sfns.c +++ b/src/builtins/sfns.c @@ -1313,22 +1313,21 @@ B pick_ucw(B t, B o, B w, B x) { if (RARE(RNK(x)!=1)) goto def; pos = WRAP(o2i64(w), xia, thrF("π”½βŒΎ(nβŠΈβŠ‘)𝕩: reading out-of-bounds (n≑%R, %s≑≠𝕩)", w, xia)); } else { - usz wia = IA(w); - usz* xsh = SH(x); ur xr = RNK(x); - if (xr==0) goto def; + if (RARE(xr==0)) goto def; + usz* xsh = SH(x); pos = pick_oneIndex(w, xr, xsh); if (pos == USZ_MAX) { + usz wia = IA(w); MAKE_MUT_INIT(r, wia, xia