As for next lines: > 1. Disallow suspension of the main sync code which is effectively some sort > of colouring. > 2. Preventing access to globals from coroutine which I'm not sure is even > fully doable from the engine PoV
Yesterday there was a small discussion about debugging capabilities in PHP for async. For example: throwing an error if more than one coroutine writes to a variable. Or issuing a warning if someone creates a coroutine inside a function. This can be called an extended debugging mode. Almost no other language has this, and if we implement it, it would be very cool and very useful. We can also come up with other ways to protect PHP users from silly mistakes. For example, blocking async entirely or per namespace. But I don’t think discussing these features is the top priority right now. All of this is nice to have once everything else is already in place.
