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

[beta] Rollup backports #57305

Merged
merged 16 commits into from
Jan 4, 2019
Merged

[beta] Rollup backports #57305

merged 16 commits into from
Jan 4, 2019

Commits on Jan 2, 2019

  1. [BETA] Update cargo

    ehuss committed Jan 2, 2019
    Configuration menu
    Copy the full SHA
    6ce64cc View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2019

  1. Configuration menu
    Copy the full SHA
    6cd7fb7 View commit details
    Browse the repository at this point in the history
  2. [beta] Update RLS to include 100% CPU on hover bugfix

    Beta backport of a fix that already was backported to stable,
    see rust-lang#56726 and
    rust-lang/rls#1170 for the underlying RLS issue.
    
    Also includes the fix for rust-lang/rls#1154
    (respecting target-dir specified in .cargo/config for RLS artifacts).
    Xanewok committed Jan 3, 2019
    Configuration menu
    Copy the full SHA
    4c4ea59 View commit details
    Browse the repository at this point in the history
  3. Fix alignment for array indexing

    We need to reduce the alignment with the used offset. If the offset
    isn't known, we need to reduce with the element size to support
    arbitrary offsets.
    nikic authored and pietroalbini committed Jan 3, 2019
    Configuration menu
    Copy the full SHA
    f493744 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    57009e7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    073aa85 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e682333 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    00dc29b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a2c8d54 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    deb784a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4c1812b View commit details
    Browse the repository at this point in the history
  11. Ensure that Rusdoc discovers all necessary auto trait bounds

    Fixes rust-lang#50159
    
    This commit makes several improvements to AutoTraitFinder:
    
    * Call infcx.resolve_type_vars_if_possible before processing new
    predicates. This ensures that we eliminate inference variables wherever
    possible.
    * Process all nested obligations we get from a vtable, not just ones
    with depth=1.
      * The 'depth=1' check was a hack to work around issues processing
    certain predicates. The other changes in this commit allow us to
    properly process all predicates that we encounter, so the check is no
    longer necessary,
    * Ensure that we only display predicates *without* inference variables
    to the user, and only attempt to unify predicates that *have* an
    inference variable as their type.
    
    Additionally, the internal helper method is_of_param now operates
    directly on a type, rather than taking a Substs. This allows us to use
    the 'self_ty' method, rather than directly dealing with Substs.
    Aaron1011 authored and pietroalbini committed Jan 3, 2019
    Configuration menu
    Copy the full SHA
    ebf5232 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    496c674 View commit details
    Browse the repository at this point in the history
  13. Filter out self-referential projection predicates

    If we end up with a projection predicate that equates a type with
    itself (e.g. <T as MyType>::Value == <T as MyType>::Value), we can
    run into issues if we try to add it to our ParamEnv.
    Aaron1011 authored and pietroalbini committed Jan 3, 2019
    Configuration menu
    Copy the full SHA
    34f2e57 View commit details
    Browse the repository at this point in the history
  14. Fix Tidy error

    Aaron1011 authored and pietroalbini committed Jan 3, 2019
    Configuration menu
    Copy the full SHA
    9d0deac View commit details
    Browse the repository at this point in the history
  15. Call poly_project_and_unify_type on types that contain inference types

    Commit f57247c (Ensure that Rusdoc discovers all necessary auto
    trait bounds) added a check to ensure that we only attempt to unify a
    projection predicatre with inference variables. However, the check it
    added was too strict - instead of checking that a type *contains* an
    inference variable (e.g. '&_', 'MyType<_>'), it required the type to
    *be* an inference variable (i.e. only '_' would match).
    
    This commit relaxes the check to use 'ty.has_infer_types', ensuring that
    we perform unification wherever possible.
    
    Fixes rust-lang#56822
    Aaron1011 authored and pietroalbini committed Jan 3, 2019
    Configuration menu
    Copy the full SHA
    443165d View commit details
    Browse the repository at this point in the history