1. 18 11月, 2014 1 次提交
    • B
      auto merge of #18973 : sfackler/rust/enum-namespace-pt2, r=pcwalton · f0927939
      bors 提交于
      This breaks code that referred to variant names in the same namespace as
      their enum. Reexport the variants in the old location or alter code to
      refer to the new locations:
      
      ```
      pub enum Foo {
          A,
          B
      }
      
      fn main() {
          let a = A;
      }
      ```
      =>
      ```
      pub use self::Foo::{A, B};
      
      pub enum Foo {
          A,
          B
      }
      
      fn main() {
          let a = A;
      }
      ```
      or
      ```
      pub enum Foo {
          A,
          B
      }
      
      fn main() {
          let a = Foo::A;
      }
      ```
      
      [breaking-change]
      f0927939
  2. 17 11月, 2014 10 次提交
    • S
      Switch to purely namespaced enums · 3dcd2157
      Steven Fackler 提交于
      This breaks code that referred to variant names in the same namespace as
      their enum. Reexport the variants in the old location or alter code to
      refer to the new locations:
      
      ```
      pub enum Foo {
          A,
          B
      }
      
      fn main() {
          let a = A;
      }
      ```
      =>
      ```
      pub use self::Foo::{A, B};
      
      pub enum Foo {
          A,
          B
      }
      
      fn main() {
          let a = A;
      }
      ```
      or
      ```
      pub enum Foo {
          A,
          B
      }
      
      fn main() {
          let a = Foo::A;
      }
      ```
      
      [breaking-change]
      3dcd2157
    • B
      auto merge of #19007 : huonw/rust/more-marker-impls, r=alexcrichton · 88c743de
      bors 提交于
      Useful for #[deriving].
      88c743de
    • B
      auto merge of #19027 : nick29581/rust/coercions-4, r=alexcrichton · 0047dbe5
      bors 提交于
      The forwards compatible parts of #18645, rebased. Converts implicit coercions from `[T, ..n]` to `&[T]` into explicit references.
      0047dbe5
    • N
      Fix fallout from coercion removal · ca08540a
      Nick Cameron 提交于
      ca08540a
    • B
      auto merge of #18914 : Gankro/rust/cloned, r=aturon · edfb83c9
      bors 提交于
      Part of #18424. r? @aturon 
      
      [breaking-change]
      edfb83c9
    • B
      auto merge of #18927 : areski/rust/pr-improve-option-match-readl, r=jakub- · 803aacd5
      bors 提交于
      **match** are much more easy to read when it's not in 1 single line
      803aacd5
    • B
      auto merge of #18747 : csherratt/rust/ringbuf-remove-option, r=huonw · 0b7b4f07
      bors 提交于
      Fix for task in Metabug #18009 (Rebased version of https://github.com/rust-lang/rust/pull/18170)
      
      This changes much of about how RingBuf functions. `lo`, `nelts` are replaced by a more traditional `head` and`tail`. The `Vec<Option<T>>` is replaced by a bare pointer that is managed by the `RingBuf` itself. This also expects the ring buffer to always be size that is a power of 2.
      
      This change also includes a number of new tests to cover the some areas that could be of concern with manual memory management.
      
      The benchmarks have been reworked since the old ones were benchmarking of the Ring buffers growth rather then the actual test.
      
      The unit test suite have been expanded, and exposed some bugs in `fn get()` and `fn get_mut()`
      
      ## Benchmark
      **Before:**
      ```
      test ring_buf::tests::bench_grow_1025                      ... bench:      8919 ns/iter (+/- 87)
      test ring_buf::tests::bench_iter_1000                      ... bench:       924 ns/iter (+/- 28)
      test ring_buf::tests::bench_mut_iter_1000                  ... bench:       918 ns/iter (+/- 6)
      test ring_buf::tests::bench_new                            ... bench:        15 ns/iter (+/- 0)
      test ring_buf::tests::bench_pop_100                        ... bench:       294 ns/iter (+/- 9)
      test ring_buf::tests::bench_pop_front_100                  ... bench:       948 ns/iter (+/- 32)
      test ring_buf::tests::bench_push_back_100                  ... bench:       291 ns/iter (+/- 16)
      test ring_buf::tests::bench_push_front_100                 ... bench:       311 ns/iter (+/- 27
      ```
      **After:**
      ```
      test ring_buf::tests::bench_grow_1025                      ... bench:      2209 ns/iter (+/- 169)
      test ring_buf::tests::bench_iter_1000                      ... bench:       534 ns/iter (+/- 27)
      test ring_buf::tests::bench_mut_iter_1000                  ... bench:       515 ns/iter (+/- 28)
      test ring_buf::tests::bench_new                            ... bench:        11 ns/iter (+/- 0)
      test ring_buf::tests::bench_pop_100                        ... bench:       170 ns/iter (+/- 5)
      test ring_buf::tests::bench_pop_front_100                  ... bench:       171 ns/iter (+/- 11)
      test ring_buf::tests::bench_push_back_100                  ... bench:       172 ns/iter (+/- 13)
      test ring_buf::tests::bench_push_front_100                 ... bench:       158 ns/iter (+/- 12)
      
      ```
      0b7b4f07
    • H
      Implement more basic traits for the marker types. · f9752438
      Huon Wilson 提交于
      f9752438
    • B
      auto merge of #18995 : alfie/rust/comment-docs, r=aturon · 245c7fbe
      bors 提交于
      Start comment is a string literal while end comment is made up of two character literals. This change is to make them consistent.
      245c7fbe
    • B
      auto merge of #18994 : sfackler/rust/struct-variants-pt2, r=jakub- · aad75471
      bors 提交于
      Struct variant field visibility is now inherited. Remove `pub` keywords
      from declarations.
      
      Closes #18641
      
      [breaking-change]
      
      r? @alexcrichton 
      aad75471
  3. 16 11月, 2014 29 次提交