New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added test demonstrating issue with find_in_unresolved_tree #1169
Conversation
Am I reading this correctly that resolution is basically just broken? |
From what I can tell, this isn't a bug in @evanphx your name is on this code. Do you know how to fix? |
Yes i think so. This is the output.
But in the test i set it up so that a1 = new_spec "a", "1", "c" => "> 1", "b" => "> 0"
b1 = new_spec "b", "1", {"c" => "= 2"}, "lib/d.rb"
b2 = new_spec "b", "2", {"c" => "= 1"}, "lib/d.rb"
c1 = new_spec "c", "1"
c2 = new_spec "c", "2"
c3 = new_spec "c", "3" I'd say there is 2 errors: |
Oh yes you're right it's plain |
Ya, that sounds about right to me. Just out of curiosity, are you hitting this error in real life? I wonder if this is a case that we could possibly punt on (maybe raise an exception or something). My gut says we might be able to solve the issue, but it will really slow down resolution (it seems like we'd essentially have to backtrack on dependencies). I wonder if Bundler gets this case right. |
(IMO passing your test is the best solution, but raising an exception seems better than just activating the wrong gem) |
No i'm not hitting it in realword. The optimization in #1168 changes the behaviour of |
Makes sense. If we know the resolution isn't correct, and we're willing to live with that, then we could probably make some nice speed improvements. |
b819009
to
891a3bf
Compare
I commented on the wrong ticket!!! |
Added a new testcase called test_self_activate_conflicting_in_indirect that should invoke find_in_unresolved_tree. |
This appears to have been incorporated / resolved with #1188 |
This is just a test demonstrating the require can result in using a spec that causes a conflict.