mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-20 02:11:31 +00:00
make ref_unlink optional and itcm pass a simple test again
note: there's no marking yet
This commit is contained in:
@ -137,13 +137,15 @@ export class Set<K> {
|
||||
key = entry.key; // exact, e.g. string
|
||||
if (isNullable<K>()) {
|
||||
if (key !== null) {
|
||||
if (isDefined(__ref_link)) __ref_unlink(changetype<usize>(key), changetype<usize>(this));
|
||||
else if (isDefined(__ref_retain)) __ref_release(changetype<usize>(key));
|
||||
if (isDefined(__ref_link)) {
|
||||
if (isDefined(__ref_unlink)) __ref_unlink(changetype<usize>(key), changetype<usize>(this));
|
||||
} else if (isDefined(__ref_retain)) __ref_release(changetype<usize>(key));
|
||||
else assert(false);
|
||||
}
|
||||
} else {
|
||||
if (isDefined(__ref_link)) __ref_unlink(changetype<usize>(key), changetype<usize>(this));
|
||||
else if (isDefined(__ref_retain)) __ref_release(changetype<usize>(key));
|
||||
if (isDefined(__ref_link)) {
|
||||
if (isDefined(__ref_unlink)) __ref_unlink(changetype<usize>(key), changetype<usize>(this));
|
||||
} else if (isDefined(__ref_retain)) __ref_release(changetype<usize>(key));
|
||||
else assert(false);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user