The clang Blink GC plugin detects if trace() methods are incomplete, failing to trace one or more fields that are "traceable" (heap references or part objects that contain heap references.) It does not report errors if tracing is over fields that aren't traceable, leaving that for compilation to otherwise fail.
We should try to improve on this; e.g., better, more succinct, error messages when attempting to trace smart pointers wrapping up non-heap objects are preferable to verbose static_assert()-generated error messages and other long compiler error backtraces. The GC plugin should instead detect & report trace() calls over fields that do not support tracing.
Comment 1 by sigbjo...@opera.com
, Jun 10 2016Status: Started (was: Untriaged)