Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Two targets can swap positions with pantsd #7583
Before this PR, nothing would remove the edges of a dirty node, so if
With this PR, if we detect a cycle, but detect that there may be dirty
This is specifically in place to handle the cycle scenario - the dirty
There's an ugliness here that we still don't remove obsolete edges, so
There's probably a slightly more principled solution here along the
cosmicexplorer left a comment
This is a decidedly nontrivial issue and I'm very glad we have a handle on why it happens and how to fix it!
I've noted multiple places that I believe would strongly benefit from copious use of one-off enums. We can probably merge this PR first and then follow up with later enum changes to avoid blocking the fix.
Is there additional complexity to implementing this beyond "we now have to compare generations", or is there a concern this would introduce difficult-to-debug errors?
referenced this pull request
Apr 17, 2019
It would be good to incorporate some of the PR description into a TODO somewhere in the code. Definitely fine with leaving "non-problematic" edges in place for now and revisiting it in the (distant) future!