Skip to content
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

fix logic error in #44269's prune_cache_value_obligations #45065

Merged
merged 1 commit into from
Oct 6, 2017

Commits on Oct 6, 2017

  1. fix logic error in rust-lang#44269's prune_cache_value_obligations

    We want to retain obligations that *contain* inference variables, not
    obligations that *don't contain* them, in order to fix rust-lang#43132. Because
    of surrounding changes to inference, the ICE doesn't occur in its
    original case, but I believe it could still be made to occur on master.
    
    Maybe I should try to write a new test case? Certainly not right now
    (I'm mainly trying to get us a beta that we can ship) but maybe before
    we land this PR on nightly?
    
    This seems to cause a 10% performance regression in my imprecise
    attempt to benchmark item-body checking for rust-lang#43613, but it's better to
    be slow and right than fast and wrong. If we want to recover that, I
    think we can change the constrained-type-parameter code to actually
    give a list of projections that are important for resolving inference
    variables and filter everything else out.
    arielb1 committed Oct 6, 2017
    Configuration menu
    Copy the full SHA
    91fdadb View commit details
    Browse the repository at this point in the history