[swift-users] another issue with tuples
Shane S
electro_alchemy at hotmail.com
Wed Jul 6 08:55:32 CDT 2016
Aaron this works for me in both Swift 2.2 and Swift 3 provided that you remove the ‘throws’ keyword.
What seems odd to me is not the first assignment, but rather the second that _allows_ the use of ‘throws’ when t.1 (i.e. f) does not throw - is your concern the same?
Shane
On Jul 5, 2016, at 10:48 PM, Aaron Bohannon via swift-users <swift-users at swift.org<mailto:swift-users at swift.org>> wrote:
Yesterday, it was pointed out that a variable name referring to a tuple cannot be used as a pattern. I have noticed another sort of inconsistency in how tuples are treated when they are referenced by name:
func f() -> Int { return 5 }
let t = ("a", f)
let _: (String, () throws -> Int) = t // type error
let _: (String, () throws -> Int) = (t.0, t.1) // OK
This situation leads to a different sort of type error; however, the error seems equally unwarranted. I can't see any good reason for a well-typed program to become ill-typed when `(t.0, t.1)` is replaced with `t` (assuming `t` is a pair).
Should I file a separate bug for the specific example above?
- Aaron
_______________________________________________
swift-users mailing list
swift-users at swift.org<mailto:swift-users at swift.org>
https://lists.swift.org/mailman/listinfo/swift-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160706/075a8ecb/attachment.html>
More information about the swift-users
mailing list