1. 06 8月, 2018 3 次提交
    • B
      Auto merge of #53002 - QuietMisdreavus:brother-may-i-have-some-loops, r=pnkfelix · aa1e6db7
      bors 提交于
      make `everybody_loops` preserve item declarations
      
      First half of https://github.com/rust-lang/rust/issues/52545.
      
      `everybody_loops` is used by rustdoc to ensure we don't contain erroneous references to platform APIs if one of its uses is pulled in by `#[doc(cfg)]`. However, you can also implement traits for public types inside of functions. This is used by Diesel (probably others, but they were the example that was reported) to get around a recent macro hygiene fix, which has caused their crate to fail to document. While this won't make the traits show up in documentation (that step comes later), it will at least allow files to be generated.
      aa1e6db7
    • B
      Auto merge of #52997 - llogiq:tiny-list-opt, r=varkor · e9fa9f5a
      bors 提交于
      data_structures: make TinyList more readable and optimize remove(_)
      
      also add benchmarks
      
      Before:
      
      ```
      test tiny_list::test::bench_insert_empty             ... bench:           1 ns/iter (+/- 0)
      test tiny_list::test::bench_insert_one               ... bench:          16 ns/iter (+/- 0)
      test tiny_list::test::bench_remove_empty             ... bench:           2 ns/iter (+/- 0)
      test tiny_list::test::bench_remove_one               ... bench:           6 ns/iter (+/- 0)
      test tiny_list::test::bench_remove_unknown           ... bench:           4 ns/iter (+/- 0)
      ```
      
      After:
      
      ```
      test tiny_list::test::bench_insert_empty             ... bench:           1 ns/iter (+/- 0)
      test tiny_list::test::bench_insert_one               ... bench:          16 ns/iter (+/- 0)
      test tiny_list::test::bench_remove_empty             ... bench:           0 ns/iter (+/- 0)
      test tiny_list::test::bench_remove_one               ... bench:           3 ns/iter (+/- 0)
      test tiny_list::test::bench_remove_unknown           ... bench:           2 ns/iter (+/- 0)
      ```
      e9fa9f5a
    • B
      Auto merge of #52800 - QuietMisdreavus:do-not-pass-go, r=GuillaumeGomez · 73c78734
      bors 提交于
      rustdoc: refactor how passes are structured, and turn intra-doc-link collection into a pass
      
      This builds on https://github.com/rust-lang/rust/pull/52751 and should not be merged until that finally finishes the bors queue
      
      Part 2 of my passes refactor. This introduces the concept of an "early pass", which is run right before exiting the compiler context. This is important for passes that may want to ask the compiler about things. For example, i took out the intra-doc-link collection and turned it into a early pass. I also made the `strip-hidden`, `strip-private` and `strip-priv-imports` passes occur as early passes, so that intra-doc-link collection wouldn't run on docs that weren't getting printed.
      
      Fixes https://github.com/rust-lang/rust/issues/51684, technically https://github.com/rust-lang/rust/issues/51468 too but that version of `h2` hits a legit intra-link error after that `>_>`
      
      r? @rust-lang/rustdoc
      73c78734
  2. 05 8月, 2018 19 次提交
  3. 04 8月, 2018 18 次提交