extension Result where Success: ~Copyable { /// Creates a new result by evaluating a throwing closure, capturing the /// returned value as a success, or any thrown error as a failure. /// /// - Parameter body: A potentially throwing closure to evaluate. @_alwaysEmitIntoClient public init(catching body: () throws(Failure) -> Success) { do { self = .success(try body()) } catch { self = .failure(error) } } }
throws(Failure)
になってるから、それができないならこのシグネチャになってる意味がないので、推論器が未実装なんだと思います。