blob: 97385a52d8d2804ae3c6bef6db31e0d47d317238 [file] [log] [blame]
// RUN: %target-typecheck-verify-swift
extension Collection where Element: Numeric {
var v: Element {
return self.reduce(0, +)
}
}
struct R<T> {}
func ==<T: Equatable>(lhs: R<T>, rhs: T?) {}
func foo<T>(_ e: @autoclosure @escaping () throws -> T?) -> R<T> {
return R<T>()
}
func bar<T>(_ e: T?) -> R<T> {
return R<T>()
}
foo([Double(1.0)].v) == Double(1.0)
bar([Double(1.0)].v) == Double(1.0)