Commits

Arnold Schwaighofer committed 06a0a235629
Add a destructor memory effect analysis This adds an analysis to the compiler that identifies types that are may store to memory on destruction. It adds a compiler known protocol _DestructorSafeContainer that allows the standard library to identify containers whose destructor's memory effects depends strictly on the type parameters of the container. Array<T> : _DestructorSafeContainer {} may not store to memory during destruction if the bound T is a type that does not store to memory on destruction. This is needed to deduce that for example Array<Array<Int>> is does not store to memory on destruction (e.g during a call to release). rdar://18940376 Swift SVN r23242