summary refs log tree commit diff
path: root/src/libextra/workcache.rs
AgeCommit message (Collapse)AuthorLines
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.
2013-09-08extra: Address review comments from JackTim Chevalier-12/+13
2013-09-08rustpkg: Use workcacheTim Chevalier-2/+7
rustpkg now uses the workcache library to avoid recompilation. Hooray!
2013-09-08workcache: Add the ability to save and load the database...Tim Chevalier-19/+139
...as well as the ability to discover inputs and outputs.
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-3/+3
2013-08-07option.get -> option.unwrapErick Tryzelaar-2/+2
2013-08-03remove obsolete `foreach` keywordDaniel Micay-1/+1
this has been replaced by `for`
2013-08-02Crypto: Remove DigestUtil and convert to default methods on the Digest trait.Palmer Cox-2/+1
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-1/+1
2013-07-28auto merge of #8069 : erickt/rust/maikklein, r=ericktbors-2/+1
Good evening, This is a superset of @MaikKlein's #7969 commit, that I've fixed up to compile. I had a couple commits I wanted to do on top of @MaikKlein's work that I didn't want to bitrot.
2013-07-27cleanup .unwrap and .unwrap_err fixing io testsErick Tryzelaar-2/+1
2013-07-27Change concurrency primitives to standard naming conventionsSteven Stewart-Gallus-12/+12
To be more specific: `UPPERCASETYPE` was changed to `UppercaseType` `type_new` was changed to `Type::new` `type_function(value)` was changed to `value.method()`
2013-07-23extra: rebase fallout.Graydon Hoare-1/+1
2013-07-23extra: give up trying to make more fields of context cloneable, just use ARCs.Graydon Hoare-16/+28
2013-07-23extra: switch json from hashmaps to treemapsGraydon Hoare-2/+1
2013-07-23extra: clean up workcache to use & in place of @ most places.Graydon Hoare-58/+71
2013-07-23extra: remove a @ in workcache config.Graydon Hoare-3/+3
2013-07-23extra: change workcache::Work::unwrap to move out of self.Graydon Hoare-26/+18