$cast failed using parameterised uvm_sequence_item class

In reply to Po:

Your cast fails because the declaration of your seq_item in bus2reg is not parameterized. It should be like this:

  virtual function void bus2reg(uvm_sequence_item bus_item,
                                ref uvm_reg_bus_op rw);
    extended_seq_item#(type CFG = config_class) ext;
    if (!$cast(ext, bus_item)) begin