https://issues.dlang.org/show_bug.cgi?id=2834
--- Comment #19 from Orvid King <[email protected]> --- We still wouldn't be able to call the destructors in structs for arrays even with precise heap scanning, because we can't know that each value in the array is actually valid. Take for instance an array of File's, it's not valid to call the destructor of File.init, so we could compare the value of an element of an array of structs to it's init value, but who's to say that element was ever initialized in the first place? How would we detect that? I think the best thing to do with the arrays of structs that have destructors is to simply make them illegal, and to present as an alternative, an array of a structure that you have defined and has an inner alias this to the original structure, but rather than having a destructor, has a named method that the user would have to call themselves for each element that they know is initialized. --
