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

Add richer structure for Stable MIR Projections #117517

Merged
merged 8 commits into from
Nov 15, 2023

Commits on Nov 10, 2023

  1. Add stable MIR Projections support based on MIR structure

    This commit includes richer projections for both Places and
    UserTypeProjections. However, the tests only touch on Places. There are
    also outstanding TODOs regarding how projections should be resolved to
    produce Place types, and regarding if UserTypeProjections should just
    contain ProjectionElem<(),()> objects as in MIR.
    klinvill committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    b158598 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    98228e6 View commit details
    Browse the repository at this point in the history
  3. Replace match assertions against empty slices with is_empty assertions

    Asserting is_empty is slightly more concise.
    klinvill committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    30d6733 View commit details
    Browse the repository at this point in the history
  4. Remove rich UserTypeProjection projections in SMIR

    It's not clear to me (klinvill) that UserTypeProjections are produced
    anymore with the removal of type ascriptions as per
    rust-lang/rfcs#3307. Furthermore, it's not clear
    to me which variants of ProjectionElem could appear in such projections.
    For these reasons, I'm reverting projections in UserTypeProjections to
    simple strings until I can get more clarity on UserTypeProjections.
    klinvill committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    2e70d95 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    998aa38 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d517a1c View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2023

  1. Configuration menu
    Copy the full SHA
    ae1726b View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2023

  1. Make UserTypeProjection projections Opaque

    Also shifts comments explaining why Stable MIR drops an optional variant
    name field, for `Downcast` projection elements, to the `Place::stable`
    function.
    klinvill committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    c036a10 View commit details
    Browse the repository at this point in the history