fix erroring variable read
This commit is contained in:
parent
e8caed529c
commit
f0744f16d0
8
src/vm.c
8
src/vm.c
@ -604,10 +604,9 @@ NOINLINE B v_getF(Scope* pscs[], B s) {
|
|||||||
VTY(s, t_harr);
|
VTY(s, t_harr);
|
||||||
usz ia = IA(s);
|
usz ia = IA(s);
|
||||||
B* sp = harr_ptr(s);
|
B* sp = harr_ptr(s);
|
||||||
HArr_p r = m_harrUv(ia);
|
M_HARR(r, ia);
|
||||||
for (u64 i = 0; i < ia; i++) r.a[i] = v_get(pscs, sp[i], true);
|
for (u64 i = 0; i < ia; i++) HARR_ADD(r, i, v_get(pscs, sp[i], true));
|
||||||
NOGC_E;
|
return HARR_FV(r);
|
||||||
return r.b;
|
|
||||||
} else if (isExt(s)) {
|
} else if (isExt(s)) {
|
||||||
Scope* sc = pscs[V_DEPTH(s)];
|
Scope* sc = pscs[V_DEPTH(s)];
|
||||||
B r = sc->ext->vars[V_POS(s)];
|
B r = sc->ext->vars[V_POS(s)];
|
||||||
@ -1724,6 +1723,7 @@ NOINLINE void freeThrown() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
NOINLINE NORETURN void thrM(char* s) {
|
NOINLINE NORETURN void thrM(char* s) {
|
||||||
|
NOGC_CHECK("throwing during noAlloc");
|
||||||
thr(utf8Decode0(s));
|
thr(utf8Decode0(s));
|
||||||
}
|
}
|
||||||
NOINLINE NORETURN void thrOOM() {
|
NOINLINE NORETURN void thrOOM() {
|
||||||
|
|||||||
@ -33,6 +33,9 @@ a←"zero"‿"one" ⋄ !a≡a⊸{𝕩?1⊑𝕨;0⊑𝕨}¨0‿1
|
|||||||
!"↩: Reading variable that hasn't been set" % {a⊢↩↕10} ⋄ a←2
|
!"↩: Reading variable that hasn't been set" % {a⊢↩↕10} ⋄ a←2
|
||||||
!"↩: Updating variable that hasn't been set" % {a↩↕10} ⋄ a←2
|
!"↩: Updating variable that hasn't been set" % {a↩↕10} ⋄ a←2
|
||||||
!"↩: Reading variable that hasn't been set" % {a (↕10)˙↩} ⋄ a←2
|
!"↩: Reading variable that hasn't been set" % {a (↕10)˙↩} ⋄ a←2
|
||||||
|
!"↩: Reading variable that hasn't been set" % a←1 ⋄ {a‿b⊢↩↕2} ⋄ b←2
|
||||||
|
!"↩: Updating variable that hasn't been set" % a←1 ⋄ {a‿b↩↕2} ⋄ b←2
|
||||||
|
!"↩: Reading variable that hasn't been set" % a←1 ⋄ {a‿b (↕10)˙↩} ⋄ b←2
|
||||||
!"Assignment: Mismatched shape for spread assignment" % a‿b←1
|
!"Assignment: Mismatched shape for spread assignment" % a‿b←1
|
||||||
!"Assignment: Mismatched shape for spread assignment" % a‿b←1‿2‿3
|
!"Assignment: Mismatched shape for spread assignment" % a‿b←1‿2‿3
|
||||||
!"Assignment: Mismatched shape for spread assignment" % ⟨a⟩←<1
|
!"Assignment: Mismatched shape for spread assignment" % ⟨a⟩←<1
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user