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

Don't create impl candidates when obligation contains errors #73005

Merged
merged 3 commits into from
Jun 11, 2020

Commits on Jun 4, 2020

  1. Don't create impl candidates when obligation contains errors

    Fixes rust-lang#72839
    
    In PR rust-lang#72621, trait selection was modified to no longer bail out early
    when an error type was encountered. This allowed us treat `ty::Error` as
    `Sized`, causing us to avoid emitting a spurious "not sized" error after
    a type error had already occured.
    
    However, this means that we may now try to match an impl candidate
    against the error type. Since the error type will unify with almost
    anything, this can cause us to infinitely recurse (eventually triggering
    an overflow) when trying to verify certain `where` clauses.
    
    This commit causes us to skip generating any impl candidates when an
    error type is involved.
    Aaron1011 committed Jun 4, 2020
    Configuration menu
    Copy the full SHA
    7f7729d View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2020

  1. Configuration menu
    Copy the full SHA
    3295c26 View commit details
    Browse the repository at this point in the history
  2. Fix typo

    Co-authored-by: Randy Taylor <tehgecKozzz@gmail.com>
    Aaron1011 and aclonegeek committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    ae42c91 View commit details
    Browse the repository at this point in the history