1. 12 6月, 2014 1 次提交
    • A
      sync: Move underneath libstd · b1c9ce9c
      Alex Crichton 提交于
      This commit is the final step in the libstd facade, #13851. The purpose of this
      commit is to move libsync underneath the standard library, behind the facade.
      This will allow core primitives like channels, queues, and atomics to all live
      in the same location.
      
      There were a few notable changes and a few breaking changes as part of this
      movement:
      
      * The `Vec` and `String` types are reexported at the top level of libcollections
      * The `unreachable!()` macro was copied to libcore
      * The `std::rt::thread` module was moved to librustrt, but it is still
        reexported at the same location.
      * The `std::comm` module was moved to libsync
      * The `sync::comm` module was moved under `sync::comm`, and renamed to `duplex`.
        It is now a private module with types/functions being reexported under
        `sync::comm`. This is a breaking change for any existing users of duplex
        streams.
      * All concurrent queues/deques were moved directly under libsync. They are also
        all marked with #![experimental] for now if they are public.
      * The `task_pool` and `future` modules no longer live in libsync, but rather
        live under `std::sync`. They will forever live at this location, but they may
        move to libsync if the `std::task` module moves as well.
      
      [breaking-change]
      b1c9ce9c
  2. 11 6月, 2014 5 次提交
    • B
      auto merge of #14777 : alexcrichton/rust/issue-14747, r=huonw · c690191a
      bors 提交于
      When generating documentation, rustdoc has the ability to generate relative
      links within the current distribution of crates to one another. To do this, it
      must recognize when a crate's documentation is in the same output directory. The
      current threshold for "local documentation for crate X being available" is
      whether the directory "doc/X" exists.
      
      This change modifies the build system to have new dependencies for each
      directory of upstream crates for a rustdoc invocation. This will ensure that
      when building documentation that all the crates in the standard distribution are
      guaranteed to have relative links to one another.
      
      This change is prompted by guaranteeing that offline docs always work with one
      another. Before this change, races could mean that some docs were built before
      others, and hence may have http links when relative links would suffice.
      
      Closes #14747
      c690191a
    • B
      auto merge of #14768 : riccieri/rust/detransmute-arena, r=alexcrichton · f92a8fac
      bors 提交于
      **Update**
      
      I've reimplemented this using `Cell` and `RefCell`, as suggested by @alexcrichton. By taking care with the duration of the borrows, I was able to maintain the recursive allocation feature (now covered by a test) without the use of `Unsafe`, and without breaking the non-aliasing `&mut` invariant.
      
      **Original**
      
      Changes both `Arena` and `TypedArena` to contain an inner struct wrapped in a `Unsafe`, and change field access to go through those instead of transmuting `&self` to `&mut self`.
      
      Part of #13933
      f92a8fac
    • B
      b1302f9c
    • B
      auto merge of #14752 : jakub-/rust/issue-11940, r=alexcrichton · 7f777a5b
      bors 提交于
      Fixes #8315
      Fixes #11940
      7f777a5b
    • B
      auto merge of #14696 : jakub-/rust/dead-struct-fields, r=alexcrichton · 9bb8f88d
      bors 提交于
      This uncovered some dead code, most notably in middle/liveness.rs, which I think suggests there must be something fishy with that part of the code.
      
      The #[allow(dead_code)] annotations on some of the fields I am not super happy about but as I understand, marker type may disappear at some point.
      9bb8f88d
  3. 10 6月, 2014 34 次提交