Commits on Apr 17, 2015
  1. Auto merge of #24500 - pnkfelix:oflo-checked-neg, r=nikomatsakis

    bors committed Apr 17, 2015
    Add conditional overflow-checking to signed negate operator.
    I argue this can land independently of #24420 , because one can write the implementation of `wrapped_neg()` inline if necessary (as illustrated in two cases on this PR).
    This needs to go into beta channel.
  2. Auto merge of #24461 - nikomatsakis:issue-22077-unused-lifetimes, r=a…

    bors committed Apr 17, 2015
    This makes it illegal to have unconstrained lifetimes that appear in an associated type definition. Arguably, we should prohibit all unconstrained lifetimes -- but it would break various macros. It'd be good to evaluate how large a break change it would be. But this seems like the minimal change we need to do to establish soundness, so we should land it regardless. Another variant would be to prohibit all lifetimes that appear in any impl item, not just associated types. I don't think that's necessary for soundness -- associated types are different because they can be projected -- but it would feel a bit more consistent and "obviously" safe. I'll experiment with that in the meantime.
    r? @aturon 
    Fixes #22077.
  3. Fix some missing cases

    nikomatsakis committed Apr 17, 2015
  4. Augment the constrainted parameter check to ensure that all regions

    nikomatsakis committed Apr 15, 2015
    which get mentioned in an associated type are constrained.  Arguably we
    should just require that all regions are constrained, but that is more
    of a breaking change.
  5. Rewrite constrained type params code to operate generically over

    nikomatsakis committed Apr 15, 2015
    multiple kinds of parameters (regions and types, specifically)
  6. Rollup merge of #24515 - steveklabnik:gh24070, r=Gankro

    Manishearth committed Apr 17, 2015
     Fixes #24070
    or rather, fixes it even though it's already been fixed: slices are before now. But the linking is nice anyway.
  7. Rollup merge of #24510 - fhartwig:broken-links, r=nikomatsakis

    Manishearth committed Apr 17, 2015
     Fix broken links in various parts of the docs.
    I also found a dead link [here]( (the first link on the page), but the chapter of the book that it used to point at seems to be gone, and I'm not sure what should happen to that link.
  8. Rollup merge of #24494 - mvdnes:deterministic-sidebar, r=alexcrichton

    Manishearth committed Apr 17, 2015
     This ensures that later when generating HTML, the JSON will be sorted aswell.
    We now have a more deterministic build of sidebar-items.js
    Closes #24473
  9. Rollup merge of #24493 - aethanyc:fix-stackoverflow-link, r=steveklabnik

    Manishearth committed Apr 17, 2015
     The document does not display properly if the link id contains a space.
  10. Rollup merge of #23782 - mvdnes:obsolete_note, r=alexcrichton

    Manishearth committed Apr 17, 2015
     When emmitting a note, previously it was not known if the note was for an error or a
    warning. If it was for a warning, then with `-Awarnings` it should not have been print.
    The `emit_for` function allows someone to specify which level should determine its visibility.
    An example:
    extern crate \"std\" as std2;
    fn main() {}
    When compiling with `-Awarnings`, this would previously emit `note: use an identifier not in quotes instead` (and nothing else).
    With this patch, it will be completely silent as expected.
  11. Rollup merge of #24491 - bluss:rangefull-debug, r=huonw

    Manishearth committed Apr 17, 2015
     Fix Debug impl for RangeFull
    The Debug impl was using quotes, which was inconsistent:
        => (.., 1.., 2..3, ..4)
        (\"..\", 1.., 2..3, ..4)
    Fix to use just ..
  12. Rollup merge of #24454 - aochagavia:debug, r=alexcrichton

    Manishearth committed Apr 17, 2015
     Implement `Debug`, `Display` and `Error` for `FatalError` and `ExplicitBug`
  13. Rollup merge of #24430 - laumann:trace-macros-flag, r=pnkfelix

    Manishearth committed Apr 17, 2015
     This is the second attempt at turning the trace_macros macro into a compiler flag.
    See #22619
  14. factor out useful helper.

    pnkfelix committed Apr 15, 2015
  15. Auto merge of #24422 - pnkfelix:typeck-highlevel-before-bodies, r=nik…

    bors committed Apr 17, 2015
    typeck: Do high-level structural/signature checks before function body checks.
    This avoids various ICEs, e.g. premature calls to cat_expr that yield the dreaded "cat_expr Errd" ICE.
    However, it also means that some early error feedback is now not provided.  This may be for the best, because the error feedback were were providing in some of those cases were false positives -- it was spurious feedback and a distraction from the real problem.
    So it is not 100% clear whether we actually want to put this change in or not.  I think its a net win, but others might disagree.
    (Kudos to @arielb1 for suggesting this modification.)