| Age | Commit message (Collapse) | Author | Lines |
|
It was broken on win32 because of header inconsistency.
|
|
Closes #9123
|
|
Remove references to local_data::Key and only mention the macro for how to
construct new keys into local data.
|
|
This is a workaround for #9155. Currently, any uses of BufferedStream
outside of libstd ICE.
|
|
This is a series of patches to modernize option and result. The highlights are:
* rename `.unwrap_or_default(value)` and etc to `.unwrap_or(value)`
* add `.unwrap_or_default()` that uses the `Default` trait
* add `Default` implementations for vecs, HashMap, Option
* add `Option.and(T) -> Option<T>`, `Option.and_then(&fn() -> Option<T>) -> Option<T>`, `Option.or(T) -> Option<T>`, and `Option.or_else(&fn() -> Option<T>) -> Option<T>`
* add `option::ToOption`, `option::IntoOption`, `option::AsOption`, `result::ToResult`, `result::IntoResult`, `result::AsResult`, `either::ToEither`, and `either::IntoEither`, `either::AsEither`
* renamed `Option::chain*` and `Result::chain*` to `and_then` and `or_else` to avoid the eventual collision with `Iterator.chain`.
* Added a bunch of impls of `Default`
* Added a `#[deriving(Default)]` syntax extension
* Removed impls of `Zero` for `Option<T>` and vecs.
|
|
|
|
While usage of change_dir_locked is synchronized against itself, it's not
synchronized against other relative path usage, so I'm of the opinion that it
just really doesn't help in running tests. In order to prevent the problems that
have been cropping up, this completely removes the function.
All existing tests (except one) using it have been moved to run-pass tests where
they get their own process and don't need to be synchronized with anyone else.
There is one now-ignored rustpkg test because when I moved it to a run-pass test
apparently run-pass isn't set up to have 'extern mod rustc' (it ends up having
linkage failures).
|
|
While usage of change_dir_locked is synchronized against itself, it's not
synchronized against other relative path usage, so I'm of the opinion that it
just really doesn't help in running tests. In order to prevent the problems that
have been cropping up, this completely removes the function.
All existing tests (except one) using it have been moved to run-pass tests where
they get their own process and don't need to be synchronized with anyone else.
There is one now-ignored rustpkg test because when I moved it to a run-pass test
apparently run-pass isn't set up to have 'extern mod rustc' (it ends up having
linkage failures).
|
|
Servo is hitting this problem, so this is a workaround for lack of a real solution.
No tests because I couldn't actually reproduce the problem with either of the testcases in #9129
|
|
Closes #5794
|
|
|
|
Using an enum with two cases for `Work` reveals simpler code than the
previous `Option<Either<X, Y>>` representation.
|
|
|
|
OptRes was combining a successful value with an error message, which
fits the Result type perfectly.
|
|
The arg or capture type alias was actually never used for the capture
case, so the code is simplified with `Either<arg, ()>` replaced by `arg`
|
|
This was intended to always use inbounds pointer arithmetic now.
|
|
|
|
|
|
Servo is hitting this problem, so this is a workaround for a lack of a real solution.
|
|
An expression such as `bottom == not_bottom` or `not_bottom == bottom`
already compiled, but this fixes the case where both sides are `bottom`.
|
|
This was intended to always use inbounds pointer arithmetic now.
|
|
Since function pointers do not carry along the function attributes with
them in the type, this needs to be set on the call instruction itself.
Closes #9152
|
|
catamorphism/rust/rustpkg-target-specific-subdirectory, r=brson
r? @brson As per rustpkg.md, rustpkg now builds in a target-specific
subdirectory of build/, and installs libraries into a target-specific
subdirectory of lib.
Closes #8672
|
|
The glob tests cannot change the current working directory because the other tests (namely the fileinput ones) depend on the current working directory not changing.
|
|
The normal unit tests cannot change the current working directory because it
messes with the other tests which depend on a particular working directory.
|
|
As per rustpkg.md, rustpkg now builds in a target-specific
subdirectory of build/, and installs libraries into a target-specific
subdirectory of lib.
Closes #8672
|
|
Since function pointers do not carry along the function attributes with
them in the type, this needs to be set on the call instruction itself.
Closes #9152
|
|
|
|
|
|
It was broken on win32 because of header inconsistency.
|
|
These tests are being very flaky on the bots, and the reason is that files are
being created and then when attempted to get read they actually don't exist. I'm
not entirely sure why this is happening, but I also don't fully trust the
std::io implemention using @-boxes to close/flush/write files at the right time.
This moves the tests to using std::rt::io which is hopefully more robust and
something that we can actually reason about. Sadly, due to #8810, these tests
fail on windows, so they're all ignored on windows right now.
|
|
Closes #9123
|
|
Testing this is a little tricky as an intermediate temporary directory is only used for remote git repositories and therefore that path cannot be reliably exercised in the tests.
|
|
Remove references to local_data::Key and only mention the macro for how to
construct new keys into local data.
|
|
This patch converts the rust_crate_map.cpp to Rust as mentioned at the end of #8880.
|
|
This is a workaround for #9155. Currently, any uses of BufferedStream
outside of libstd ICE.
|
|
|
|
Install to the first directory in the RUST_PATH if the user set a
RUST_PATH. In the case where RUST_PATH isn't set, the behavior
remains unchanged.
Closes #7402
|
|
|
|
Options are not numeric types, so it doesn't make sense for them to
implement Zero.
|
|
Vecs are not numeric types, so it doesn't make sense for them to
implement Zero.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|