For LazyInstance, this was worked around by using a scoped leak disabler. For NoDestructor, the workaround is to conditionally compile a field pointer T* pointing at the placement-new'd buffer, so that LSan can trace into the buffer.
It would be nice not to need these workarounds; from kcc's replies on the discussion thread, it seems like LSan is supposed to treat the object as a bag of bytes. So we should understand why that isn't happening.
(I'm not sure what component this should go under, but tagging it with Stability-Memory-AddressSanitizer which looks sort of related)
Comment 1 by thakis@chromium.org
, Sep 24