Open
Description
It might be possible to make strange things happen by racing the completion of two futures, where one is set to be the result of the other. Basically:
- The dependent future checks if the result future is complete, sees that it isn't, and goes to do the cycle check.
- The result future is completed, clearing its cycle node
- The dependent future accidentally re-inits the cycle node
It's not clear if this can create problems, but it should be fixed regardless.