In reply to enolan:
Thze recommendation is to avoid the field macros because it puts a big overhead on the simulation and might cause additional problems.
BTW, why do you want to have UVM_NOCOMPARE? UVM_ALL_ON creates automatically the do_compare function. It is there but you do not have to use the compare function where do_compare is called.
If you are using a UVM Framework Generator like UVMF from Mentor or the EasierUVM Code Generator from Doulos(Doulos) it creates all the seq_item methods automatically for you.