P_sequencer / m_sequencer

In reply to dave_59:

hi mperyer,
I am new to UVM so might be i am missing something but i couldn’t understand how this would work.
$cast(p_sequencer, m_sequencer)

now my_sequencer (p_sequencer is of type my_sequencer) would be derived from uvm_sequencer. m_sequencer is handle to uvm_sequencer.

If i cast (p_sequencer, m_sequencer) then it is saying that p_sequencer is pointing to the same object (sequencer) to which m_sequencer is pointing.
and m_sequencer points to uvm_sequencer.

Then how can p_sequencer which is derived can access extended methods or variables.
and more over this would compile but would it not be run time error ??

Please help me understand.

thanks
-learner