1. 11 7月, 2014 1 次提交
  2. 10 7月, 2014 1 次提交
  3. 09 7月, 2014 1 次提交
  4. 06 7月, 2014 1 次提交
    • A
      rustc: Remove CrateId and all related support · 50ee1ec1
      Alex Crichton 提交于
      This commit removes all support in the compiler for the #[crate_id] attribute
      and all of its derivative infrastructure. A list of the functionality removed is:
      
      * The #[crate_id] attribute no longer exists
      * There is no longer the concept of a version of a crate
      * Version numbers are no longer appended to symbol names
      * The --crate-id command line option has been removed
      
      To migrate forward, rename #[crate_id] to #[crate_name] and only the name of the
      crate itself should be mentioned. The version/path of the old crate id should be
      removed.
      
      For a transitionary state, the #[crate_id] attribute is still accepted if
      the #[crate_name] is not present, but it is warned about if it is the only
      identifier present.
      
      RFC: 0035-remove-crate-id
      [breaking-change]
      50ee1ec1
  5. 01 7月, 2014 1 次提交
  6. 30 6月, 2014 1 次提交
  7. 28 6月, 2014 1 次提交
  8. 26 6月, 2014 1 次提交
  9. 25 6月, 2014 1 次提交
  10. 18 6月, 2014 1 次提交
  11. 15 6月, 2014 1 次提交
  12. 14 6月, 2014 1 次提交
    • H
      getopts: format failure messages with `Show`. · 0642cbbd
      Huon Wilson 提交于
      This obsoletes the old `to_err_msg` method. Replace
      
          println!("Error: {}", failure.to_err_msg())
      
          let string = failure.to_err_msg();
      
      with
      
          println!("Error: {}", failure)
      
          let string = failure.to_str();
      
      [breaking-change]
      0642cbbd
  13. 12 6月, 2014 2 次提交
    • 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
    • A
      rustc: Move the AST from @T to Gc<T> · 54c2a1e1
      Alex Crichton 提交于
      54c2a1e1
  14. 10 6月, 2014 1 次提交
  15. 07 6月, 2014 1 次提交
    • A
      rustdoc: Submit examples to play.rust-lang.org · e5bbbca3
      Alex Crichton 提交于
      This grows a new option inside of rustdoc to add the ability to submit examples
      to an external website. If the `--markdown-playground-url` command line option
      or crate doc attribute `html_playground_url` is present, then examples will have
      a button on hover to submit the code to the playground specified.
      
      This commit enables submission of example code to play.rust-lang.org. The code
      submitted is that which is tested by rustdoc, not necessarily the exact code
      shown in the example.
      
      Closes #14654
      e5bbbca3
  16. 06 6月, 2014 2 次提交
  17. 28 5月, 2014 3 次提交
    • A
      std: Remove format_strbuf!() · 42aed6bd
      Alex Crichton 提交于
      This was only ever a transitionary macro.
      42aed6bd
    • A
      Move std::{reflect,repr,Poly} to a libdebug crate · b53454e2
      Alex Crichton 提交于
      This commit moves reflection (as well as the {:?} format modifier) to a new
      libdebug crate, all of which is marked experimental.
      
      This is a breaking change because it now requires the debug crate to be
      explicitly linked if the :? format qualifier is used. This means that any code
      using this feature will have to add `extern crate debug;` to the top of the
      crate. Any code relying on reflection will also need to do this.
      
      Closes #12019
      
      [breaking-change]
      b53454e2
    • R
      std: Rename strbuf operations to string · 1f1b2e42
      Richo Healey 提交于
      [breaking-change]
      1f1b2e42
  18. 25 5月, 2014 1 次提交
  19. 23 5月, 2014 1 次提交
  20. 19 5月, 2014 1 次提交
    • F
      Fixing rustdoc stage1. · eb6856c3
      Felix S. Klock II 提交于
      See #13983 and #14000.
      
      Fix was originally authored by alexcrichton and then rebased a couple
      times by pnkfelix, most recently atop PR 13954.
      
      ----
      
      Regarding the change to librustdoc/lib.rs, to do `map_err` before
      unwrapping a `TqskResult`: I do not understand how master is passing
      without this change or something like it, since `Box<Any:Send>` does
      not implement `Show`.  (Is this something that is only a problem for
      the snapshot stage0 compiler?)  Still, the change I have put in here
      (which was added as part of a rebase after alex's review) seems
      harmless to me to apply to rustdoc at all stages, since a call to
      `unwrap` is just going to `fail!` on the err case anyway.
      eb6856c3
  21. 17 5月, 2014 2 次提交
  22. 15 5月, 2014 1 次提交
  23. 13 5月, 2014 2 次提交
  24. 11 5月, 2014 1 次提交
    • N
      Reorganise driver code. · 37ca3678
      Nick Cameron 提交于
      The goal of this refactoring is to make the rustc driver code easier to understand and use. Since this is as close to an API as we have, I think it is important that it is nice. On getting stuck in, I found that there wasn't as much to change as I'd hoped to make the stage... fns easier to use by tools.
      
      This patch only moves code around - mostly just moving code to different files, but a few extracted method refactorings too. To summarise the changes: I added driver::config which handles everything about configuring the compiler. driver::session now just defines and builds session objects. I moved driver code from librustc/lib.rs to librustc/driver/mod.rs so all the code is one place. I extracted methods to make emulating the compiler without being the compiler a little easier. Within the driver directory, I moved code around to more logically fit in the modules.
      37ca3678
  25. 09 5月, 2014 1 次提交
  26. 08 5月, 2014 1 次提交
    • A
      std: Modernize the local_data api · ab92ea52
      Alex Crichton 提交于
      This commit brings the local_data api up to modern rust standards with a few key
      improvements:
      
      * The `pop` and `set` methods have been combined into one method, `replace`
      
      * The `get_mut` method has been removed. All interior mutability should be done
        through `RefCell`.
      
      * All functionality is now exposed as a method on the keys themselves. Instead
        of importing std::local_data, you now use "key.replace()" and "key.get()".
      
      * All closures have been removed in favor of RAII functionality. This means that
        get() and get_mut() no long require closures, but rather return
        Option<SmartPointer> where the smart pointer takes care of relinquishing the
        borrow and also implements the necessary Deref traits
      
      * The modify() function was removed to cut the local_data interface down to its
        bare essentials (similarly to how RefCell removed set/get).
      
      [breaking-change]
      ab92ea52
  27. 03 5月, 2014 1 次提交
  28. 29 4月, 2014 1 次提交
    • J
      Deprecate the rev_iter pattern in all places where a DoubleEndedIterator is... · 03609e5a
      Jonathan S 提交于
      Deprecate the rev_iter pattern in all places where a DoubleEndedIterator is provided (everywhere but treemap)
      
      This commit deprecates rev_iter, mut_rev_iter, move_rev_iter everywhere (except treemap) and also
      deprecates related functions like rsplit, rev_components, and rev_str_components. In every case,
      these functions can be replaced with the non-reversed form followed by a call to .rev(). To make this
      more concrete, a translation table for all functional changes necessary follows:
      
      * container.rev_iter() -> container.iter().rev()
      * container.mut_rev_iter() -> container.mut_iter().rev()
      * container.move_rev_iter() -> container.move_iter().rev()
      * sliceorstr.rsplit(sep) -> sliceorstr.split(sep).rev()
      * path.rev_components() -> path.components().rev()
      * path.rev_str_components() -> path.str_components().rev()
      
      In terms of the type system, this change also deprecates any specialized reversed iterator types (except
      in treemap), opting instead to use Rev directly if any type annotations are needed. However, since
      methods directly returning reversed iterators are now discouraged, the need for such annotations should
      be small. However, in those cases, the general pattern for conversion is to take whatever follows Rev in
      the original reversed name and surround it with Rev<>:
      
      * RevComponents<'a> -> Rev<Components<'a>>
      * RevStrComponents<'a> -> Rev<StrComponents<'a>>
      * RevItems<'a, T> -> Rev<Items<'a, T>>
      * etc.
      
      The reasoning behind this change is that it makes the standard API much simpler without reducing readability,
      performance, or power. The presence of functions such as rev_iter adds more boilerplate code to libraries
      (all of which simply call .iter().rev()), clutters up the documentation, and only helps code by saving two
      characters. Additionally, the numerous type synonyms that were used to make the type signatures look nice
      like RevItems add even more boilerplate and clutter up the docs even more. With this change, all that cruft
      goes away.
      
      [breaking-change]
      03609e5a
  29. 26 4月, 2014 1 次提交
  30. 19 4月, 2014 1 次提交
  31. 14 4月, 2014 1 次提交
  32. 07 4月, 2014 1 次提交
  33. 05 4月, 2014 1 次提交
  34. 04 4月, 2014 1 次提交