In file included from finalize_after_dispatch.cpp:5: ./finalize_after_dispatch.h:12:1: warning: [blink-gc] Class 'NeedsDispatch' is missing manual trace dispatch. class NeedsDispatch : public GarbageCollected { ^ finalize_after_dispatch.cpp:32:1: warning: [blink-gc] Missing dispatch to class 'D' in manual finalize dispatch. void A::FinalizeGarbageCollectedObject() ^ In file included from finalize_after_dispatch.cpp:5: ./finalize_after_dispatch.h:84:3: warning: [blink-gc] Class 'E' inherits from a hierarchy that uses FinalizeGarbageCollectedObject to dispatch object finalization. Only the hierarchy base class 'A' should declare a FinalizeGarbageCollectedObject method. Remove the extra FinalizeGarbageCollectedObject method: void FinalizeGarbageCollectedObject(); ^ 3 warnings generated.