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
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users