Permalink
Commits on May 9, 2016
  1. Auto merge of #33048 - Amanieu:integer_atomics, r=alexcrichton

    Add integer atomic types
    
    Tracking issue: #32976
    RFC: rust-lang/rfcs#1543
    
    The changes to AtomicBool in the RFC are not included, they are in a separate PR (#32365).
    bors committed May 9, 2016
  2. Auto merge of #33484 - murarth:diagnostic-builder-fields, r=brson

    Add accessor methods to DiagnosticBuilder
    bors committed May 9, 2016
  3. Add new atomic integer types

    Amanieu committed Apr 16, 2016
  4. Auto merge of #33478 - xen0n:normalize-callee-trait-ref, r=eddyb

    trans: callee: normalize trait_ref before use
    
    This fixes #33436 and #33461. Ran the tests and nothing else seems to be affected.
    
    P.S. How to write the regression test for this fix? Does this qualify as run-pass or run-make, as the test only needs to be successfully compiled to be considered passed? Will add the testcase (the minimal example in #33461 seems fit) after clarifying this.
    bors committed May 9, 2016
  5. Auto merge of #33365 - birkenfeld:makehelpfix, r=alexcrichton

    Makefile: there is only one tidy target now
    
    Also removes mention of tidy.py from the tidy sources.
    bors committed May 9, 2016
  6. Auto merge of #33360 - alexcrichton:rustbuild-dox, r=brson

    rustbuild: Document many more parts of the build
    
    This commit expands the bootstrap build system's `README.md` as well as ensuring
    that all API documentation is present and up-to-date. Additionally a new
    `config.toml.example` file is checked in with commented out versions of all
    possible configuration values.
    bors committed May 9, 2016
Commits on May 8, 2016
  1. Auto merge of #33288 - cyplo:32834_retry_download, r=alexcrichton

    Get a file during bootstrap to a temp location first.
    
    When downloading a file in the bootstrap phase - get it to a temp
    location first. Verify it there and only if downloaded properly move it
    to the `cache` directory.
    
    This should prevent `make` being stuck if the download was interrupted
    or otherwise corrupted, as per discussion in #32834
    
    The temporary files are deleted in case of an exception.
    
    I was looking for some unit/integration tests around this and couldn't find any - presumably because this is being tested by just Travis launching it ? Let me know if it would be good to try to write tests around this. Thanks !
    bors committed May 8, 2016
  2. Auto merge of #33414 - Nercury:master, r=alexcrichton

    Add armv7-linux-androideabi target
    
    This PR adds `armv7-linux-androideabi` target that matches `armeabi-v7a` Android ABI, ~~downscales `arm-linux-androideabi` target to match `armeabi` Android ABI~~ (TBD later if needed).
    
    This should allow us to get the best performance from every [Android ABI level](http://developer.android.com/ndk/guides/abis.html).
    
    Currently existing target `arm-linux-androideabi` started gaining features out of the supported range of [android `armeabi`](http://developer.android.com/ndk/guides/abis.html). While android compiler does not use a different target for later supported `armv7` architecture, it has distinct ABI name `armeabi-v7a`. We decided to add rust target `armv7-linux-androideabi` to match it.
    
    Note that `NEON`, `VFPv3-D32`, and `ThumbEE` instruction sets are not added, because not all android devices are guaranteed to support all or some of these, and [their availability should be checked at runtime](http://developer.android.com/ndk/guides/abis.html#v7a).
    
    ~~This reduces performance of existing `arm-linux-androideabi` and may make it _much_ slower (we are talking more than order of magnitude in some random ad-hoc fp benchmark that I did).~~
    
    Part of #33278.
    bors committed May 8, 2016
  3. Auto merge of #33494 - Manishearth:rollup, r=Manishearth

    Rollup of 8 pull requests
    
    - Successful merges: #33369, #33373, #33404, #33406, #33420, #33424, #33426, #33473
    - Failed merges:
    bors committed May 8, 2016
  4. Rollup merge of #33426 - sfackler:try-from, r=aturon

    Implement RFC 1542
    
    cc #33417
    
    r? @aturon
    Manishearth committed May 8, 2016
  5. Rollup merge of #33424 - semarie:dist, r=alexcrichton

    make dist: specify the archive file as stdout
    
    If the `-f` option isn't given, GNU tar will use environment variable
    `TAPE` first, and next use the compiled-in default, which isn't
    necessary `stdout` (it is the tape device `/dev/rst0` under OpenBSD for
    example).
    Manishearth committed May 8, 2016
  6. Rollup merge of #33420 - durka:patch-20, r=alexcrichton

    implement RFC 1521
    
    Adds documentation to Clone, specifying that Copy types should have a trivial Clone impl.
    
    Fixes #33416.
    
    I tried to use "should" and "must" as defined [here](https://tools.ietf.org/html/rfc2119).
    
    cc @ubsan
    Manishearth committed May 8, 2016
  7. Rollup merge of #33406 - Manishearth:diag-improve-const-let, r=Guilla…

    …umeGomez
    
    Improve diagnostics for constants being used in irrefutable patterns
    
    It's pretty confusing and this error triggers in resolve only when "shadowing" a const, so let's make that clearer.
    
    r? @steveklabnik
    Manishearth committed May 8, 2016
  8. Rollup merge of #33404 - gsquire:cargo-lock, r=alexcrichton

    Cargo lock tidy check
    
    A rebased PR for #32901
    Manishearth committed May 8, 2016
  9. Rollup merge of #33373 - birkenfeld:issue-32555, r=bluss

    rustdoc: use btree map for where clauses
    
    to get more reproducible output.
    
    Fixes: #32555
    
    I've looked at the other uses of HashMap in rustdoc, and they seem ok to (i.e. they use `iter()` and related only for constructing a new map, or when the output goes into independent files).
    
    Not sure what the cause of #24473 is, it shouldn't be where clauses, but maybe it was also fixed inbetween since May 2015.
    Manishearth committed May 8, 2016
  10. Rollup merge of #33369 - nikomatsakis:graceful-empty-span, r=jntrnr

    degrade gracefully with empty spans
    
    In rust-lang#32756, we solved the final test failure, but digging more into it the handling of that scenario could be better. The error was caused by an empty span supplied by the parser representing EOF. This patch checks that we cope more gracefully with such spans:
    
    r? @jonathandturner
    Manishearth committed May 8, 2016
  11. Auto merge of #33091 - sanxiyn:unused-trait-import-3, r=nrc

    Warn unused trait imports, rebased
    
    Rebase of #30021.
    
    Fix #25730.
    bors committed May 8, 2016
  12. Auto merge of #33403 - alexcrichton:consistent-env, r=brson

    rustc: Change target_env for ARM targets to `gnu`
    
    Right now they're `gnueabihf` and `gnueabi`, but when adding new platforms like
    musl on ARM it's unfortunate to have to test for all three (`musl`, `musleabi`,
    and `musleabihf`). This PR switches everything currently to `gnu`, and the new
    musl targets can also use `musl` when they land.
    
    Closes #33244
    bors committed May 8, 2016
  13. Better error handling for bootstrap file downloads.

    Remove the temp files if something goes wrong.
    cyplo committed May 8, 2016
  14. Auto merge of #33130 - eddyb:mir-const, r=nikomatsakis

    Implement constant support in MIR.
    
    All of the intended features in `trans::consts` are now supported by `mir::constant`.
    The implementation is considered a temporary measure until `miri` replaces it.
    
    A `-Z orbit` bootstrap build will only translate LLVM IR from AST for `#[rustc_no_mir]` functions.
    
    Furthermore, almost all checks of constant expressions have been moved to MIR.
    In non-`const` functions, trees of temporaries are promoted, as per RFC 1414 (rvalue promotion).
    Promotion before MIR borrowck would allow reasoning about promoted values' lifetimes.
    
    The improved checking comes at the cost of four `[breaking-change]`s:
    * repeat counts must contain a constant expression, e.g.:
    `let arr = [0; { println!("foo"); 5 }];` used to be allowed (it behaved like `let arr = [0; 5];`)
    * dereference of a reference to a `static` cannot be used in another `static`, e.g.:
    `static X: [u8; 1] = [1]; static Y: u8 = (&X)[0];` was unintentionally allowed before
    * the type of a `static` *must* be `Sync`, irrespective of the initializer, e.g.
    `static FOO: *const T = &BAR;` worked as `&T` is `Sync`, but it shouldn't because `*const T` isn't
    * a `static` cannot wrap `UnsafeCell` around a type that *may* need drop, e.g.
    `static X: MakeSync<UnsafeCell<Option<String>>> = MakeSync(UnsafeCell::new(None));`
    was previously allowed based on the fact `None` alone doesn't need drop, but in `UnsafeCell`
    it can be later changed to `Some(String)` which *does* need dropping
    
    The drop restrictions are relaxed by RFC 1440 (#33156), which is implemented, but feature-gated.
    However, creating `UnsafeCell` from constants is unstable, so users can just enable the feature gate.
    bors committed May 8, 2016
Commits on May 7, 2016
  1. Auto merge of #33487 - steveklabnik:rollup, r=steveklabnik

    Rollup of 20 pull requests
    
    - Successful merges: #33256, #33283, #33313, #33314, #33326, #33336, #33382, #33384, #33402, #33409, #33410, #33412, #33428, #33430, #33437, #33438, #33439, #33442, #33456, #33459
    - Failed merges:
    bors committed May 7, 2016
  2. Rollup merge of #33459 - frewsxcv:patch-29, r=guillaumegomez

    Indicate struct names are code-like in doc-comment.
    steveklabnik committed May 7, 2016
  3. Rollup merge of #33456 - CryZe:barrier-wait-docs, r=GuillaumeGomez

    Fix Typo in Barrier::wait documentation
    
    This should be `have` instead of `has`.
    steveklabnik committed May 7, 2016
  4. Rollup merge of #33442 - tshepang:trim, r=steveklabnik

    doc: trim some needless code
    steveklabnik committed May 7, 2016
  5. Rollup merge of #33439 - birkenfeld:ip-rfc-refs, r=steveklabnik

    doc: make RFC references consistent
    
    Always add a space and end sentence with a full stop.
    steveklabnik committed May 7, 2016
  6. Rollup merge of #33438 - birkenfeld:dup-words, r=steveklabnik

    Fix some some duplicate words.
    steveklabnik committed May 7, 2016
  7. Rollup merge of #33437 - brson:trips, r=Manishearth

    doc: Update reference with better description of target_env
    
    The definition of this value recently changed slightly. It no
    longer corresponds directly to the target triple.
    
    Also shuffled things around to make the order of cfg descriptions more
    logical and added text related them to the target triple.
    
    cc #33403
    steveklabnik committed May 7, 2016
  8. Rollup merge of #33428 - fiveop:wrapping_example, r=steveklabnik

    Add an example to Wrapping's documentation.
    
    Such an example would have helped me understand `Wrapping` quicker.
    
    r? @steveklabnik
    steveklabnik committed May 7, 2016
  9. Rollup merge of #33412 - cramertj:E0389, r=Manishearth

    Add detailed error explanation for E0389
    
    Part of #32777
    steveklabnik committed May 7, 2016