Regarding `uvm_component_utils and `uvm_object_utils

I’m having one very confusing doubt,

Can we use syntax like below?

//1
class base_test extends uvm_test;
`uvm_component_utils(base_test);
//2
class base_txn extends uvm_sequence_item;
`uvm_object_utils(base_txn);

As per my knowledge, we can’t be able to use semicolon for `uvm_component/object_utils() for class registry macro. But in my current project the TB developer use semicolon. Please help me on this.

It was not causing any error or compilation issues. Even the Test case is also passing.

In reply to dave_59:

Thanks Dave, It was very helpful for me.