trace_after_dispatch.cpp:13:1: warning: [blink-gc] Missing dispatch to class 'D' in manual trace dispatch. void A::Trace(Visitor* visitor) const { ^ In file included from trace_after_dispatch.cpp:5: ./trace_after_dispatch.h:61:3: warning: [blink-gc] Class 'E' inherits from a hierarchy that uses TraceAfterDispatch to dispatch tracing. Only the hierarchy base class 'A' should declare a Trace method. Remove the extra Trace method: void Trace(Visitor*) const; ^ trace_after_dispatch.cpp:32:1: warning: [blink-gc] Base class 'A' of derived class 'B' requires tracing. void B::TraceAfterDispatch(Visitor* visitor) const { ^ trace_after_dispatch.cpp:39:1: warning: [blink-gc] Class 'C' has untraced fields that require tracing. void C::TraceAfterDispatch(Visitor* visitor) const { ^ ./trace_after_dispatch.h:40:5: note: [blink-gc] Untraced field 'm_a' declared here: Member m_a; ^ 4 warnings generated.