fix +⌜´↕0 leaking a reference
This commit is contained in:
parent
d4f290a897
commit
74d937a4fd
@ -162,9 +162,9 @@ B fold_c1(Md1D* d, B x) { B f = d->f;
|
|||||||
decG(x);
|
decG(x);
|
||||||
if (isFun(f)) {
|
if (isFun(f)) {
|
||||||
B r = TI(f,identity)(f);
|
B r = TI(f,identity)(f);
|
||||||
if (!q_N(r)) return inc(r);
|
if (!q_N(r)) return r;
|
||||||
}
|
}
|
||||||
thrM("´: No identity found");
|
thrM("´: Identity not found");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (RARE(!isFun(f))) { decG(x); if (isMd(f)) thrM("Calling a modifier"); return inc(f); }
|
if (RARE(!isFun(f))) { decG(x); if (isMd(f)) thrM("Calling a modifier"); return inc(f); }
|
||||||
|
|||||||
@ -164,7 +164,7 @@ static B m2BI_d(B t, B f, B g) { return m_md2D(c(Md2,t), f, g); }
|
|||||||
|
|
||||||
static B md1D_identity(B t) {
|
static B md1D_identity(B t) {
|
||||||
Md1D* d = c(Md1D, t);
|
Md1D* d = c(Md1D, t);
|
||||||
if (d->m1==c(Md1,bi_tbl)) {
|
if (d->m1->flags-1 == n_tbl) {
|
||||||
B i = TI(d->f,identity)(d->f);
|
B i = TI(d->f,identity)(d->f);
|
||||||
return q_N(i)? i : m_unit(i);
|
return q_N(i)? i : m_unit(i);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,7 +47,7 @@ void wm2_visit(Value* x) { mm_visit(((WMd2*)x)->v); }
|
|||||||
|
|
||||||
B wfn_identity(B x) {
|
B wfn_identity(B x) {
|
||||||
B f = c(WFun,x)->v;
|
B f = c(WFun,x)->v;
|
||||||
return inc(TI(f,identity)(f));
|
return TI(f,identity)(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -384,6 +384,10 @@ w←1‿1⥊1 ⋄ x←2⥊1 ⋄ w‿x <¨↩ ⋄ {! (∾⟨•Repr𝕩,": Expe
|
|||||||
# ´
|
# ´
|
||||||
!"´: Argument must be a list (3‿3 ≡ ≢𝕩)" % +´↕3‿3
|
!"´: Argument must be a list (3‿3 ≡ ≢𝕩)" % +´↕3‿3
|
||||||
!"´: 𝕩 must be a list (3‿3 ≡ ≢𝕩)" % 2+´↕3‿3
|
!"´: 𝕩 must be a list (3‿3 ≡ ≢𝕩)" % 2+´↕3‿3
|
||||||
|
+⌜´↕0 %% <0
|
||||||
|
×⌜´↕0 %% <1
|
||||||
|
+⌜⌜⌜´↕0 %% <<<0
|
||||||
|
×⌜⌜⌜´↕0 %% <<<1
|
||||||
|
|
||||||
# ⌜
|
# ⌜
|
||||||
!"⌜: Result rank too large (200≡=𝕨, 200≡=𝕩)" % +⌜˜(200⥊1)⥊1
|
!"⌜: Result rank too large (200≡=𝕨, 200≡=𝕩)" % +⌜˜(200⥊1)⥊1
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user