1. 08 3月, 2016 1 次提交
  2. 07 3月, 2016 13 次提交
    • B
      Auto merge of #32081 - cmbrandenburg:spell_fix, r=apasel422 · 388ccda4
      bors 提交于
      388ccda4
    • B
      Auto merge of #32078 - japaric:rustbuild-i686-musl, r=alexcrichton · 2f34986e
      bors 提交于
      - make sure we copy the third party objects (crt*.o) to the target stage directory.
      - apply the x86_64-musl logic also to the i686-musl target.
      
      ---
      
      r? @alexcrichton
      2f34986e
    • B
      Auto merge of #31664 - nodakai:reference-negation, r=steveklabnik · e079afa0
      bors 提交于
      It would be great if someone could check my English.
      e079afa0
    • A
      Fix building libstd on on emscripten targets. · 660bbf4f
      ashleysommer 提交于
      Squashed 10 commits:
      1) The main cause of the problem is that libstd/os/mod.rs treats emscripten targets as an alias of linux targets, whereas liblibc treats emscripten targets as musl-compliant, so it gets a slightly different struct stat64 defined.
      This commit adds conditional compilation checks to use the correct timestamp format on fs metadata functions in the case of compiling to emscripten targets.
      
      2) Update previous commit to comply with rust formatting standards.
      Removed tab characters, remove trailing whitespaces.
      
      3) Move emscripten changes into their own file under libstd/os/emscripten
      Put libstd/os/linux/fs back to the way it was.
      
      4) Cannot use stat.st_ctim on emscripten to get created time.
      
      5) Remove compile-time conditionals for target_env = musl, it looks like musl builds compile fine already.
      
      6) Undone some formatting changes that are no longer needed,
      Removed some more target_env="musl" compilation checks that I missed from my previous commit.
      
      7) upgrade to liblibc e19309c, it fixes the differences in the musl stat and stat64 definitions.
      
      8) Undo the compile-time checks to check for emscripten (or musl targets) in the FileAttr struct.
      No longer needed after updating liblibc to e19309c.
      
      9) Change the MetadataExt implementation of emscripten fs.rs module to match the changes in new liblibc.
      
      10) remove a stray return statement, should have been removed in the previous commit.
      660bbf4f
    • B
      Auto merge of #32051 - steveklabnik:gh9447, r=bluss · 79f914fd
      bors 提交于
      Fixes #9447
      79f914fd
    • B
      Auto merge of #32066 - ruud-v-a:fma, r=alexcrichton · 6d262db4
      bors 提交于
      This adds support for fused multiply-add and multiply-subtract vector intrinsics for 128 and 256-bit vectors of `f32` and `f64`. These correspond to the intrinsics [listed here](https://software.intel.com/en-us/node/523929) except for the `_ss` and `_sd` variants. The intrinsics added are:
      
       * `fmadd`
       * `fmaddsub`
       * `fmsub`
       * `fmsubadd`
       * `fnmadd`
       * `fnmsub`
      
      The “fma” target feature must be enabled by passing `-C target-feature=+fma` to rustc when using these, otherwise LLVM will complain.
      
      I verified locally that the `x86_mm256_fmadd_ps` and `x86_mm256_fmsub_ps` work.
      6d262db4
    • B
      Auto merge of #32064 - bluss:str-slice-panic, r=alexcrichton · 6eb81a1f
      bors 提交于
      Fix panic on string slicing error to truncate the string
      
      The string may be arbitrarily long, but we want to limit the panic
      message to a reasonable length. Truncate the string if it is too long
      (simply to char boundary).
      
      Also add details to the start <= end message. I think it's ok to flesh
      out the code here, since it's in a cold function.
      
      Fixes #32063
      6eb81a1f
    • B
      Auto merge of #32061 - infinity0:master, r=alexcrichton · 998a6720
      bors 提交于
      Adding -Wno-error is more reliable and simple than trying to modify existing
      flags. We've been using this in Debian already for the past few releases.
      Making this change also encourages future maintainers towards "best practises".
      Also take the opportunity to use the same method at all places in the file.
      998a6720
    • B
      Auto merge of #32060 - inrustwetrust:patch-1, r=alexcrichton · 3340cb3d
      bors 提交于
      Using spaces in the install path causes the issue in #31293.
      3340cb3d
    • N
      reference.md: clarify negation. · 559683cd
      NODA, Kai 提交于
      Signed-off-by: NNODA, Kai <nodakai@gmail.com>
      559683cd
    • J
      update the src/liblibc submodule · f164433a
      Jorge Aparicio 提交于
      f164433a
    • B
    • B
      Auto merge of #32055 - mitaa:rdoc-strip-priv-imports, r=alexcrichton · 72d588a6
      bors 提交于
      fixes #27104
      
      r? @alexcrichton
      72d588a6
  3. 06 3月, 2016 13 次提交
    • C
      Spelling fix for "because" · b5172569
      Craig M. Brandenburg 提交于
      b5172569
    • B
      Auto merge of #32048 - bluss:overloaded-assign-op, r=eddyb · 71f4658c
      bors 提交于
      Do not trigger unused_assignments for overloaded AssignOps
      
      If `v` were a type with some kind of indirection, so that `v += 1` would
      have an effect even if `v` were not used anymore, the unused_assignments lint
      would mark a false positive.
      
      This exempts overloaded (non-primitive) assign ops from being treated as
      assignments (they are method calls).
      
      The previous compile-fail tests that ensure x += 1 can trigger for
      primitive types continue to pass. Added a representative test for the
      "view" indirection.
      
      Fixes #31895
      71f4658c
    • J
      rustbuild: fix cross compilation of libstd to i686-unknown-linux-musl · 0b7fc065
      Jorge Aparicio 提交于
      - make sure we copy the third party objects (crt*.o) to the target stage directory.
      - apply the x86_64-musl logic also to the i686-musl target.
      0b7fc065
    • B
      Auto merge of #32041 - arielb1:multiply-inexhaustive, r=eddyb · 80922a7a
      bors 提交于
      the assert was invalidated by PR #31020
      
      Fixes #31561
      
      r? @EddyB
      80922a7a
    • B
      Auto merge of #32020 - alexcrichton:stabilize-into-ascii, r=brson · c116ae35
      bors 提交于
      These were intended to land in stable 1.8 but were just waiting for the
      implementation PR, so now they're landing. Specifically this PR stabilizes:
      
      * `AsciiExt::into_ascii_uppercase`
      * `AsciiExt::into_ascii_lowercase`
      * `AsciiExt for Vec<u8>`
      * `AsciiExt for String`
      c116ae35
    • B
      Auto merge of #31967 - mitaa:rdoc-refactor, r=alexcrichton · 21fb3ce7
      bors 提交于
      This is mostly cleanup of individual code bits and code reuse for `clean::Attribute` handling.
      
      The only change in behaviour should be that emitted sources are now being recorded and queried when trying to create src-links to local source-files.
      
      r? @alexcrichton
      21fb3ce7
    • M
      Split out rustdoc pass to strip private imports · 688e5220
      mitaa 提交于
      688e5220
    • B
      Auto merge of #30884 - durka:inclusive-ranges, r=aturon · 8484831d
      bors 提交于
      This PR implements [RFC 1192](https://github.com/rust-lang/rfcs/blob/master/text/1192-inclusive-ranges.md), which is triple-dot syntax for inclusive range expressions. The new stuff is behind two feature gates (one for the syntax and one for the std::ops types). This replaces the deprecated functionality in std::iter. Along the way I simplified the desugaring for all ranges.
      
      This is my first contribution to rust which changes more than one character outside of a test or comment, so please review carefully! Some of the individual commit messages have more of my notes. Also thanks for putting up with my dumb questions in #rust-internals.
      
      - For implementing `std::ops::RangeInclusive`, I took @Stebalien's suggestion from https://github.com/rust-lang/rfcs/pull/1192#issuecomment-137864421. It seemed to me to make the implementation easier and increase type safety. If that stands, the RFC should be amended to avoid confusion.
      - I also kind of like @glaebhoerl's [idea](https://github.com/rust-lang/rfcs/pull/1254#issuecomment-147815299), which is unified inclusive/exclusive range syntax something like `x>..=y`. We can experiment with this while everything is behind a feature gate.
      - There are a couple of FIXMEs left (see the last commit). I didn't know what to do about `RangeArgument` and I haven't added `Index` impls yet. Those should be discussed/finished before merging.
      
      cc @Gankro since you [complained](https://www.reddit.com/r/rust/comments/3xkfro/what_happened_to_inclusive_ranges/cy5j0yq)
      cc #27777 #30877 rust-lang/rust#1192 rust-lang/rfcs#1254
      relevant to #28237 (tracking issue)
      8484831d
    • B
      Auto merge of #31920 - jseyfried:fix_spurious_privacy_error, r=nikomatsakis · 45f0ce71
      bors 提交于
      This PR allows using methods from traits that are visible but are defined in an inaccessible module (fixes #18241). For example,
      ```rust
      mod foo {
          pub use foo::bar::Tr;
          mod bar { // This module is inaccessible from `g`
              pub trait Tr { fn f(&self) {} }
          }
      }
      fn g<T: foo::Tr>(t: T) {
          t.f(); // Currently, this is a privacy error even though `foo::Tr` is visible
      }
      ```
      
      After this PR, it will continue to be a privacy error to use a method from a trait that is not visible. This can happen when a public trait inherits from a private trait (in violation of the `public_in_private` lint) -- see @petrochenkov's example in #28504.
      r? @nikomatsakis
      45f0ce71
    • B
      Auto merge of #31889 - alexcrichton:update-jemalloc-again, r=nikomatsakis · 52e0bda6
      bors 提交于
      Now that https://github.com/jemalloc/jemalloc/commit/767d85061a6fb88ec977bbcd9b429a43aff391e6 is upstream, the relevant deadlocking issue which prompted our downgrade has been resolved. As a result, there's no known issue to *not* upgrade! This also re-enables jemalloc for the pc-windows-gnu target as known issues with that have also been fixed.
      
      Closes #31030
      52e0bda6
    • B
      Auto merge of #31726 - jseyfried:improve_import_resolution, r=nikomatsakis · 3029e091
      bors 提交于
      This PR improves the import resolution algorithm.
      
      First, it records that an import succeeded or failed for one namespace (by calling `decrement_outstanding_references_for` and `try_define_child` if successful) even if it is still indeterminate in the other namespace, fixing #31444.
      
      Second, it starts importing bindings from globs as soon as the glob path is determined.
      It maintains links from imported modules to their importers so that when a resolution becomes successful in an imported module, a corresponding binding will be added to the importer module.
      It also maintains links from importer modules to imported modules so that we can determine if an undefined name is indeterminate or failing by recursively checking this in the imported modules.
      This allows, for example:
      ```rust
      mod foo {
          pub mod baz {}
          pub use bar::baz::*;
      }
      
      mod bar {
          pub use foo::*;
      }
      ```
      It also allows cycles of pub glob imports, although by to the current shadowing rules, the only way for such a cycle to compile is if each participating module defines no names. Incidentally, this PR lays the groundwork for more permissive feature-gated shadowing rules.
      
      Finally, this PR encapsulates almost all implementation details of import resolution in `resolve_imports` (some of which used to be in `lib.rs`) and refactors reexport recording, shadowed trait collecting, some duplicate checking, and the `private_in_public` lint out of the core import resolution algorithm and into a post-processing pass in `resolve_imports`.
      
      r? @nrc
      3029e091
    • U
      Fix panic on string slicing error to truncate the string · 4594f0f6
      Ulrik Sverdrup 提交于
      The string may be arbitrarily long, but we want to limit the panic
      message to a reasonable length. Truncate the string if it is too long
      (simply to char boundary).
      
      Also add details to the start <= end message. I think it's ok to flesh
      out the code here, since it's in a cold function.
      4594f0f6
    • B
  4. 05 3月, 2016 13 次提交