public extension Sequence { @inline(__always) public func sum<G: AdditiveGroup>(mapping f: (Element) -> G) -> G { // MEMO reduce is slow. var res = G.zero for e in self { res = res + f(e) } return res } }
(edited)@inline(__always)
と @_inlineable
の違いはなんだろうと思って調べてみたんですが、ここを見ると一個の関数に両方ついてるのがたくさんあって謎でしたw https://github.com/apple/swift/blob/master/stdlib/public/core/BridgeStorage.swift@_inlineable // FIXME(sil-serialize-all)
って書いてあるんで、いずれは消える予定?