> 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

Reply via email to