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);
|
||||
usz ia = IA(s);
|
||||
B* sp = harr_ptr(s);
|
||||
HArr_p r = m_harrUv(ia);
|
||||
for (u64 i = 0; i < ia; i++) r.a[i] = v_get(pscs, sp[i], true);
|
||||
NOGC_E;
|
||||
return r.b;
|
||||
M_HARR(r, ia);
|
||||
for (u64 i = 0; i < ia; i++) HARR_ADD(r, i, v_get(pscs, sp[i], true));
|
||||
return HARR_FV(r);
|
||||
} else if (isExt(s)) {
|
||||
Scope* sc = pscs[V_DEPTH(s)];
|
||||
B r = sc->ext->vars[V_POS(s)];
|
||||
@ -1724,6 +1723,7 @@ NOINLINE void freeThrown() {
|
||||
}
|
||||
|
||||
NOINLINE NORETURN void thrM(char* s) {
|
||||
NOGC_CHECK("throwing during noAlloc");
|
||||
thr(utf8Decode0(s));
|
||||
}
|
||||
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
|
||||
!"↩: 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←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‿2‿3
|
||||
!"Assignment: Mismatched shape for spread assignment" % ⟨a⟩←<1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user