Closed armoha closed 2 years ago
Reproduced in euddraft 0.9.4.8 and 0.8.2.9.
This is NOT a recent regression but long-standing bug (more than 4 years ago).
# __epspy__ analysis
# (Line 4) var p = a; // declare new variable `p` and initialize its value with `a`
p = EUDVariable()
p << (a)
# (Line 5) var q, r = a, b; // NO allocation occurs. q, r are 'alias' of a, b; they point to same variables.
q, r = _MVAR([a, b])
# related epScript helper function
def _MVAR(vs):
return List2Assignable([
v.makeL() if IsEUDVariable(v) else EUDVariable() << v
for v in FlattenList(vs)])
# eudplib/core/varialbe/eudv.py
# class EUDVariable
def makeL(self):
self._rvalue = False
return self
Major bug, should be fixed ASAP.