[swift-users] Data withUnsafeBytes
Chris McIntyre
cmcintyre3600 at gmail.com
Sat Sep 3 11:00:41 CDT 2016
Hi guys,
I’m either missing a subtlety in regards to closures or I found a bug with the type inference system in Xcode 8 Beta 6. Thought I’d run it by you.
I’m trying to use Data’s method withUnsafeBytes(_:). It’s declared as:
func withUnsafeBytes<ResultType, ContentType>(_ body: (UnsafePointer<ContentType>) throws -> ResultType) rethrows -> ResultType
The Swift Language book states that closure syntax uses the following form:
{ (parameters) -> returntype in
statements
}
So, at the most basic implementation, I tried the following:
let tryThis = items.withUnsafeBytes {
(bytes) -> Int in
return 1
}
And I get the error Declared closure result 'Int' is incompatible with contextual type ‘ResultType’.
Xcode suggests I change Int to ResultType, but that just gives me the error that I’m using an undeclared type.
Am I getting the syntax wrong or Xcode getting confused?
Thanks a lot.
—
Chris McIntyre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160903/b7cf5466/attachment.html>
More information about the swift-users
mailing list