mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-04 15:51:37 +00:00

This is for a few reasons: * The leak logging isn't as useful as other types of logging, as nsTArray_base is frequently relocated without invoking a constructor, such as when stored within another nsTArray. This means that XPCOM_MEM_LOG_CLASSES cannot be used to identify specific leaks of nsTArray objects. * The nsTArray type is layout compatible with the ThinVec crate with the correct flags, and ThinVec does not currently perform leak logging. This means that if a large number of arrays are transferred between rust and C++ code using ThinVec, for example within another ThinVec, they will not be logged correctly and might appear as e.g. negative leaks. * Leaks which have been found thanks to the leak logging added by this type have often not been significant, and/or have needed to be circumvented using some other mechanism. Most leaks found with this type in them also include other types which will continue to be tracked. Differential Revision: https://phabricator.services.mozilla.com/D115087