This is particularly important for single valued rules (e.g.
identities). When copying values this is already handled correctly
by the enumerator and add().
{
entry_t entry;
- while (array_remove(other->entries, ARRAY_HEAD, &entry))
- {
- array_insert(this->entries, ARRAY_TAIL, &entry);
+ while (array_remove(other->entries, ARRAY_TAIL, &entry))
+ { /* keep order but prefer new values (esp. for single valued ones) */
+ array_insert(this->entries, ARRAY_HEAD, &entry);
}
array_compress(other->entries);
}