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

Make cycle errors recoverable #102037

Merged
merged 3 commits into from
Sep 22, 2022
Merged

Make cycle errors recoverable #102037

merged 3 commits into from
Sep 22, 2022

Commits on Sep 20, 2022

  1. Configuration menu
    Copy the full SHA
    5922d6c View commit details
    Browse the repository at this point in the history
  2. Make OUT an associated type instead of a generic parameter

    This avoids toil when changing other functions in `ObligationForest` to take an `OUT` parameter.
    jyn514 committed Sep 20, 2022
    Configuration menu
    Copy the full SHA
    749dec6 View commit details
    Browse the repository at this point in the history
  3. Make cycle errors recoverable

    In particular, this allows rustdoc to recover from cycle errors when normalizing associated types for documentation.
    
    In the past, `@jackh726` has said we need to be careful about overflow errors:
    
    > Off the top of my head, we definitely should be careful about treating overflow errors the same as
    "not implemented for some reason" errors. Otherwise, you could end up with behavior that is
    different depending on recursion depth. But, that might be context-dependent.
    
    But cycle errors should be safe to unconditionally report; they don't depend on the recursion depth, they will always be an error whenever they're encountered.
    jyn514 committed Sep 20, 2022
    Configuration menu
    Copy the full SHA
    1512ce5 View commit details
    Browse the repository at this point in the history