about summary refs log tree commit diff
path: root/src/libextra/lib.rs
AgeCommit message (Collapse)AuthorLines
2014-02-21auto merge of #12415 : HeroesGrave/rust/move-enum-set, r=alexcrichtonbors-1/+0
Part of #8784 Also removed the one glob import.
2014-02-20move extra::test to libtestLiigo Zhuang-10/+1
2014-02-20move enum_set to libcollections. #8784HeroesGrave-1/+0
2014-02-14extern mod => extern crateAlex Crichton-3/+3
This was previously implemented, and it just needed a snapshot to go through
2014-02-13Register new snapshotsAlex Crichton-10/+0
2014-02-13Move base64 and hex from libextra to libserializeLiigo Zhuang-2/+0
2014-02-11Factoring bigint, rational, and complex out of libextra into libnum.Felix S. Klock II-6/+0
Removed use of globs present in earlier versions of modules. Fix tutorial.md to reflect `extra::rational` ==> `num::rational`.
2014-02-09extra::test: add an opaque function to assist with accurateHuon Wilson-1/+1
benchmarking. This allows a result to be marked as "used" by passing it to a function LLVM cannot see inside. By making `iter` generic and using this `black_box` on the result benchmarks can get this behaviour simply by returning their computation.
2014-02-07moved collections from libextra into libcollectionsHeroesGrave-19/+2
2014-02-06Move getopts out of extraArcterus-1/+0
2014-02-05pull extra::{serialize, ebml} into a separate libserialize crateJeff Olson-2/+11
- `extra::json` didn't make the cut, because of `extra::json` required dep on `extra::TreeMap`. If/when `extra::TreeMap` moves out of `extra`, then `extra::json` could move into `serialize` - `libextra`, `libsyntax` and `librustc` depend on the newly created `libserialize` - The extensions to various `extra` types like `DList`, `RingBuf`, `TreeMap` and `TreeSet` for `Encodable`/`Decodable` were moved into the respective modules in `extra` - There is some trickery, evident in `src/libextra/lib.rs` where a stub of `extra::serialize` is set up (in `src/libextra/serialize.rs`) for use in the stage0 build, where the snapshot rustc is still making deriving for `Encodable` and `Decodable` point at extra. Big props to @huonw for help working out the re-export solution for this extra: inline extra::serialize stub fix stuff clobbered in rebase + don't reexport serialize::serialize no more globs in libserialize syntax: fix import of libserialize traits librustc: fix bad imports in encoder/decoder add serialize dep to librustdoc fix failing run-pass tests w/ serialize dep adjust uuid dep more rebase de-clobbering for libserialize fixing tests, pushing libextra dep into cfg(test) fix doc code in extra::json adjust index.md links to serialize and uuid library
2014-02-05move concurrent stuff from libextra to libsyncJeremyLetang-8/+7
2014-02-04Register new snapshotsAlex Crichton-5/+0
2014-02-04extra: Move uuid to libuuidBirunthan Mohanathas-2/+0
cc #8784
2014-02-03auto merge of #12012 : omasanori/rust/semver, r=alexcrichtonbors-1/+0
Done as a part of #8784.
2014-02-03extra: Remove io_error usageAlex Crichton-0/+5
2014-02-03Move semver out of libextra.OGINO Masanori-1/+0
Done as a part of #8784. Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2014-02-02Move term, terminfo out of extra.xales-4/+1
cc #8784
2014-01-29extra: move glob to libglobDavid Manescu-1/+0
In line with the dissolution of libextra - moves glob to its own library libglob. Changes based on PR #11787. Updates .gitignore to ignore doc/glob.
2014-01-29extra: move arena to libarenaDavid Manescu-1/+0
In line with the dissolution of libextra - #8784 - moves arena to its own library libarena. Changes based on PR #11787. Updates .gitignore to ignore doc/arena.
2014-01-26Move extra::flate to libflateAlex Crichton-1/+0
This is hopefully the beginning of the long-awaited dissolution of libextra. Using the newly created build infrastructure for building libraries, I decided to move the first module out of libextra. While not being a particularly meaty module in and of itself, the flate module is required by rustc and additionally has a native C dependency. I was able to very easily split out the C dependency from rustrt, update librustc, and magically everything gets installed to the right locations and built automatically. This is meant to be a proof-of-concept commit to how easy it is to remove modules from libextra now. I didn't put any effort into modernizing the interface of libflate or updating it other than to remove the one glob import it had.
2014-01-20Register new snapshotsAlex Crichton-2/+1
Upgrade the version to 0.10-pre
2014-01-15Add a configure to disable libstd version injectionAlex Crichton-1/+2
We'll use this when building snapshots so we can upgrade freely, but all compilers will inject a version by default.
2014-01-12Bump version to 0.10-preBrian Anderson-1/+1
2014-01-07extratest: Fix all leaked trait importsAlex Crichton-10/+0
2014-01-07Fix remaining cases of leaking importsAlex Crichton-2/+0
2014-01-02Bump version to 0.9Brian Anderson-1/+1
2013-12-26Register new snapshotsAlex Crichton-2/+0
2013-12-20extra: remove sort in favour of the std method.Huon Wilson-2/+0
Fixes #9676.
2013-12-19Rename pkgid to crate_idCorey Richardson-0/+2
Closes #11035
2013-12-15Register new snapshotsAlex Crichton-12/+4
Understand 'pkgid' in stage0. As a bonus, the snapshot now contains now metadata (now that those changes have landed), and the snapshot download is half as large as it used to be!
2013-12-10Make crate hash stable and externally computable.Jack Moffitt-0/+2
This replaces the link meta attributes with a pkgid attribute and uses a hash of this as the crate hash. This makes the crate hash computable by things other than the Rust compiler. It also switches the hash function ot SHA1 since that is much more likely to be available in shell, Python, etc than SipHash. Fixes #10188, #8523.
2013-12-05auto merge of #10211 : ktt3ja/rust/add-lrucache, r=brsonbors-0/+1
There's an open issue ([Issue #4988](https://github.com/mozilla/rust/issues/4988?source=cc)) for adding an LRU Cache to the standard library. I'm new to this so I hope I didn't miss anything I'm supposed to do.
2013-12-03Register new snapshotsAlex Crichton-2/+0
2013-11-30Test fixes and merge conflictsAlex Crichton-0/+1
2013-11-29Add generation of static libraries to rustcAlex Crichton-1/+3
This commit implements the support necessary for generating both intermediate and result static rust libraries. This is an implementation of my thoughts in https://mail.mozilla.org/pipermail/rust-dev/2013-November/006686.html. When compiling a library, we still retain the "lib" option, although now there are "rlib", "staticlib", and "dylib" as options for crate_type (and these are stackable). The idea of "lib" is to generate the "compiler default" instead of having too choose (although all are interchangeable). For now I have left the "complier default" to be a dynamic library for size reasons. Of the rust libraries, lib{std,extra,rustuv} will bootstrap with an rlib/dylib pair, but lib{rustc,syntax,rustdoc,rustpkg} will only be built as a dynamic object. I chose this for size reasons, but also because you're probably not going to be embedding the rustc compiler anywhere any time soon. Other than the options outlined above, there are a few defaults/preferences that are now opinionated in the compiler: * If both a .dylib and .rlib are found for a rust library, the compiler will prefer the .rlib variant. This is overridable via the -Z prefer-dynamic option * If generating a "lib", the compiler will generate a dynamic library. This is overridable by explicitly saying what flavor you'd like (rlib, staticlib, dylib). * If no options are passed to the command line, and no crate_type is found in the destination crate, then an executable is generated With this change, you can successfully build a rust program with 0 dynamic dependencies on rust libraries. There is still a dynamic dependency on librustrt, but I plan on removing that in a subsequent commit. This change includes no tests just yet. Our current testing infrastructure/harnesses aren't very amenable to doing flavorful things with linking, so I'm planning on adding a new mode of testing which I believe belongs as a separate commit. Closes #552
2013-11-28Register new snapshotsAlex Crichton-2/+0
2013-11-13Add lru_cache to libextraKiet Tran-0/+1
2013-11-11Remove #[fixed_stack_segment] and #[rust_stack]Alex Crichton-0/+2
These two attributes are no longer useful now that Rust has decided to leave segmented stacks behind. It is assumed that the rust task's stack is always large enough to make an FFI call (due to the stack being very large). There's always the case of stack overflow, however, to consider. This does not change the behavior of stack overflow in Rust. This is still normally triggered by the __morestack function and aborts the whole process. C stack overflow will continue to corrupt the stack, however (as it did before this commit as well). The future improvement of a guard page at the end of every rust stack is still unimplemented and is intended to be the mechanism through which we attempt to detect C stack overflow. Closes #8822 Closes #10155
2013-11-08Specify package_id for rust libs, to avoid spurious warningsAndrei Formiga-0/+1
2013-11-07Addressed style concerns in btree.rs and added it to the lib file.niftynif-0/+1
Added documentation within btree.rs.
2013-11-03Rename files to match current recommendations.Chris Morgan-0/+123
New standards have arisen in recent months, mostly for the use of rustpkg, but the main Rust codebase has not been altered to match these new specifications. This changeset rectifies most of these issues. - Renamed the crate source files `src/libX/X.rs` to `lib.rs`, for consistency with current styles; this affects extra, rustc, rustdoc, rustpkg, rustuv, std, syntax. - Renamed `X/X.rs` to `X/mod.rs,` as is now recommended style, for `std::num` and `std::terminfo`. - Shifted `src/libstd/str/ascii.rs` out of the otherwise unused `str` directory, to be consistent with its import path of `std::ascii`; libstd is flat at present so it's more appropriate thus. While this removes some `#[path = "..."]` directives, it does not remove all of them, and leaves certain other inconsistencies, such as `std::u8` et al. which are actually stored in `src/libstd/num/` (one subdirectory down). No quorum has been reached on this issue, so I felt it best to leave them all alone at present. #9208 deals with the possibility of making libstd more hierarchical (such as changing the crate to match the current filesystem structure, which would make the module path `std::num::u8`). There is one thing remaining in which this repository is not rustpkg-compliant: rustpkg would have `src/std/` et al. rather than `src/libstd/` et al. I have not endeavoured to change that at this point as it would guarantee prompt bitrot and confusion. A change of that magnitude needs to be discussed first.