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

Lazy type-alias-impl-trait #92007

Merged
merged 53 commits into from
Feb 8, 2022
Merged

Lazy type-alias-impl-trait #92007

merged 53 commits into from
Feb 8, 2022

Commits on Feb 2, 2022

  1. Configuration menu
    Copy the full SHA
    d49b074 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a4c1cec View commit details
    Browse the repository at this point in the history
  3. Update some comments

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    bbbdcb3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4e1a596 View commit details
    Browse the repository at this point in the history
  5. Add a convenient way to inject rustc flags somewhere late in the boot…

    …strap pipeline without causing rebuilds
    
    Useful for -Ztreat-err-as-bug
    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    47a6a24 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f7abc1b View commit details
    Browse the repository at this point in the history
  7. More sanity checks

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    8d2b598 View commit details
    Browse the repository at this point in the history
  8. Lazily resolve type-alias-impl-trait defining uses

    by using an opaque type obligation to bubble up comparisons between opaque types and other types
    
    Also uses proper obligation causes so that the body id works, because out of some reason nll uses body ids for logic instead of just diagnostics.
    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    0f6e06b View commit details
    Browse the repository at this point in the history
  9. bless

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    9110911 View commit details
    Browse the repository at this point in the history
  10. Register member constraints on the final merged hidden type

    Previously we did this per hidden type candiate, which didn't always have all the information available.
    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    7bce50c View commit details
    Browse the repository at this point in the history
  11. Stop generating inference vars for nested impl trait and let type equ…

    …ality handle it.
    
    This means we stop supporting the case where a locally defined trait has only a single impl so we can always use that impl (see nested-tait-inference.rs).
    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    a745797 View commit details
    Browse the repository at this point in the history
  12. Eagerly merge hidden types.

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    38f50d1 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    edaf962 View commit details
    Browse the repository at this point in the history
  14. Add backcompat hack to support

    ```rust
    fn foo() -> impl MyTrait {
        panic!();
        MyStruct
    }
    
    struct MyStruct;
    trait MyTrait {}
    
    impl MyTrait for MyStruct {}
    ```
    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    64c5b9a View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    7795f62 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    77aacc1 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    cbfd736 View commit details
    Browse the repository at this point in the history
  18. Add some tests to show what happens when you compare two opaque types…

    … that are both within the defining scope
    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    5a374dc View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    3146c96 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    94d6a9a View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    2247778 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    e03edd2 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    fcba8d3 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    5b49b8e View commit details
    Browse the repository at this point in the history
  25. Remove unnecessary field

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    d35d1ef View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    b45fabd View commit details
    Browse the repository at this point in the history
  27. Undo a diff

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    dbda675 View commit details
    Browse the repository at this point in the history
  28. Simplify diff

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    d8c29b3 View commit details
    Browse the repository at this point in the history
  29. manual formatting

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    d3b534b View commit details
    Browse the repository at this point in the history
  30. Make a comment more obvious

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    dc36b38 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    3d4b9b8 View commit details
    Browse the repository at this point in the history
  32. Remove a now-useless field

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    c564898 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    e4794d9 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    b6d57ec View commit details
    Browse the repository at this point in the history
  35. undo a useless change

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    7fd9c7e View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    5518d19 View commit details
    Browse the repository at this point in the history
  37. Make a span more useful

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    4d2e965 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    29c8732 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    6560d77 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    59d0bff View commit details
    Browse the repository at this point in the history
  41. run rustfmt

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    ee2158f View commit details
    Browse the repository at this point in the history
  42. Add regression test

    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    ebf2772 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    7a1ccf9 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    bae04fb View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    7f608eb View commit details
    Browse the repository at this point in the history
  46. Only prevent TAITs from defining each other, RPIT and async are fine,…

    … they only ever have one defining site, and it is ordered correctly around expected and actual type in type comparisons
    oli-obk committed Feb 2, 2022
    Configuration menu
    Copy the full SHA
    be153f0 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    d9bb93f View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2022

  1. Configuration menu
    Copy the full SHA
    d526a8d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    80c7b61 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6807d37 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7546163 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2022

  1. Configuration menu
    Copy the full SHA
    c93f571 View commit details
    Browse the repository at this point in the history
  2. Add a test showing that we don't infer across multiple uses of the sa…

    …me opaque type but with a different order of generic arguments
    oli-obk committed Feb 7, 2022
    Configuration menu
    Copy the full SHA
    9822fff View commit details
    Browse the repository at this point in the history