Generic requirement that Some: AsyncSequence is not throwing

Solution 1:

When this proposal is fully implemented you will be able to express conformance to a failable sequence by providing some syntax sugar

extension AsyncSequence where nothrow AsyncIterator {

or

struct Foo<S: nothrow AsyncSequence>

This comes from the @rethrows annotation currently attached to AsyncSequence

@rethrows public protocol AsyncSequence