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

Blanket impls for &F/&mut F where F: Fn/F:FnMut respectively #23895

Merged

Commits on Mar 31, 2015

  1. Configuration menu
    Copy the full SHA
    0939837 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4b0edb9 View commit details
    Browse the repository at this point in the history
  3. Refactor unification interface by moving the methods off of inferctxt…

    … and onto the
    
    `UnificationTable`, and renaming/collapsing some methods.
    nikomatsakis committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    7c62640 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c581840 View commit details
    Browse the repository at this point in the history
  5. Extract more ty and infer dependencies from the unification engine

    so that it is closer to standalone.
    nikomatsakis committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    a6d9930 View commit details
    Browse the repository at this point in the history
  6. Switch to FnvHashMap

    nikomatsakis committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    e78550b View commit details
    Browse the repository at this point in the history
  7. Remove unused import

    nikomatsakis committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    e301d7c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8403b82 View commit details
    Browse the repository at this point in the history
  9. Add a "match" relation that can be used to make recursion check during

    trait matching more tailored. We now detect recursion where the
    obligations "match" -- meaning basically that they are the same for some
    substitution of any unbound type variables.
    nikomatsakis committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    cead47c View commit details
    Browse the repository at this point in the history
  10. A very simple hack to force an autoderef if the callee has type `&mut

    F`, so that if we have `x: &mut FnMut()`, then `x()` is translated to
    `FnMut::call_mut(&mut *x, ())` rather than `&mut x`. The latter would
    require `mut x: &mut FnMut()`, which is really a lot of mut. (Actually,
    the `mut` is normally required except for the special case of a `&mut F`
    reference, because that's the one case where we distinguish a unique
    path like `x` from a mutable path.)
    nikomatsakis committed Mar 31, 2015
    Configuration menu
    Copy the full SHA
    cdb10b8 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    27b7841 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    11111bb View commit details
    Browse the repository at this point in the history