Re:Go 2 Draft Designs
by ianlancetaylor on Wednesday August 29, 2018 @03:20PM
(#17870923)
Unfortunately [T] is also ambiguous with the current Go syntax. The parser can't distinguish an array declaration from a generic type.
[ Parent
| on HN ]
Re:Go 2 Draft Designs
by alecthomas on Thursday August 30, 2018 @06:11AM
(#17875465)
How about the following:
contract Addable(t T) {
t + t
}
func Sum.<T Addable>(x []T) T {
var total T
for _, v := range x {
total += v
}
return total
}
It has the nice property that it's somewhat analogous to type conversions, the grammar should be unambiguous, and it's much less visually confusing than re-using parentheses IMO.