Commit Graph

22517 Commits

Author SHA1 Message Date
Daniel Micay 48f61ecbf9 iter: add the edge case tests for `range` too 2013-09-15 00:54:32 -04:00
bors ccadbd3b7c auto merge of #9179 : catamorphism/rust/rustpkg-package-id, r=catamorphism,metajack
r? @metajack - This solves the problem you were having earlier with things like ```extern mod geom = "rust-geom";``` (or something like that).
2013-09-14 21:45:49 -07:00
Daniel Micay 8149e5c99f rm some uses of the `advance` iterator method 2013-09-15 00:45:34 -04:00
Daniel Micay a05c4a1e5f remove old internal iterator range tests
The cases they test are well covered in the `std::iter` tests.
2013-09-15 00:44:48 -04:00
Tim Chevalier a7e49d6e83 rustpkg: Always write a package_id attribute into the link metadata
For some reason, I thought it wasn't necessary to write the package_id
attribute (which rustc's filesearch checks when searching for a package)
if the package ID had a single component (like "foo") as opposed to multiple
components (like "foo/bar/quux"). This meant that
`extern mod quux = "an-awesome-library";` didn't work, even if an-awesome-library
existed in the RUST_PATH.

Fixed it.
2013-09-14 21:42:19 -07:00
blake2-ppc 6e3d5c62e7 std::num: Remove `range_step` for each numeric type
Replaced by `std::iter::range_step`
2013-09-15 00:41:41 -04:00
blake2-ppc ad74fde62f Use std::iter::range_step
Use the iterator version instead of the old uint::/int::range_step
functions.
2013-09-15 00:41:34 -04:00
Daniel Micay 66c2965b04 iter: fix `RangeInclusive`'s `DoubleEndedIterator` 2013-09-15 00:39:34 -04:00
Daniel Micay bf7587f551 iter: fix `range_inclusive` when `start > stop` 2013-09-15 00:32:15 -04:00
Daniel Micay 1f961c74c4 fix range_step{,_inclusive} with negative step 2013-09-15 00:32:07 -04:00
bors a2231dce92 auto merge of #9200 : lkuper/rust/libsyntax-cleanup, r=luqmana 2013-09-14 18:25:49 -07:00
bors 0dbd509e0f auto merge of #9199 : thestinger/rust/range_step, r=cmr
My focus was on getting these to be correct in all cases by handling overflow properly. I'll clean them up and work on the performance later.
2013-09-14 17:10:51 -07:00
Lindsey Kuper 6ba2cb88a6 These impls, at least, can be avoided by deriving Ord. 2013-09-14 19:38:22 -04:00
Lindsey Kuper 653ffa845d Kill off method impls made redundant by default methods. 2013-09-14 19:38:22 -04:00
Daniel Micay a18038f3b2 iter: add `RangeStep` and `RangeStepInclusive` 2013-09-14 18:26:21 -04:00
bors cf7e93ff25 auto merge of #9198 : FlaPer87/rust/shared-port, r=cmr
SharedPort implementation was missing in std::comm. Since this module
also wraps SharedChan, it makes sense to have SharedPort defined there
as well.
2013-09-14 15:20:50 -07:00
bors 5c4f65e6f5 auto merge of #9191 : huonw/rust/are-you-tired, r=cmr
Allows `std::rt::io::timer::sleep(1000)` rather than `std::rt::io::timer::Timer::new().unwrap().sleep(1000)`.
2013-09-14 14:05:51 -07:00
Daniel Micay 3aead52586 iter: move Counter impl to the proper place 2013-09-14 16:51:55 -04:00
Daniel Micay 10c8978edb iter: replace comment with a docstring 2013-09-14 16:51:33 -04:00
Flavio Percoco 9357f8f4cd Add SharedPort wrapper around rt::comm::SharedPort
SharedPort implementation was missing in std::comm. Since this module
also wraps SharedChan, it makes sense to have SharedPort defined there
as well.
2013-09-14 22:50:28 +02:00
Daniel Micay 561f1b0063 iter: fix range docstrings 2013-09-14 16:33:19 -04:00
bors 524c190565 auto merge of #9183 : alexcrichton/rust/issue-5794, r=catamorphism
Closes #5794
2013-09-14 12:30:54 -07:00
bors bca015d9ff auto merge of #9182 : bjz/rust/master, r=brson
Somehow this was missed!

cc #4819
2013-09-14 11:15:54 -07:00
bors 5f2f952dbc auto merge of #9181 : lkuper/rust/libsyntax-default-methods-refactor, r=alexcrichton
I'm getting the three `make check` failures mentioned in issue #9127, which I also get building master.
2013-09-14 10:05:51 -07:00
bors 1c26513ef9 auto merge of #9180 : blake2-ppc/rust/reduce-either, r=catamorphism
Work a bit towards #9157 "Remove Either". These instances don't need to use Either and are better expressed in other ways (removing allocations and simplifying types).
2013-09-14 08:50:50 -07:00
bors 5d905f1314 auto merge of #9178 : lkuper/rust/docs, r=catamorphism 2013-09-14 07:30:54 -07:00
Huon Wilson f39ab75a78 std::rt: Add a standalone sleep function. 2013-09-15 00:20:48 +10:00
bors 9792ec6da7 auto merge of #9174 : thestinger/rust/bot, r=catamorphism
An expression such as `bottom == not_bottom` or `not_bottom == bottom`
already compiled, but this fixes the case where both sides are `bottom`.
2013-09-14 06:15:52 -07:00
bors 55b43fa26e auto merge of #9165 : klutzy/rust/newrt-file-fix, r=sanxiyn
It was broken on win32 because of header inconsistency.
2013-09-14 05:00:56 -07:00
bors 3d469c25e5 auto merge of #9162 : alexcrichton/rust/issue-9123, r=catamorphism
Closes #9123
2013-09-14 03:45:56 -07:00
bors f853f0b2d6 auto merge of #9160 : alexcrichton/rust/local-data-docs, r=huonw
Remove references to local_data::Key and only mention the macro for how to
construct new keys into local data.
2013-09-14 02:30:59 -07:00
bors fbafb41fff auto merge of #9156 : sfackler/rust/buffered-fix, r=huonw
This is a workaround for #9155. Currently, any uses of BufferedStream
outside of libstd ICE.
2013-09-14 01:16:00 -07:00
bors 2aa578efd9 auto merge of #9115 : erickt/rust/master, r=erickt
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.
2013-09-14 00:01:04 -07:00
Lindsey Kuper 940a86b760 Get rid of unused SimpleVisitor stuff. 2013-09-14 02:00:04 -04:00
bors 4ac10f8f6e auto merge of #9185 : alexcrichton/rust/less-changing-directories, r=huonw
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).
2013-09-13 22:16:03 -07:00
Alex Crichton 0af2bd829e Remove all usage of change_dir_locked
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).
2013-09-13 21:58:00 -07:00
bors 52b9688f92 auto merge of #9176 : brson/rust/issue-9129, r=catamorphism
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
2013-09-13 21:06:02 -07:00
Alex Crichton 6c4c5f5631 Pass a more proper span to the syntax expanders
Closes #5794
2013-09-13 20:54:52 -07:00
Brendan Zabarauskas ec8f88417c Add Orderable bound to num::Primitive 2013-09-14 13:31:31 +10:00
blake2-ppc 15c9dc7a86 extra::workcache: Remodel the (internal) struct Work
Using an enum with two cases for `Work` reveals simpler code than the
previous `Option<Either<X, Y>>` representation.
2013-09-14 04:07:51 +02:00
blake2-ppc 830ac37ca2 std::logging: Use a more specific enum than Either 2013-09-14 04:07:43 +02:00
blake2-ppc b4eff79f38 extra::test: Use Result instead of Either.
OptRes was combining a successful value with an error message, which
fits the Result type perfectly.
2013-09-14 04:07:43 +02:00
blake2-ppc 92c4c077a0 syntax: Remove use of Either in parse.rs
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`
2013-09-14 04:07:43 +02:00
bors a241deb979 auto merge of #9173 : thestinger/rust/offset, r=alexcrichton
This was intended to always use inbounds pointer arithmetic now.
2013-09-13 18:00:58 -07:00
Lindsey Kuper ade7df43d6 Refactor libsyntax Visitor impls to use default methods. 2013-09-13 20:48:58 -04:00
Lindsey Kuper 462dcc8e7a Minor cleanup and formatting tweaks to the rust-mode README 2013-09-13 20:46:41 -04:00
Brian Anderson c62919f607 Work around a compiler crash folding labeled break. #9129
Servo is hitting this problem, so this is a workaround for a lack of a real solution.
2013-09-13 16:00:18 -07:00
Daniel Micay 298f06f267 make ! support the equality/ordering operators
An expression such as `bottom == not_bottom` or `not_bottom == bottom`
already compiled, but this fixes the case where both sides are `bottom`.
2013-09-13 17:31:59 -04:00
Daniel Micay 2dec95e417 ptr: fix offset intrinsic
This was intended to always use inbounds pointer arithmetic now.
2013-09-13 17:14:24 -04:00
bors 150b4ffccc auto merge of #9158 : thestinger/rust/extern, r=alexcrichton
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
2013-09-13 14:10:52 -07:00