> On Aug 18, 2017, at 6:04 PM, Yuta Koshizawa <ko...@koherent.org> wrote: > > Hi, I have a question about the proposed `async/await`. > > Are `throws async` and `await try` allowed? I think we have three options. > > 1. allows only `async throws`-`try await` > 2. allows both `async throws`-`try await` and `throws async`-`await try` and > does not distinguish them > 3. allows both and distinguishes them like `Promise<Result<T>>` and > `Result<Promise<T>>` > > Although 3 is the most expressive, I think it is too complicated. In most > cases we need only something similar to `Promise<Result<T>>`. To select 1 > also makes it possible to support 3 in the future. So 1 seems a good choice > to me.
I agree. If we are going to keep “async” and “throws” as unrelated axes on a matrix, then there cannot be a relationship implied by the ordering. “throws async” and “async throws” need to mean the same thing. -Chris _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution