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 10 pull requests #47195

Closed
wants to merge 31 commits into from
Closed

Rollup of 10 pull requests #47195

wants to merge 31 commits into from

Commits on Dec 21, 2017

  1. Configuration menu
    Copy the full SHA
    2535804 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e4c02e5 View commit details
    Browse the repository at this point in the history
  3. Add tests

    varkor committed Dec 21, 2017
    Configuration menu
    Copy the full SHA
    c1aa017 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2017

  1. Configuration menu
    Copy the full SHA
    a8d107b View commit details
    Browse the repository at this point in the history
  2. Disable printing of error message on file descriptor 2 on CloudABI.

    As CloudABI is a capability-based runtime environment, file descriptors
    are the mechanism that grants rights to a process. These file
    descriptors may be passed into processes on startup using a utility
    called cloudabi-run. Unlike the POSIX shell, cloudabi-run does not
    follow the UNIX model where file descriptors 0, 1 and 2 represent stdin,
    stdout and stderr. There can be arbitrary many (or few) file descriptors
    that can be provided. For this reason, CloudABI's C library also doesn't
    define STD*_FILENO. liblibc should also not declare these.
    
    Disable the code in liballoc_system that tries to print error messages
    over file descriptor 2. For now, let's keep this function quiet. We'll
    see if we can think of some other way to log this in the future.
    EdSchouten committed Dec 27, 2017
    Configuration menu
    Copy the full SHA
    838fb4a View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2017

  1. Build the right platform module on CloudABI.

    After rust-lang#47089 lands, CloudABI will no longer be considered UNIX. We need
    to pick the right allocator flavour now.
    EdSchouten committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    c661e38 View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2018

  1. Use the right TLS model for CloudABI.

    CloudABI doesn't do dynamic linking. For this reason, there is no need
    to handle any other TLS model than local-exec. CloudABI's C library
    doesn't provide a __tls_get_addr() function to do Dynamic TLS.
    
    By forcing local-exec to be used here, we ensure that we don't generate
    function calls to __tls_get_addr().
    EdSchouten committed Jan 1, 2018
    Configuration menu
    Copy the full SHA
    4fe167a View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2018

  1. Remove dependency on regex

    varkor committed Jan 2, 2018
    Configuration menu
    Copy the full SHA
    3dff918 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2018

  1. Configuration menu
    Copy the full SHA
    2b9add2 View commit details
    Browse the repository at this point in the history
  2. Span::resolved_at and Span::located_at to combine behavior of two spans

    Proc macro spans serve two mostly unrelated purposes: controlling name
    resolution and controlling error messages. It can be useful to mix the
    name resolution behavior of one span with the line/column error message
    locations of a different span.
    
    In particular, consider the case of a trait brought into scope within
    the def_site of a custom derive. I want to invoke trait methods on the
    fields of the user's struct. If the field type does not implement the
    right trait, I want the error message to underline the corresponding
    struct field.
    
    Generating the method call with the def_site span is not ideal -- it
    compiles and runs but error messages sadly always point to the derive
    attribute like we saw with Macros 1.1.
    
    ```
      |
    4 | #[derive(HeapSize)]
      |          ^^^^^^^^
    ```
    
    Generating the method call with the same span as the struct field's
    ident or type is not correct -- it shows the right underlines but fails
    to resolve to the trait in scope at the def_site.
    
    ```
      |
    7 |     bad: std::thread::Thread,
      |     ^^^^^^^^^^^^^^^^^^^^^^^^
    ```
    
    The correct span for the method call is one that combines the def_site's
    name resolution with the struct field's line/column.
    
    ```
    field.span.resolved_at(Span::def_site())
    
    // equivalently
    Span::def_site().located_at(field.span)
    ```
    
    Adding both because which one is more natural will depend on context.
    dtolnay committed Jan 3, 2018
    Configuration menu
    Copy the full SHA
    000e907 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    48f2f71 View commit details
    Browse the repository at this point in the history
  4. Add unit test for zipping slice::{Chunks, ChunksMut, Windows} iterators

    For testing if the TrustedRandomAccess implementation works.
    sdroege committed Jan 3, 2018
    Configuration menu
    Copy the full SHA
    a56a3fc View commit details
    Browse the repository at this point in the history
  5. Fix compilation of TrustedRandomAccess impl for slice::Chunks

    rust-lang#47113 renamed the private size
    field to chunk_size for consistency.
    sdroege committed Jan 3, 2018
    Configuration menu
    Copy the full SHA
    3f29e2b View commit details
    Browse the repository at this point in the history
  6. This isn't in Rust 1.23

    steveklabnik committed Jan 3, 2018
    Configuration menu
    Copy the full SHA
    47e18e0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    50989cd View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    05949b0 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2018

  1. Remove outdated LLVMRustBuildLandingPad() wrapper

    The function was added as a wrapper to handle compatibility with older
    LLVM versions that we no longer support, so it can be removed.
    
    Refs rust-lang#46437
    dotdash committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    d7bbd30 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    493c29d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7e522b2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b69c124 View commit details
    Browse the repository at this point in the history
  5. Make examples equivalent

    The example with the ? operator was missing file.write_all
    aheart committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    922f061 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#46907 - varkor:contrib-8, r=nagisa

    Allow non-alphabetic underscores in camel case
    
    Certain identifiers, such as `X86_64`, cannot currently be unambiguously represented in camel case (`X8664`, `X86_64`, `X8_664`, etc. are all transformed to the same identifier). This change relaxes the rules so that underscores are permitted between two non-alphabetic characters under `#[forbid(non_camel_case_types)]`. Fixes rust-lang#34633 and fixes rust-lang#41621.
    kennytm committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    ba11790 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#47030 - ollie27:stab, r=alexcrichton

    Correct a few stability attributes
    
    * The extra impls for `ManuallyDrop` were added in rust-lang#44310 which was only stabilised in 1.22.0.
    * The impls for `SliceIndex` were stabilised in rust-lang#43373 but as `RangeInclusive` and `RangeToInclusive` are still unstable the impls should remain unstable.
    * The `From` impls for atomic integers were added in rust-lang#45610 but most atomic integers are still unstable.
    * The `shared_from_slice2` impls were added in rust-lang#45990 but they won't be stable until 1.24.0.
    * The `Mutex` and `RwLock` impls were added in rust-lang#46082 but won't be stable until 1.24.0.
    kennytm committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    f2d9035 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#47033 - EdSchouten:cloudabi-oom, r=kennytm

    Disable printing of error message on file descriptor 2 on CloudABI.
    
    As CloudABI is a capability-based runtime environment, file descriptors
    are the mechanism that grants rights to a process. These file
    descriptors may be passed into processes on startup using a utility
    called cloudabi-run. Unlike the POSIX shell, cloudabi-run does not
    follow the UNIX model where file descriptors 0, 1 and 2 represent stdin,
    stdout and stderr. There can be arbitrary many (or few) file descriptors
    that can be provided. For this reason, CloudABI's C library also doesn't
    define STD*_FILENO. liblibc should also not declare these.
    
    Disable the code in liballoc_system that tries to print error messages
    over file descriptor 2. For now, let's keep this function quiet. We'll
    see if we can think of some other way to log this in the future.
    kennytm committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    b583e17 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#47110 - EdSchouten:cloudabi-tls, r=kennytm

    Use the right TLS model for CloudABI.
    
    CloudABI doesn't do dynamic linking. For this reason, there is no need
    to handle any other TLS model than local-exec. CloudABI's C library
    doesn't provide a __tls_get_addr() function to do Dynamic TLS.
    
    By forcing local-exec to be used here, we ensure that we don't generate
    function calls to __tls_get_addr().
    kennytm committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    9e5787d View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#47142 - sdroege:trusted-random-access-chunk…

    …s, r=kennytm
    
    Implement TrustedRandomAccess for slice::{Chunks, ChunksMut, Windows}
    
    As suggested by @bluss in rust-lang#47115 (comment)
    kennytm committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    dc8254e View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#47149 - dtolnay:spans, r=jseyfried

    Span::resolved_at and Span::located_at to combine behavior of two spans
    
    Proc macro spans serve two mostly unrelated purposes: controlling name resolution and controlling error messages. It can be useful to mix the name resolution behavior of one span with the line/column error message locations of a different span.
    
    In particular, consider the case of a trait brought into scope within the def_site of a custom derive. I want to invoke trait methods on the fields of the user's struct. If the field type does not implement the right trait, I want the error message to underline the corresponding struct field.
    
    Generating the method call with the def_site span is not ideal -- it compiles and runs but error messages sadly always point to the derive attribute like we saw with Macros 1.1.
    
    ```
      |
    4 | #[derive(HeapSize)]
      |          ^^^^^^^^
    ```
    
    Generating the method call with the same span as the struct field's ident or type is not correct -- it shows the right underlines but fails to resolve to the trait in scope at the def_site.
    
    ```
      |
    7 |     bad: std::thread::Thread,
      |     ^^^^^^^^^^^^^^^^^^^^^^^^
    ```
    
    The correct span for the method call is one that combines the def_site's name resolution with the struct field's line/column.
    
    ```rust
    field.span.resolved_at(Span::def_site())
    
    // equivalently
    Span::def_site().located_at(field.span)
    ```
    
    Adding both because which one is more natural will depend on context.
    
    Addresses rust-lang#38356 (comment). r? @jseyfried
    kennytm committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    8eca1b3 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#47150 - dtolnay:join, r=jseyfried

    Return None from Span::join if in different files
    
    Fixes rust-lang#47148. r? @abonander
    kennytm committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    e3e54d9 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#47160 - rust-lang:steveklabnik-patch-1, r=a…

    …lexcrichton
    
    This isn't in Rust 1.23
    
    r? @alexcrichton
    kennytm committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    891a901 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#47173 - dotdash:cleanup, r=michaelwoerister

    Remove some outdated LLVM-related code
    
    Ticks two boxes on rust-lang#46437
    kennytm committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    a4e4899 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#47182 - aheart:master, r=steveklabnik

    Equivalent example for ? operator
    
    The example with the ? operator in the documentation for try! macro was missing file.write_all.
    Now all three examples are consistent.
    kennytm committed Jan 4, 2018
    Configuration menu
    Copy the full SHA
    1791414 View commit details
    Browse the repository at this point in the history