// RUN: %target-typecheck-verify-swift func takesAutoclosure(_ lhs: T, _ rhs: @autoclosure () throws -> T) {} func takesUnsafeRawPointer(_ ptr: UnsafeRawPointer) {} func takesUnsafeMutableRawPointer(_ ptr: UnsafeMutableRawPointer) {} func takesUnsafePointer(_ ptr: UnsafePointer) {} func takesUnsafeMutablePointer(_ ptr: UnsafeMutablePointer) {} func takesUnsafePointerInt8(_ ptr: UnsafePointer) {} func takesUnsafePointerUInt8(_ ptr: UnsafePointer) {} func takesUnsafePointerVoid(_ ptr: UnsafePointer) {} // expected-warning {{UnsafePointer has been replaced by UnsafeRawPointer}} func test( _ rawPtr: UnsafeRawPointer, _ mutRawPtr: UnsafeMutableRawPointer, _ mutPtr: UnsafeMutablePointer, _ ptr: UnsafePointer ) { var i: Int = 0 var a: [Int] = [0] let s = "string" takesUnsafeRawPointer(&i) takesUnsafeMutableRawPointer(&i) takesUnsafeMutablePointer(&i) takesUnsafePointer(&i) takesUnsafeRawPointer(&a) takesUnsafeMutableRawPointer(&a) takesUnsafeMutablePointer(&a) takesUnsafePointer(&a) takesUnsafeRawPointer(mutPtr) takesUnsafeMutableRawPointer(mutPtr) takesUnsafePointer(mutPtr) takesUnsafeRawPointer(mutRawPtr) takesUnsafeRawPointer(a) takesUnsafePointer(a) takesAutoclosure(rawPtr, mutPtr) takesAutoclosure(mutRawPtr, mutPtr) takesAutoclosure(ptr, mutPtr) takesAutoclosure(rawPtr, mutRawPtr) takesUnsafeRawPointer(s) takesUnsafePointerInt8(s) takesUnsafePointerUInt8(s) takesUnsafePointerVoid(s) }