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

nll part 5 #46733

Merged
merged 25 commits into from
Dec 20, 2017
Merged

nll part 5 #46733

merged 25 commits into from
Dec 20, 2017

Commits on Dec 15, 2017

  1. Configuration menu
    Copy the full SHA
    86334c7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a0f0392 View commit details
    Browse the repository at this point in the history
  3. only propagate ClosureRegionRequirements if non-trivial

    Before, we would always have a `Some` ClosureRegionRequirements if we
    were inferring values for a closure. Now we only do is it has a
    non-empty set of outlives requirements.
    nikomatsakis committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    cd564d2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6193c5c View commit details
    Browse the repository at this point in the history
  5. dfs.rs: rustfmt

    nikomatsakis committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    fad3d1d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1c57468 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ebd086b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4a940b3 View commit details
    Browse the repository at this point in the history
  9. move some parts of liveness to happen during type checking

    This allows us to re-use the `normalize` method on `TypeCheck`, which
    is important since normalization may create fresh region
    variables. This is not an ideal solution, though, since the current
    representation of "liveness constraints" (a vector of (region, point)
    pairs) is rather inefficient. Could do somewhat better by converting
    to indices, but it'd still be less good than the older code. Unclear
    how important this is.
    nikomatsakis committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    47c1921 View commit details
    Browse the repository at this point in the history
  10. mild refactors of the control flow (no functional changes)

    In the future, `check_type_tests` will also potentially propagate
    constriants to its caller.
    nikomatsakis committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    02e6525 View commit details
    Browse the repository at this point in the history
  11. rework region flags: 'static can be erased too

    The existing flags did not consider `'static` to be "free". This then
    fed into what was "erasable" -- but `'static` is most certainly
    erasable.
    nikomatsakis committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    154cd94 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    c7cfa23 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    5804637 View commit details
    Browse the repository at this point in the history
  14. propagate type tests from closure to closure creators

    Currently, we only propagate type tests that exclude all regions from
    the type.
    nikomatsakis committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    85e1d47 View commit details
    Browse the repository at this point in the history
  15. add a new RegionKind variant: ReClosureBound

    This is needed to allow the `ClosureRegionRequirements` to capture
    types that include regions.
    nikomatsakis committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    3a5842a View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3fcb13a View commit details
    Browse the repository at this point in the history
  17. impose inputs/ouputs on MIR after the fact

    The input/output types found in `UniversalRegions` are not normalized.
    The old code used to assign them directly into the MIR, which would
    lead to errors when there was a projection in a argument or return
    type. This also led to some special cases in the `renumber` code.
    
    We now renumber uniformly but then pass the input/output types into
    the MIR type-checker, which equates them with the types found in MIR.
    This allows us to normalize at the same time.
    nikomatsakis committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    e9824c5 View commit details
    Browse the repository at this point in the history
  18. add a test regarding relating closure and fn generics

    Turns out this works but we had no test targeting it.
    nikomatsakis committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    a118afe View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    0d6bd42 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    0f8ef0c View commit details
    Browse the repository at this point in the history
  21. stop dumping DefPath into "failed type test" errors

    The prior messages were not stable across platforms.
    nikomatsakis committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    4f43c5b View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2017

  1. Configuration menu
    Copy the full SHA
    03bfb0f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3c56c36 View commit details
    Browse the repository at this point in the history
  3. remove dead is_foo_free_region helpers

    Only `is_local_free_region` is used.
    nikomatsakis committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    3d826e5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1816ede View commit details
    Browse the repository at this point in the history