How does UVM Comparator works?

In reply to cgales:

Hi cgales,

I don’t understand exactly what you mean by “don’t re-use the same handles since the objects may be stored in a fifo and the comparison may occur at some later time”. Can you elaborate it?

This is how I understand what should happen inside the fifo:

fifo_slot_0: first exp_tr with the member addr equal to 'h2821
fifo_slot_1: second exp_tr with the member addr equal to 'h2822
fifo_slot_2: third exp_tr with the member addr equal to 'h2823
fifo_slot_3: fourth exp_tr with the member addr equal to 'h2824

So even though I’m using the same exp_tr handle, the value of the member addr should still be changing.

Creating a new object actually works but I just want to understand why it works. =)
Thanks.