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

Rollup of 38 pull requests #40432

Merged
merged 46 commits into from
Mar 11, 2017
Merged

Rollup of 38 pull requests #40432

merged 46 commits into from
Mar 11, 2017

Commits on Feb 25, 2017

  1. Configuration menu
    Copy the full SHA
    8a64cf7 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2017

  1. Configuration menu
    Copy the full SHA
    edf5dc6 View commit details
    Browse the repository at this point in the history
  2. fix emscripten test detection

    TimNN committed Mar 9, 2017
    Configuration menu
    Copy the full SHA
    4eeede3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    da6e7c8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    57c989c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3e2390f View commit details
    Browse the repository at this point in the history
  6. rustbuild: expose LLVM_PARALLEL_LINK_JOBS

    This allows limiting the number of linker jobs to avoid swapping when
    linking LLVM with debug info.
    Robin Kruppe committed Mar 9, 2017
    Configuration menu
    Copy the full SHA
    58ff4f6 View commit details
    Browse the repository at this point in the history
  7. Implement placement-in protocol for and VecDeque

    Charlie Fan authored and F001 committed Mar 9, 2017
    Configuration menu
    Copy the full SHA
    8062cfb View commit details
    Browse the repository at this point in the history
  8. Clean up rustdoc css

    GuillaumeGomez committed Mar 9, 2017
    Configuration menu
    Copy the full SHA
    4078b25 View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2017

  1. travis: Attempt to debug sccache failures

    I can't find anything that'd cause unexpected EOF in the source, so let's try
    taking a look at the error logs on failures.
    alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    a8cacd3 View commit details
    Browse the repository at this point in the history
  2. Point to enclosing block/fn on nested unsafe

    When declaring nested unsafe blocks (`unsafe {unsafe {}}`) that trigger
    the "unnecessary `unsafe` block" error, point out the enclosing `unsafe
    block` or `unsafe fn` that makes it unnecessary.
    estebank authored and alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    ac2bc7c View commit details
    Browse the repository at this point in the history
  3. Export attributes in save-analysis data

    Some annotations like the "test" annotations might be of interest for
    other projects, especially rls. Export all attributes in a new
    attributes item.
    jonasbb authored and alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    a07c9a2 View commit details
    Browse the repository at this point in the history
  4. Store attributes as strings

    Remove the AST structure
    jonasbb authored and alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    203d227 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    db35604 View commit details
    Browse the repository at this point in the history
  6. Remove ability for plugins to register a MIR pass

    In recent months there have been a few different people investigating how to make a plugin that
    registers a MIR-pass – one that isn’t intended to be eventually merged into rustc proper.
    
    The interface to register MIR passes was added primarily for miri (& later was
    found to make prototyping of rustc-proper MIR passes a tiny bit faster). Since miri does not use
    this interface anymore it seems like a good time to remove this "feature".
    
    For prototyping purposes a similar interface can be added by developers themselves in their custom
    rustc build.
    nagisa authored and alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    4ca9c97 View commit details
    Browse the repository at this point in the history
  7. Support armhf abi on 64-bit ARM cpus

    They report their `uname -m` as armv8l rather than aarch64.
    
    Patch originally by Matthias Klose <doko@debian.org>
    infinity0 authored and alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    0a55c8e View commit details
    Browse the repository at this point in the history
  8. Fix incorrect span label formatting

    estebank authored and alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    7b0dd7b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5afe784 View commit details
    Browse the repository at this point in the history
  10. rustc: Exit quickly on only --emit dep-info

    This commit alters the compiler to exit quickly if the only output being emitted
    is `dep-info`, which doesn't need a lot of other information to generate.
    
    Closes rust-lang#40328
    alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    5c8aa74 View commit details
    Browse the repository at this point in the history
  11. travis: Fuchsia builder

    This change introduces a Dockerfile and script which builds a complete
    Fuchsia toolchain which can be used to build Rust distribution for
    Fuchsia. We only support cross-compiling at the moment, hence only
    setting the target.
    petrhosek authored and alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    9a84611 View commit details
    Browse the repository at this point in the history
  12. OsString::shrink_to_fit.

    clarfonthey committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    83814fd View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    384ee48 View commit details
    Browse the repository at this point in the history
  14. travis: Remove compiling OpenSSL through homebrew

    I don't believe that we need this any more now that `cargo-vendor` isn't
    installed to create a source tarball (that only happens on Linux)
    alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    dcfc7ee View commit details
    Browse the repository at this point in the history
  15. Don't put Cargo into the rustc workspace

    This causes problems when first cloning and bootstrapping the repository
    unfortunately, so let's ensure that Cargo sticks around in its own workspace.
    Because Cargo is a submodule it's not available by default on the inital clone
    of the rust-lang/rust repository. Normally it's the responsibility of the
    rustbuild to take care of this, but unfortunately to build rustbuild itself we
    need to resolve the workspace conflicts.
    
    To deal with this we'll just have to ensure that all submodules are in their own
    workspace, which sort of makes sense anyway as updates to dependencies as
    bugfixes to Cargo should go to rust-lang/cargo instead of rust-lang/rust. In any
    case this commit removes Cargo from the global workspace which should resolve
    the issues that we've been seeing.
    
    To actually perform this the `cargo` submodule has been moved to the top
    directory to ensure it's outside the scope of `src/Cargo.toml` as a workspace.
    alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    c65996e View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#39202 - estebank:nested-unsafe, r=jonathand…

    …turner
    
    Point to enclosing block/fn on nested unsafe
    
    When declaring nested unsafe blocks (`unsafe {unsafe {}}`) that trigger
    the "unnecessary `unsafe` block" error, point out the enclosing `unsafe
    block` or `unsafe fn` that makes it unnecessary.
    
    <img width="621" alt="" src="https://cloud.githubusercontent.com/assets/1606434/22139922/26ad468a-de9e-11e6-8884-2945be882ea8.png">
    
    Fixes rust-lang#39144.
    alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    d335c0a View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#39820 - jonasbb:export-attributes, r=nrc

    Export attributes in save-analysis data
    
    Since this is my first pull-request to rust, I would like to get some feedback about obvious errors in this implementation.
    
    I would like to change the save-analysis data to include arbitrary attribute data.
    A use-case I have in mind for this is identifying functions with `#[test]` annotations such that tools like rls can offer a test-runner feature. I described my idea here [rls#173](rust-lang/rls#173).
    
    My changes contain:
    
    1. track a vector of attributes in the various `*Data` types in `data.rs` and `external_data.rs`
    2. implement lowering for `Attribute` and `MetaItem`
    3. adjust `JsonDumper` to print the attributes
    
    In the lowering of `Attribute` I remove the distinction between `MetaItem` and `NestedMetaItem`. I did this because this distinction is somewhat confusing. For example, `NestedMetaItemKind::Literal` has two identical spans, because both `NestedMetaItem` and `Lit` are defined as `Spanned<_>`.
    My model is strictly more general, as it allows an `LitKind` instead of a `Symbol` for `MetaItem` and `Symbol`s are converted into a cooked string. As a consumer of the save-analysis data this shouldn't affect you much.
    
    Example json output of `#[test]` annotation:
    ```
    "attributes": [
      {
        "value": {
          "name": {
            "variant": "Str",
            "fields": [
              "test",
              "Cooked"
            ]
          },
          "kind": "Literal",
          "span": {
            "file_name": "test.rs",
            "byte_start": 2,
            "byte_end": 6,
            "line_start": 1,
            "line_end": 1,
            "column_start": 3,
            "column_end": 7
          }
        },
        "span": {
          "file_name": "test.rs",
          "byte_start": 0,
          "byte_end": 7,
          "line_start": 1,
          "line_end": 1,
          "column_start": 1,
          "column_end": 8
        }
      }
    ]
    ```
    alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    3b7a534 View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#39918 - petrhosek:fuchsia-ci, r=alexcrichton

    travis: Fuchsia builder
    
    This change introduces a Dockerfile and script which builds a complete
    Fuchsia toolchain which can be used to build Rust distribution for
    Fuchsia. We only support cross-compiling at the moment, hence only
    setting the target.
    alexcrichton committed Mar 10, 2017
    Configuration menu
    Copy the full SHA
    b92073d View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2017

  1. Rollup merge of rust-lang#40092 - sinkuu:fix_suggestion_index, r=pnkf…

    …elix
    
    Fix suggestion span error with a line containing multibyte characters
    
    This PR fixes broken suggestions caused by multibyte characters.
    
    e.g. for this code, rustc provides a broken suggestion ([playground](https://is.gd/DWGLu7)):
    
    ```rust
    fn main() {
        let tup = (1,);
        println!("☃{}", tup[0]);
    }
    ```
    
    ```
    error: cannot index a value of type `({integer},)`
     --> <anon>:3:21
      |
    3 |     println!("☃{}", tup[0]);
      |                     ^^^^^^
      |
    help: to access tuple elements, use tuple indexing syntax as shown
      |     println!("☃{}"tup.00]);
    
    error: aborting due to previous error
    ```
    
    `CodeSuggestion::splice_lines` is misusing `Loc.col` (`CharPos`) as a byte offset when slicing source.
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    da994cd View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#40225 - shepmaster:restore-build-date-file,…

    … r=alexcrichton
    
    Restore creating the channel-rust-$channel-date.txt files
    
    I have **not** run this (because I don't know how to 😇), but it *does* compile.
    
    r? @alexcrichton
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    37265d8 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#40239 - nagisa:death-to-plugins, r=nikomats…

    …akis
    
    Remove ability for plugins to register a MIR pass
    
    In recent months there have been a few different people investigating how to make a plugin that
    registers a MIR-pass – one that isn’t intended to be eventually merged into rustc proper.
    
    The interface to register MIR passes was added primarily for miri (& later was
    found to make prototyping of rustc-proper MIR passes a tiny bit faster). Since miri does not use
    this interface anymore it seems like a good time to remove this "feature".
    
    For prototyping purposes a similar interface can be added by developers themselves in their custom
    rustc build.
    
    cc @nikomatsakis
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    5377eab View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#40259 - TimNN:fix-emscripten-tests, r=alexc…

    …richton
    
    Fix emscripten test detection
    
    Without this change `rustbuild` will attempt to run `.js.map` files (if they exist) resulting in lots of sadness.
    
    r? @alexcrichton
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    5c715de View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#40261 - infinity0:patch-1, r=alexcrichton

    Support armhf abi on 64-bit ARM cpus
    
    They report their `uname -m` as armv8l rather than aarch64.
    
    Patch originally by Matthias Klose <doko@debian.org>
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    0ce745b View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#40277 - rkruppe:llvm-parallel-link-jobs, r=…

    …alexcrichton
    
    rustbuild: expose LLVM_PARALLEL_LINK_JOBS
    
    This allows limiting the number of linker jobs to avoid swapping when linking LLVM with debug info.
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    416889f View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#40278 - GuillaumeGomez:css-cleanup, r=frewsxcv

    Clean up rustdoc css
    
    r? @rust-lang/docs
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    dcc24b1 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#40287 - estebank:label-overlap, r=nrc

    Fix incorrect span label formatting
    
    Fix rust-lang#40157.
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    c253eb2 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#40297 - alexcrichton:fix-submodules, r=brson

    Don't put Cargo into the rustc workspace
    
    This causes problems when first cloning and bootstrapping the repository
    unfortunately, so let's ensure that Cargo sticks around in its own workspace.
    Because Cargo is a submodule it's not available by default on the inital clone
    of the rust-lang/rust repository. Normally it's the responsibility of the
    rustbuild to take care of this, but unfortunately to build rustbuild itself we
    need to resolve the workspace conflicts.
    
    To deal with this we'll just have to ensure that all submodules are in their own
    workspace, which sort of makes sense anyway as updates to dependencies as
    bugfixes to Cargo should go to rust-lang/cargo instead of rust-lang/rust. In any
    case this commit removes Cargo from the global workspace which should resolve
    the issues that we've been seeing.
    
    To actually perform this the `cargo` submodule has been moved to a new `vendor`
    directory to ensure it's outside the scope of `src/Cargo.toml` as a workspace.
    
    Closes rust-lang#40284
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    ac1bbf7 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#40311 - nrc:save-proc-macro-attr, r=jseyfried

    Expect macro defs in save-analysis and add expn info to spans for att…
    
    …r proc macros
    
    r? @jseyfried
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    755877d View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#40324 - alexcrichton:sccache-errors, r=aturon

    travis: Attempt to debug sccache failures
    
    I can't find anything that'd cause unexpected EOF in the source, so let's try
    taking a look at the error logs on failures.
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    c1c3b09 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#40336 - alexcrichton:fast-dep-info, r=nrc

    rustc: Exit quickly on only `--emit dep-info`
    
    This commit alters the compiler to exit quickly if the only output being emitted
    is `dep-info`, which doesn't need a lot of other information to generate.
    
    Closes rust-lang#40328
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    2b1d1bb View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#40379 - clarcharr:box_docs, r=brson

    Box docs: no allocation is done for ZSTs.
    
    Updated to add a small bit saying that ZSTs don't actually allocate on `Box::new`.
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    8f02dc2 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#40386 - tbu-:pr_display_frombyteswithnulerr…

    …or, r=alexcrichton
    
    Distinguish the ways `CStr::from_bytes_with_nul` can fail
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    d0da85d View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#40389 - F001:placementVecDeque, r=nagisa

    Implement placement-in protocol for `VecDeque`
    
    CC rust-lang#30172
    
    r? @nagisa
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    dcf4182 View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#40410 - clarcharr:os_string_shrink_to_fit, …

    …r=alexcrichton
    
    OsString::shrink_to_fit.
    
    Considering how the other capacity-related methods are there, I found it odd that this one wasn't included.
    
    Will create a tracking issue once I get an OK on this.
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    f4b4e09 View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#40423 - DirkyJerky:patch-2, r=BurntSushi

    Clarify docs in `VecDeque::resize`
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    b32393c View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#40424 - alexcrichton:faster-travis-osx, r=b…

    …rson
    
    travis: Remove compiling OpenSSL through homebrew
    
    I don't believe that we need this any more now that `cargo-vendor` isn't
    installed to create a source tarball (that only happens on Linux)
    alexcrichton committed Mar 11, 2017
    Configuration menu
    Copy the full SHA
    d03b6b3 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    3493d91 View commit details
    Browse the repository at this point in the history