1. 15 2月, 2015 13 次提交
  2. 14 2月, 2015 11 次提交
    • B
      Auto merge of #22114 - alexcrichton:issue-22084, r=steveklabnik · 3d1c1add
      bors 提交于
      This ended up just being a forgotten attribute on the `char` module in
      libunicode.
      
      Closes #22084
      3d1c1add
    • B
      Auto merge of #22119 - aturon:new-process, r=alexcrichton · df546326
      bors 提交于
      Per [RFC 579](https://github.com/rust-lang/rfcs/pull/579), this commit
      adds a new `std::process` module. This module is largely based on the
      existing `std::old_io::process` module, but refactors the API to use
      `OsStr` and other new standards set out by IO reform.
      
      The existing module is not yet deprecated, to allow for the new API to
      get a bit of testing before a mass migration to it.
      df546326
    • A
      Add std::process · 4175f1ce
      Aaron Turon 提交于
      Per [RFC 579](https://github.com/rust-lang/rfcs/pull/579), this commit
      adds a new `std::process` module. This module is largely based on the
      existing `std::old_io::process` module, but refactors the API to use
      `OsStr` and other new standards set out by IO reform.
      
      The existing module is not yet deprecated, to allow for the new API to
      get a bit of testing before a mass migration to it.
      4175f1ce
    • B
      Auto merge of #22041 - semarie:configure-compat, r=alexcrichton · 95b228ab
      bors 提交于
      the sed option `--in-place` (or `-i`) is a GNU extension, and it is not
      portable to BSD system (openbsd and freebsd checked).
      
      use an alternate construction in order to keep the semantic.
      95b228ab
    • B
      Auto merge of #21834 - genbattle:doc-range-notation, r=steveklabnik · f174bcab
      bors 提交于
      Replaced outdated use of the `range(start, end)` function where appropriate with `start..end`, and tweaked the examples to compile and run with the latest rust. I also fixed two periphery compile issues in reference.md which were occluding whether there were any new errors created by these changes.
      f174bcab
    • U
      Make std::raw::Repr an unsafe trait · 7a52932f
      Ulrik Sverdrup 提交于
      The default implementation of .repr() will call conveniently call
      transmute_copy which should be appropriate for all implementors, but is
      memory unsafe if used wrong.
      
      Fixes #22260
      
      You need to use `unsafe impl` to implement the Repr trait now.
      
      [breaking-change]
      7a52932f
    • H
      Dramatically expand the docs of std::raw. · 5e3ae102
      Huon Wilson 提交于
      This overhauls the very meager docs that currently exist to clarify
      various understandable confusions that I've noticed, e.g. people look in
      `std::raw` for the "real" types of slices like `&[T]`, or think that
      `Slice<T>` refers to `[T]` (fixes #22214).
      
      This patch takes the liberty of offering some "style" guidance around
      `raw::Slice`, since there's more restricted ways to duplicate all
      functionality connected to it: `std::slice::from_raw_parts{,_mut}` for
      construction and `.as_{,mut_}ptr` & `.len` for deconstruction.
      
      It also deprecates the `std::raw::Closure` type which is now useless for
      non-type-erased closures, and replaced by `TraitObject` for `&Fn`, `&mut
      FnMut` etc, so I guess it should be called a:
      
      [breaking-change]
      5e3ae102
    • B
      Auto merge of #21376 - fhahn:issue-15881-model-lexer-dotdotdot, r=cmr · b8c112fc
      bors 提交于
      This PR adds a dedicated regression test for #15881 as @cmr suggested.
      b8c112fc
    • B
      Add the build date to the reported version. #21957 · effad62b
      Brian Anderson 提交于
      rustc --version says
      
      ```
      rustc 1.0.0-dev (d0e82a68 2015-02-05) (built 2015-02-11)
      ```
      effad62b
    • B
      Auto merge of #22200 - alexcrichton:opt-vec-collect, r=huonw · b9ba643b
      bors 提交于
      This PR is an optimization of the `FromIterator` implementation of `Vec`
      
      Benchmark: https://gist.github.com/alexcrichton/03d666159a28a80e7c70
      
      Before:
      
          test macro_repeat1     ... bench:        57 ns/iter (+/- 1)
          test macro_repeat2     ... bench:        56 ns/iter (+/- 1)
          test map_clone1        ... bench:       828 ns/iter (+/- 13)
          test map_clone2        ... bench:       828 ns/iter (+/- 8)
          test repeat1           ... bench:      1104 ns/iter (+/- 10)
          test repeat2           ... bench:      1106 ns/iter (+/- 11)
      
      After:
      
          test macro_repeat1     ... bench:        75 ns/iter (+/- 21)
          test macro_repeat2     ... bench:        59 ns/iter (+/- 31)
          test map_clone1        ... bench:        34 ns/iter (+/- 22)
          test map_clone2        ... bench:        52 ns/iter (+/- 21)
          test repeat1           ... bench:        34 ns/iter (+/- 11)
          test repeat2           ... bench:        33 ns/iter (+/- 12)
      
      The idea behind this optimization is to avoid all bounds checks for space
      already allocated into the vector. This may involve running the iterator twice,
      but the first run of the iterator should be optimizable to a memcpy or memset if
      possible.
      
      The same treatment can in theory be applied to `Vec::extend` but the benchmarks
      for that currently get *worse* if the change is applied. This appears to be some
      LLVM optimizations going awry but it's seems prudent to land at least the
      `collect` portion beforehand.
      b9ba643b
    • S
      ad2efdc6
  3. 13 2月, 2015 16 次提交