reported upstream: https://issues.chromium.org/issues/330361615 The forward header includes the declaration of deallocate(), but not the definition. Since the definition is in a header (and presumably it gets inlined by the compiler), the definition doesn't actually end up in an object file unless the non-forward header gets included. Not having the definition makes the linker sad. --- a/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h +++ b/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h @@ -14,7 +14,7 @@ #include #include -#include "partition_alloc/internal_allocator_forward.h" +#include "partition_alloc/internal_allocator.h" #include "partition_alloc/partition_alloc_base/threading/platform_thread.h" #include "partition_alloc/partition_alloc_base/time/time.h" #include "partition_alloc/partition_alloc_check.h"