Overriding classes originating from different packages

In reply to jimmyhuang0904:

There is also a second argument that should be passed to set_type_override method i.e, replace bit, if it is 1 then it enables overriding.
You can try once writing like

class_to_override#()::type_id::set_type_override( new_class#()::get_type(), 1 );