The following playground reproduces an issue I'm having, in that the code won't compile depending on the content of the closure. In fact, an empty closure is fine, but when I try to call certain things, it's not.
I figure it has something to do with the type inference for inPointer, but I can't figure out what it needs to work. --------------------------- import Foundation // OKAY: var msg = Data(capacity: 123456) msg.withUnsafeMutableBytes { (inPointer) -> Void in foo(inPointer) } //error: cannot convert value of type '(_) -> Void' to expected argument type '(UnsafeMutablePointer<_>) -> _' //{ (inPointer) -> Void in //^~~~~~~~~~~~~~~~~~~~~~~~ msg.withUnsafeMutableBytes { (inPointer) -> Void in } //error: cannot convert value of type '(_) -> Void' to expected argument type '(UnsafeMutablePointer<_>) -> _' //{ (inPointer) -> Void in //^~~~~~~~~~~~~~~~~~~~~~~~ msg.withUnsafeMutableBytes { (inPointer) -> Void in var s: Int lgs_error(inPointer, 123456, &s) } func foo(_ data: UnsafeMutableRawPointer!) { } func lgs_error(_ message: UnsafeMutablePointer<Int8>!, _ message_capacity: Int, _ message_size: UnsafeMutablePointer<Int>!) -> Int { } --------------------------- -- Rick Mann rm...@latencyzero.com _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users