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 backport rollup #56102

Merged
merged 31 commits into from
Nov 21, 2018
Merged

beta backport rollup #56102

merged 31 commits into from
Nov 21, 2018

Commits on Nov 19, 2018

  1. Add helpful logging statements.

    This commit adds logging statements to `promote_consts` and
    `qualify_consts` to make it easier to understand what it is doing.
    davidtwco authored and pietroalbini committed Nov 19, 2018
    Configuration menu
    Copy the full SHA
    bd27131 View commit details
    Browse the repository at this point in the history
  2. Test for cast causing static promotion failure.

    This commit adds a test that ensures that a cast in a static doesn't
    stop const promotion within the static.
    davidtwco authored and pietroalbini committed Nov 19, 2018
    Configuration menu
    Copy the full SHA
    6c1d718 View commit details
    Browse the repository at this point in the history
  3. Refactor and add PlaceContext::AscribeUserTy.

    This commit refactors `PlaceContext` to split it into four different
    smaller enums based on if the context represents a mutating use,
    non-mutating use, maybe-mutating use or a non-use (this is based on the
    recommendation from @oli-obk on Zulip[1]).
    
    This commit then introduces a `PlaceContext::AscribeUserTy` variant.
    `StatementKind::AscribeUserTy` is now correctly mapped to
    `PlaceContext::AscribeUserTy` instead of `PlaceContext::Validate`.
    `PlaceContext::AscribeUserTy` can also now be correctly categorized as a
    non-use which fixes an issue with constant promotion in statics after a
    cast introduces a `AscribeUserTy` statement.
    
    [1]: https://rust-lang.zulipchat.com/#narrow/stream/122657-wg-nll/subject/.2355288.20cast.20fails.20to.20promote.20to.20'static/near/136536949
    davidtwco authored and pietroalbini committed Nov 19, 2018
    Configuration menu
    Copy the full SHA
    0c3dfe1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8a6f4c8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    410f520 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    84afecc View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0a26e79 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    9ab3b0f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4541827 View commit details
    Browse the repository at this point in the history
  10. Increase Duration approximate equal threshold to 1us

    Previously this threshold when testing was 100ns, but the Windows
    documentation states:
    
    > which is a high resolution (<1us) time stamp
    
    which presumably means that we could have up to 1us resolution, which
    means that 100ns doesn't capture "equivalent" time intervals due to
    various bits of rounding here and there.
    
    It's hoped that this..
    
    Closes rust-lang#56034
    alexcrichton authored and pietroalbini committed Nov 19, 2018
    Configuration menu
    Copy the full SHA
    1d1213f View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2018

  1. squashed form of rust-lang#54145

    Give each PathSegment a NodeId
    
    Store a resolved def on hir::PathSegment
    
    save-analysis: remove hacky, unnecessary code now that we have spans for every ident
    
    dump data for prefix path segments
    
    dump refs for path segments in save-analysis
    
    Requires adding path segments to the hir map
    
    Fix tests and rustdoc
    
    save-analysis: handle missing field names
    
    FIxes rust-lang/rls#1031
    
    rebasing and reviewer changes
    
    Primarily refactoring `(Ident, Option<NodeId>)` to `Segment`
    
    Fix tests and assertions; add some comments
    
    more reviewer changes
    nrc authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    e2a9ee4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    14bf347 View commit details
    Browse the repository at this point in the history
  3. save analysis: don't dump macro refs

    nrc authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    beb61b4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9201260 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0af0260 View commit details
    Browse the repository at this point in the history
  6. save-analysis: fallback to using path id

    nrc authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    396e009 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    90580ca View commit details
    Browse the repository at this point in the history
  8. Add temporary renames to manifests for rustfmt/clippy

    This will be part of our strategy for shipping renamed versions of these
    components for the Rust 2018 edition.
    
    Closes rust-lang#55967
    alexcrichton authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    ddeb85f View commit details
    Browse the repository at this point in the history
  9. revert

    newpavlov authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    c8feb63 View commit details
    Browse the repository at this point in the history
  10. tests

    newpavlov authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    224eb83 View commit details
    Browse the repository at this point in the history
  11. fix test

    newpavlov authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    beaf59f View commit details
    Browse the repository at this point in the history
  12. Fix stability hole with static _

    oli-obk authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    a830c06 View commit details
    Browse the repository at this point in the history
  13. Update stderr file

    oli-obk authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    46dd614 View commit details
    Browse the repository at this point in the history
  14. Updated RELEASES.md for 1.31.0

    Aaron Power authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    feede07 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    74bcc4c View commit details
    Browse the repository at this point in the history
  16. Fix Rustdoc ICE when checking blanket impls

    Fixes rust-lang#55001, rust-lang#54744
    
    Previously, SelectionContext would unconditionally cache the selection
    result for an obligation. This worked fine for most users of
    SelectionContext, but it caused an issue when used by Rustdoc's blanket
    impl finder.
    
    The issue occured when SelectionContext chose a ParamCandidate which
    contained inference variables. Since inference variables can change
    between calls to select(), it's not safe to cache the selection result -
    the chosen candidate might not be applicable for future results, leading
    to an ICE when we try to run confirmation.
    
    This commit prevents SelectionContext from caching any ParamCandidate
    that contains inference variables. This should always be completely
    safe, as trait selection should never depend on a particular result
    being cached.
    
    I've also added some extra debug!() statements, which I found helpful in
    tracking down this bug.
    Aaron1011 authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    01e090d View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    0f84c8e View commit details
    Browse the repository at this point in the history
  18. Update RLS and Rustfmt

    nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    5ea8c58 View commit details
    Browse the repository at this point in the history
  19. Update the cargo_metadata dependency

    Needed by rustfmt!
    alexcrichton committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    8129c41 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    e6c93e7 View commit details
    Browse the repository at this point in the history
  21. Add a couple more tests

    petrochenkov authored and nikomatsakis committed Nov 20, 2018
    Configuration menu
    Copy the full SHA
    93704f2 View commit details
    Browse the repository at this point in the history