Closed davidnich closed 8 years ago
the assignment operator makes an optional evaluation, if no evaluation is necessary, then the reference count for the assignment was only incremented after the lvalue is identified, therefore the lvalue can be not copied to make a unique value when the reference_count = 1.
this is related to the QoreValue changes and therefore did not affect Qore 0.8.11.1 (hence the invisible label)
affects also the += operator:
qore -ne 'string str = "a"; h = (str: 1); h.b += h; printf("%y\n", h);' {a: 1, b: {ERROR: recursive reference to hash 0x7fd5d050cdb0}}
last release of Qore:
current develop branch:
also this is causing a crash in DGC