Something strange with Xcode Playground once again. I've to close and re-open the Playground project to get the warning. I've seen this same behavior before with this:
// Initialization of 'UnsafeMutablePointer<thread_act_t>' (aka 'UnsafeMutablePointer<UInt32>') results in a dangling pointer
// 1. Implicit argument conversion from '[thread_act_t]' (aka 'Array<UInt32>') to 'UnsafePointer<thread_act_t>' (aka 'UnsafePointer<UInt32>') produces a pointer valid only for the duration of the call to 'init(mutating:)'
// 2. Use the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope
var thread_list: thread_act_array_t? = UnsafeMutablePointer(mutating: [thread_act_t]())
But it does show the warning if I close and re-open it....
So why do not show warning in Playground, very much for learning and experiment? I would think you want maximum warning level to point out questionable code as much as possible?