WeakPtr breaks vtables when upcasting to base classes