about summary refs log tree commit diff
path: root/src/libextra/workcache.rs
AgeCommit message (Collapse)AuthorLines
2014-03-14extra: Put the nail in the coffin, delete libextraAlex Crichton-516/+0
This commit shreds all remnants of libextra from the compiler and standard distribution. Two modules, c_vec/tempfile, were moved into libstd after some cleanup, and the other modules were moved to separate crates as seen fit. Closes #8784 Closes #12413 Closes #12576
2014-03-13std: Rename Chan/Port types and constructorAlex Crichton-5/+5
* Chan<T> => Sender<T> * Port<T> => Receiver<T> * Chan::new() => channel() * constructor returns (Sender, Receiver) instead of (Receiver, Sender) * local variables named `port` renamed to `rx` * local variables named `chan` renamed to `tx` Closes #11765
2014-03-07create a sensible comparison trait hierarchyDaniel Micay-1/+1
* `Ord` inherits from `Eq` * `TotalOrd` inherits from `TotalEq` * `TotalOrd` inherits from `Ord` * `TotalEq` inherits from `Eq` This is a partial implementation of #12517.
2014-03-01Publicise types/add #[allow(visible_private_types)] to a variety of places.Huon Wilson-0/+1
There's a lot of these types in the compiler libraries, and a few of the older or private stdlib ones. Some types are obviously meant to be public, others not so much.
2014-02-24Move extra::json to libserializeAlex Crichton-2/+2
This also inverts the dependency between libserialize and libcollections. cc #8784
2014-02-23Roll std::run into std::io::processAlex Crichton-5/+5
The std::run module is a relic from a standard library long since past, and there's not much use to having two modules to execute processes with where one is slightly more convenient. This commit merges the two modules, moving lots of functionality from std::run into std::io::process and then deleting std::run. New things you can find in std::io::process are: * Process::new() now only takes prog/args * Process::configure() takes a ProcessConfig * Process::status() is the same as run::process_status * Process::output() is the same as run::process_output * I/O for spawned tasks is now defaulted to captured in pipes instead of ignored * Process::kill() was added (plus an associated green/native implementation) * Process::wait_with_output() is the same as the old finish_with_output() * destroy() is now signal_exit() * force_destroy() is now signal_kill() Closes #2625 Closes #10016
2014-02-07moved collections from libextra into libcollectionsHeroesGrave-1/+1
2014-02-05move concurrent stuff from libextra to libsyncJeremyLetang-1/+1
2014-02-03extra: Fix tests with io_error usageAlex Crichton-4/+5
2014-02-03extra: Remove io_error usageAlex Crichton-7/+7
2014-01-29Removing do keyword from libextraScott Lawrence-4/+4
2014-01-26Removed all instances of XXX in preparation for relaxing of FIXME ruleSalem Talha-1/+1
2014-01-21[std::str] Rename from_utf8_owned_opt() to from_utf8_owned(), drop the old ↵Simon Sapin-2/+2
from_utf8_owned() behavior
2014-01-17Tweak the interface of std::ioAlex Crichton-2/+1
* Reexport io::mem and io::buffered structs directly under io, make mem/buffered private modules * Remove with_mem_writer * Remove DEFAULT_CAPACITY and use DEFAULT_BUF_SIZE (in io::buffered)
2014-01-11extra::workcache: Remove unused Loggerklutzy-31/+6
2014-01-11Remove re-exports of std::io::stdio::{print, println} in the prelude.Brendan Zabarauskas-1/+1
The `print!` and `println!` macros are now the preferred method of printing, and so there is no reason to export the `stdio` functions in the prelude. The functions have also been replaced by their macro counterparts in the tutorial and other documentation so that newcomers don't get confused about what they should be using.
2014-01-08Remove the io::Decorator traitAlex Crichton-2/+2
This is just an unnecessary trait that no one's ever going to parameterize over and it's more useful to just define the methods directly on the types themselves. The implementors of this type almost always don't want inner_mut_ref() but they're forced to define it as well.
2014-01-04Don't allow newtype structs to be dereferenced. #6246Brian Anderson-7/+14
2014-01-03libextra: Remove unnecessary `@mut`sPatrick Walton-4/+6
2013-12-16Fallout of rewriting std::commAlex Crichton-6/+5
2013-12-11Make 'self lifetime illegal.Erik Price-21/+21
Also remove all instances of 'self within the codebase. This fixes #10889.
2013-12-10libextra: Another round of de-`Cell`-ing.Patrick Walton-3/+0
34 uses of `Cell` remain.
2013-12-04Rename extra::json::*::init() constructors to *::new()Kevin Ballard-3/+3
2013-12-04std::str: remove from_utf8.Huon Wilson-1/+1
This function had type &[u8] -> ~str, i.e. it allocates a string internally, even though the non-allocating version that take &[u8] -> &str and ~[u8] -> ~str are all that is necessary in most circumstances.
2013-11-29extra: json::Encoder should take a &mut io::WriterErick Tryzelaar-8/+8
2013-11-29extra: Rename json constructors into *::initErick Tryzelaar-3/+3
2013-11-26librustuv: Remove all non-`proc` uses of `do` from `libextra` andPatrick Walton-10/+10
`librustuv`.
2013-11-19libextra: Convert uses of `&fn(A)->B` to `|A|->B`.Patrick Walton-1/+6
2013-11-18auto merge of #10561 : pcwalton/rust/procify, r=alexcrichtonbors-2/+2
r? @alexcrichton
2013-11-18libextra: Remove `~fn()` from libextra.Patrick Walton-2/+2
2013-11-19temporarily disable tests on android and tagging issue number #10455Young-il Choi-0/+1
2013-11-11Move std::rt::io to std::ioAlex Crichton-4/+4
2013-11-04Move io::file to io::fs and fns out of FileAlex Crichton-3/+3
This renames the `file` module to `fs` because that more accurately describes its current purpose (manipulating the filesystem, not just files). Additionally, this adds an UnstableFileStat structure as a nested structure of FileStat to signify that the fields should not be depended on. The structure is currently flagged with #[unstable], but it's unlikely that it has much meaning. Closes #10241
2013-11-03Fill out the remaining functionality in io::fileAlex Crichton-7/+6
This adds bindings to the remaining functions provided by libuv, all of which are useful operations on files which need to get exposed somehow. Some highlights: * Dropped `FileReader` and `FileWriter` and `FileStream` for one `File` type * Moved all file-related methods to be static methods under `File` * All directory related methods are still top-level functions * Created `io::FilePermission` types (backed by u32) that are what you'd expect * Created `io::FileType` and refactored `FileStat` to use FileType and FilePermission * Removed the expanding matrix of `FileMode` operations. The mode of reading a file will not have the O_CREAT flag, but a write mode will always have the O_CREAT flag. Closes #10130 Closes #10131 Closes #10121
2013-11-03Remove all blocking std::os blocking functionsAlex Crichton-20/+16
This commit moves all thread-blocking I/O functions from the std::os module. Their replacements can be found in either std::rt::io::file or in a hidden "old_os" module inside of native::file. I didn't want to outright delete these functions because they have a lot of special casing learned over time for each OS/platform, and I imagine that these will someday get integrated into a blocking implementation of IoFactory. For now, they're moved to a private module to prevent bitrot and still have tests to ensure that they work. I've also expanded the extensions to a few more methods defined on Path, most of which were previously defined in std::os but now have non-thread-blocking implementations as part of using the current IoFactory. The api of io::file is in flux, but I plan on changing it in the next commit as well. Closes #10057
2013-10-28Remove the extension traits for Readers/WritersAlex Crichton-1/+2
These methods are all excellent candidates for default methods, so there's no need to require extra imports of various traits.
2013-10-27Update workcache to no longer use Sha1.Palmer Cox-17/+5
2013-10-24Remove even more of std::ioAlex Crichton-23/+25
Big fish fried here: extra::json most of the compiler extra::io_util removed extra::fileinput removed Fish left to fry extra::ebml
2013-10-23Removed Unnecessary comments and white spaces #4386reedlepee-5/+0
2013-10-23Making fields in std and extra : private #4386reedlepee-11/+16
2013-10-22Drop the '2' suffix from logging macrosAlex Crichton-13/+13
Who doesn't like a massive renaming?
2013-10-18rustpkg: Make rustpkg tests stop comparing datesTim Chevalier-1/+1
Instead of scrutinizing modification times in rustpkg tests, change output files to be read-only and detect attempts to write to them (hack suggested by Jack). This avoids time granularity problems. As part of this change, I discovered that some dependencies weren't getting written correctly (involving built executables and library files), so this patch fixes that too. This partly addresses #9441, but one test (test_rebuild_when_needed) is still ignored on Linux.
2013-10-15path2: Adjust the API to remove all the _str mutation methodsKevin Ballard-1/+1
Add a new trait BytesContainer that is implemented for both byte vectors and strings. Convert Path::from_vec and ::from_str to one function, Path::new(). Remove all the _str-suffixed mutation methods (push, join, with_*, set_*) and modify the non-suffixed versions to use BytesContainer.
2013-10-15path2: Replace the path module outrightKevin Ballard-6/+11
Remove the old path. Rename path2 to path. Update all clients for the new path. Also make some miscellaneous changes to the Path APIs to help the adoption process.
2013-09-30extra: Remove usage of fmt!Alex Crichton-14/+14
2013-09-24Correctly encode item visibility in metadataAlex Crichton-6/+6
This fixes private statics and functions from being usable cross-crates, along with some bad privacy error messages. This is a reopening of #8365 with all the privacy checks in privacy.rs instead of resolve.rs (where they should be anyway). These maps of exported items will hopefully get used for generating documentation by rustdoc Closes #8592
2013-09-17remove unnecessary transmutesDaniel Micay-1/+0
2013-09-16switch Drop to `&mut self`Daniel Micay-1/+1
2013-09-16Have workcache::test put `foo.c` in the same directory it runs in.Lindsey Kuper-7/+16
This prevents a stray `foo.c` from being left lying around after tests run, and it's more consistent with the rest of the code.
2013-09-14extra::workcache: Remodel the (internal) struct Workblake2-ppc-16/+16
Using an enum with two cases for `Work` reveals simpler code than the previous `Option<Either<X, Y>>` representation.