> On Aug 24, 2017, at 1:05 PM, Thomas via swift-evolution
> <swift-evolution@swift.org> wrote:
>
>>
>> On 24 Aug 2017, at 21:48, Marc Schlichte <marc.schlic...@googlemail.com
>> <mailto:marc.schlic...@googlemail.com>> wrote:
>>
>> Yes, I think it is mandatory that we continue on the callers queue after an
>> `await ` on some actor method.
>>
>> If you `await` on a non-actor-method though, you would have to changes
>> queues manually if needed.
>>
>> Any `actor` should have a `let actorQueue: DispatchQueue` property so that
>> we can call in these cases:
>>
>> ```await actorQueue.asyncCoroutine()``` as mentioned in the manifesto.
>
> Wouldn't that be really confusing though? That awaiting certain methods would
> bring us back to the actor's queue but awaiting others would require manual
> queue hopping? What if the compiler was to always generate the 'await
> actorQueue.asyncCoroutine()' queue hopping code after awaiting on an
> async/actor method?
Yes, it would be confusing. await should either always return to the same queue
or never do it. Otherwise it’s even more error-prone. I see the actor feature
as being just another demonstration of why solving the queue-hopping problem is
important for async/await to be useful.
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution