System APIs pthread_exit and pthread_cancel are able to terminate a thread and deallocate it's stack without running destructors.
Because of APIs like Pin, this cannot be sound for Rust code. Is there any reason that this should be considered undefined behaviour immediately (if any rust frame is on its stack), or just unsound in the face of stack-pinning. Additionally, is there anything else beyond Pin that would cause this to be unsound (if it is defined).