Avatar
try の苦労って throws かどうかを知らずに try を書きたいってことだと思うので、無条件 throws な関数適当に作っておけば func _throwsShim<T>(_ value: T) throws -> T { value } func test() throws -> Int { return try _throwsShim(1) } とかで良さそう、そしたら _capture は @autoclosurerethrows もいらず, (edited)
2:03 AM
func _capture<T>(_ value: T, column: Int) -> T { values.append(Value(value: _toString(value), column: column)) return value } return try _throwsShim(_capture(_capture(foo, column: 0).bar(_capture(baz, column: 8)), column: 4)) とか。