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

Separate projection bounds and predicates #73905

Merged
merged 34 commits into from
Oct 6, 2020

Commits on Oct 6, 2020

  1. Configuration menu
    Copy the full SHA
    0eb87ed View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a7ead3b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d297147 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f958e6c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    87f2f42 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b3057f4 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5b279c8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1b07991 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d4d9e7f View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0a76584 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    2bdf723 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    042464f View commit details
    Browse the repository at this point in the history
  13. Fix tools

    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    0dda415 View commit details
    Browse the repository at this point in the history
  14. Fix ICE

    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    21eccbb View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    8787090 View commit details
    Browse the repository at this point in the history
  16. Remove predicates on associated types from traits

    These need to only be bounds to avoid cycle errors in trait checking.
    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    582ccec View commit details
    Browse the repository at this point in the history
  17. Avoid cycle in nested obligations for object candidate

    Bounds of the form `type Future: Future<Result=Self::Result>` exist in
    some ecosystem crates. To validate these bounds for trait objects we
    need to normalize `Self::Result` in a way that doesn't cause a cycle.
    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    f52b2d8 View commit details
    Browse the repository at this point in the history
  18. Fix bugs in evaluating WellFormed predicates

    - List the nestsed obligations in an order that works with the
      single pass used by evaluation
    - Propagate recursion depth correctly
    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    bc08b79 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    cfee495 View commit details
    Browse the repository at this point in the history
  20. Normalize projection bounds when considering candidates

    This unfortunately requires some winnowing hacks to avoid
    now ambiguous candidates.
    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    34e5a49 View commit details
    Browse the repository at this point in the history
  21. Avoid cycle with projections from object types

    Normalizing `<dyn Iterator<Item = ()> as Iterator>::Item` no longer
    requires selecting `dyn Iterator<Item = ()>: Iterator`. This was
    previously worked around by using a special type-folder to normalize
    things.
    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    596d6c4 View commit details
    Browse the repository at this point in the history
  22. Avoid cycles from projection bounds

    Only check the own predicates of associated types when confirming
    projection candidates.
    Also consider implied bounds when comparing trait and impl methods.
    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    0dfa6ff View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    ed32482 View commit details
    Browse the repository at this point in the history
  24. Fix bootstrap

    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    6c4feb6 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    e297652 View commit details
    Browse the repository at this point in the history
  26. Fix rebase

    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    d08ab94 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    e674cf0 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    e42c979 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    852073a View commit details
    Browse the repository at this point in the history
  30. Fix rebase

    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    27534b3 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    1db284e View commit details
    Browse the repository at this point in the history
  32. Fix tests from rebase

    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    022c148 View commit details
    Browse the repository at this point in the history
  33. Deduplicate some code

    matthewjasper committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    c9eeb60 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    69fc6d8 View commit details
    Browse the repository at this point in the history