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

Remove promotion candidate gathering and checking from qualify_consts.rs #66066

Merged

Commits on Nov 6, 2019

  1. Remove valid_promotion_candidates

    We no longer compare the results of
    `promote_consts::validate_candidates` with
    `checker.promotion_candidates`, and `promote_consts` becomes the
    canonical source for determining promotability.
    ecstatic-morse committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    328a898 View commit details
    Browse the repository at this point in the history
  2. Remove promotion_candidates from Checker

    Also removes any code used only to populate `promotion_candidates`
    during const checking.
    ecstatic-morse committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    383eb01 View commit details
    Browse the repository at this point in the history
  3. Remove IsNotPromotable and IsNotImplicitlyPromotable

    The former was cleared from `qualifs_in_return_place`, and the latter
    was never checked. `QUALIF_ERROR_BIT` no longer corresponds to a real
    `Qualif`, however.
    ecstatic-morse committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    a9b1abe View commit details
    Browse the repository at this point in the history
  4. Add test for promotability in let

    The old const-checker conservatively reset qualifs when
    `IsNotPromotable` was in the return place. Unfortunately, named
    variables have `IsNotPromotable`, so this could cause promotion to fail.
    This should work now.
    ecstatic-morse committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    ec5ba54 View commit details
    Browse the repository at this point in the history