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

Prevent caching normalization results with a cycle #80246

Merged
merged 2 commits into from
Dec 26, 2020

Commits on Dec 20, 2020

  1. Make recursion limit fatal in project

    This avoid the hang/oom from rust-lang#79714
    matthewjasper committed Dec 20, 2020
    Configuration menu
    Copy the full SHA
    77fce67 View commit details
    Browse the repository at this point in the history
  2. Prevent caching projections in the case of cycles

    When normalizing a projection which results in a cycle, we would
    cache the result of `project_type` without the nested obligations
    (because they're not needed for inference). This would result in
    the nested obligations only being handled once in fulfill, which
    would avoid the cycle error.
    
    Fixes rust-lang#79714, a regresion from rust-lang#79305 caused by the removal of
    `get_paranoid_cache_value_obligation`.
    matthewjasper committed Dec 20, 2020
    Configuration menu
    Copy the full SHA
    2e92b13 View commit details
    Browse the repository at this point in the history