C++: Correctly handle destructors at the end of range-based for-loops in the IR
IDiagnosticsWriter
IDisposable