Niko Matsakis
5c1338a18e
add ability to run multi-crate tests, run tests with --inline
2012-02-28 06:31:29 -08:00
Niko Matsakis
8cffc6f84c
add debugging mode which emits more verbose info
2012-02-28 06:31:28 -08:00
Brian Anderson
61691c2428
std: Make merge_sort faster
2012-02-27 18:32:45 -08:00
Niko Matsakis
f3ca50c9ca
Encode/decode AST into metadata, re-instantiate inlined items
2012-02-24 20:46:27 -08:00
Marijn Haverbeke
780f8277f4
Finish cleanup of core::str
...
Closes #1849
2012-02-23 17:00:19 +01:00
Marijn Haverbeke
d802c1fbd2
Various cleanups and optimizations in core::str
2012-02-23 17:00:19 +01:00
Kevin Cantu
c3318f29fe
(core::str) rename substr_len_bytes to substr_len, and delete unused byte_index[_from]
2012-02-23 17:00:19 +01:00
Kevin Cantu
7782f5d692
(core::str) remove len_bytes alias
2012-02-23 17:00:19 +01:00
Kevin Cantu
1b957c0942
(core::str) replace uses of unsafe::slice_bytes; replace find[_from]_bytes with find[_from]
2012-02-23 17:00:19 +01:00
Kevin Cantu
6ea3d7935e
(core::str) replace byte_index[_from] with index[_from]
2012-02-23 17:00:19 +01:00
Kevin Cantu
280633a728
(core::str) do some replacements
2012-02-23 17:00:19 +01:00
Kevin Cantu
454b53a7c2
(core::char) rename slice -> slice_chars
2012-02-23 17:00:19 +01:00
Kevin Cantu
1cd5a0945a
(core::str) rename rindex -> rindex_chars
2012-02-23 17:00:19 +01:00
Kevin Cantu
98447f5236
(core::str) mostly rename len -> len_chars
2012-02-23 17:00:19 +01:00
Marijn Haverbeke
ffd50b9cdf
Make the various from_str functions return options
...
So that they can be used with user input without causing task
failures.
Closes #1335
2012-02-22 13:18:15 +01:00
Marijn Haverbeke
ad03761a97
Remove preconditions from libraries
...
Closes #1805
2012-02-22 11:47:47 +01:00
Brian Anderson
4220dcf1e9
core: New task API
2012-02-20 18:58:04 -08:00
Brian Anderson
010f2abc70
core: When running tests sequentially, print the test name before running it
...
Useful for debugging hanging tests
2012-02-18 16:30:09 -08:00
Chris Peterson
3d202d7eae
rt: rename nano_time() builtin to match time::precise_time_ns()
2012-02-18 01:39:42 -08:00
Chris Peterson
b73bc30858
std: Add tests for time module
...
Tested on OSX and Windows.
2012-02-18 01:32:52 -08:00
Chris Peterson
105b5f0be8
std: Expand doc comments for time module
2012-02-18 01:30:12 -08:00
Chris Peterson
94fe5011e2
std: Add some env() and getenv() tests
2012-02-17 08:47:45 +01:00
Chris Peterson
aec76d2515
std: Fix env() assert when an environment variable's value contains a '=' char
2012-02-17 08:47:44 +01:00
Marijn Haverbeke
67cc89f38d
Rewrite exhaustiveness checker
...
Issue #352
Closes #1720
The old checker would happily accept things like 'alt x { @some(a) { a } }'.
It now properly descends into patterns, checks exhaustiveness of booleans,
and complains when number/string patterns aren't exhaustive.
2012-02-15 15:47:42 +01:00
Marijn Haverbeke
4b63826050
Replace some explicit fails with 'alt check' invocations
2012-02-15 15:47:42 +01:00
Brian Anderson
acabd821d2
Merge pull request #1831 from killerswan/str_fixes
...
(core::str) changes to find / find_bytes
2012-02-14 11:22:31 -08:00
Niko Matsakis
3a2f1e1876
add serialization library; convert ebml lib to use u64 internally
2012-02-13 06:50:58 -08:00
Kevin Cantu
c81867474a
(core::str) add find_bytes and export it...
2012-02-13 01:56:58 -08:00
Kevin Cantu
2ba44e24d5
(core::str) rename byte_len_range -> substr_len_bytes and
...
rename char_len_range -> substr_len_chars
2012-02-12 15:30:20 -08:00
Kevin Cantu
2b4f5136a5
(core::str) rename byte_len -> len_bytes and rename char_len -> len
2012-02-12 15:30:20 -08:00
Kevin Cantu
944f5a6598
(core::str) move push_byte, push_bytes, pop_byte, and shift_byte into str::unsafe
2012-02-12 15:30:20 -08:00
Kevin Cantu
e0af23b664
using str::rindex...
2012-02-11 16:39:39 -08:00
Kevin Cantu
27161f4415
using str::index...
2012-02-11 16:39:39 -08:00
Kevin Cantu
a131b430a0
core::str rename [r]index -> [r]index_bytes
2012-02-11 16:39:39 -08:00
Niko Matsakis
e712a47a81
create serialization lib and update serializer to use it
2012-02-10 20:48:29 -08:00
Niko Matsakis
fdddf8f9e1
put serializer into the build and encode full item paths
2012-02-10 20:48:28 -08:00
Niko Matsakis
5d57fa3403
update ebml interface
2012-02-10 20:48:28 -08:00
Marijn Haverbeke
52a741754c
Remove some pointless imports
2012-02-09 15:30:27 +01:00
Marijn Haverbeke
50fb4c30ed
Increase precedence of as operator
...
Closes #1717
2012-02-09 11:58:08 +01:00
Brian Anderson
6cf40bd0c4
std: Use correct split function in generic_os::env
2012-02-07 20:20:58 -08:00
Graydon Hoare
93450abb4b
Make process-spawning take environments and working directories, remove procsrv task from compiletest.
2012-02-07 19:57:03 -08:00
Kevin Cantu
2b0396c34a
core: make str::substr use char positions (and replace other uses)
2012-02-07 16:25:35 -08:00
Kevin Cantu
a3f5626ad1
String split renaming:
...
* Renamed str::split -> str::split_byte
* Renamed str::splitn -> str::splitn_byte
* Renamed str::split_func -> str::split
* Renamed str::split_char -> str::split_char
* Renamed str::split_chars_iter -> str::split_char_iter
* Added u8::is_ascii
* Fixed the behavior of str::split_str, so that it matches split_chars
and split (i.e. ["", "XXX", "YYY", ""] == split_str(".XXX.YYY.", "."))
* Fixed str::split_byte and str::splitn_byte so that they handle
splitting UTF-8 strings on a given UTF-8/ASCII byte and also handle ""
as the others do
2012-02-07 16:25:35 -08:00
Brian Anderson
fdf50e84b8
std: Use ctypes::c_int in path_is_dir
2012-02-05 16:21:52 -08:00
Brian Anderson
91b6dc5c8e
Merge remote-tracking branch 'erickt/master'
...
Conflicts:
src/libcore/vec.rs
src/libstd/getopts.rs
2012-02-05 15:15:21 -08:00
Tom Lee
31b0d1b4bd
core: rename str::lteq to str::le
2012-02-03 14:09:44 +01:00
Tom Lee
a02f332602
std: rename sort::lteq to sort::le.
2012-02-03 12:02:57 +01:00
Graydon Hoare
c485301d21
Update libuv.
2012-02-02 17:39:47 -08:00
Graydon Hoare
6784b18303
Win32 warning police.
2012-02-02 11:35:07 -08:00
Kevin Cantu
ae0d49aa06
Rename str::char_slice -> str::slice
2012-02-01 21:56:53 -08:00
Kevin Cantu
8f367ebfeb
Rename (again) str::unsafe::slice -> str::unsafe::slice_bytes and
...
str::unsafe::safe_slice -> str::unsafe::slice_bytes_safe_range
2012-02-01 21:56:53 -08:00
Kevin Cantu
6156bc56cb
Propagating unsafe::slice 2
2012-02-01 21:56:53 -08:00
Kevin Cantu
47c57a17dc
Propagating unsafe::slice 1
2012-02-01 21:56:53 -08:00
Marijn Haverbeke
856a544d0c
Remove native types from stdlib
2012-02-01 12:23:13 +01:00
Tim Chevalier
e5d095d67e
Change option::t to option
...
Now that core exports "option" as a synonym for option::t, search-and-
replace option::t with option.
The only place that still refers to option::t are the modules in libcore
that use option, because fixing this requires a new snapshot
(forthcoming).
2012-01-31 17:05:20 -08:00
Kevin Cantu
685a434e0a
Rename str::loop_chars to str::all,
...
rename str::loop_chars_sub to str::substr_all, and
propagate this change to std::rope and rustdoc's calls to these
2012-01-31 14:29:11 -08:00
Tim Chevalier
fba35e1a3c
Require alts to be exhaustive
...
middle::check_alt does the work. Lots of changes to add default cases
into alts that were previously inexhaustive.
2012-01-31 10:08:24 -08:00
Paul Woolcock
e1251f7b00
Change all ternary ops to if/then/else
...
All the files below had at least one instance of the ternary operator
present in the source. All have been changed to the equivalent
if/then/else expression.
2012-01-30 18:21:01 +01:00
Erick Tryzelaar
5b2c0a999f
std: Whitespace cleanup.
2012-01-28 09:18:35 -08:00
Erick Tryzelaar
259636a112
core: rename vec::position* functions
...
Almost all of the vec functions that predicates don't have a
corresponding function that takes a single element, so this
commit renames the common fn usecase to be the default.
2012-01-28 09:18:34 -08:00
Brian Anderson
3321880f13
Merge remote-tracking branch 'killerswan/fixing_strings_2'
...
Conflicts:
src/comp/driver/driver.rs
src/comp/middle/trans/base.rs
src/comp/syntax/parse/lexer.rs
2012-01-27 16:44:40 -08:00
Brian Anderson
7e620f87a6
std: Long lines
2012-01-27 15:11:45 -08:00
Donovan Preston
6b42e6b298
Re-apply fixes brson made.
2012-01-27 15:07:29 -08:00
Donovan Preston
3d76922f97
Implement timers.
2012-01-27 14:04:13 -08:00
Marijn Haverbeke
e48bf6f3f4
Make occurs check in ty::fixup_vars more reliable
...
It wouldn't detect cycles that went through several type vars before.
Closes #1464
2012-01-27 18:58:52 +01:00
Brian Anderson
335302f08d
std: Fix types in uvtmp tests
2012-01-26 16:19:46 -08:00
Donovan Preston
9e39219d9b
Shuffle around to work with rust-spidermonkey
2012-01-26 16:01:26 -08:00
Kevin Cantu
5847cf0367
(TEMPORARY) Break something by making io::mem_buffer_str UTF-8 safe
2012-01-25 21:53:37 -08:00
Kevin Cantu
a185b10647
Replacing str::unsafe_from_bytes with str::from_bytes (part 6)
2012-01-25 01:42:28 -08:00
Kevin Cantu
57717fa4d8
Replacing str::unsafe_from_bytes with str::from_bytes (part 5)
2012-01-25 01:29:44 -08:00
Kevin Cantu
c7b23f9a86
Replacing str::unsafe_from_bytes with str::from_bytes (part 1)
2012-01-25 00:53:17 -08:00
Niko Matsakis
5e13d19cc0
s/block()/fn()/g
2012-01-23 19:06:33 -08:00
Brian Anderson
07f8555b3e
std: Add some hacks to use libuv
2012-01-22 20:06:58 -08:00
Niko Matsakis
42b97f317a
use u64 and not uint; otherwise shift results are undef. in 32 bit
...
Fixes #1605 .
2012-01-21 19:31:52 -08:00
Niko Matsakis
de2bb2806f
update to use u64; u32 has undefined results
2012-01-21 19:31:52 -08:00
Brian Anderson
52b1623089
std: Remove extfmt. Has been moved to core. Closes #1600
2012-01-21 13:51:54 -08:00
Graham Fawcett
fc2ae08b9c
issue #1352 : change param order on {std,core}::extfmt::str_init_elt to mirror vec::init_elt.
2012-01-21 13:33:16 -08:00
Graham Fawcett
7763b40c71
issue #1352 : change param order on vec::init_elt, putting block in final position.
...
To match the init_fn() and init_fn_mut() changes.
2012-01-21 13:33:16 -08:00
Graham Fawcett
35d12be2ce
fix #1352 : change param order on vec::init_fn (and vec::init_fn_mut), putting block in final position.
2012-01-21 13:31:12 -08:00
Graydon Hoare
7b1a8f0a91
Additional ; to , changes, disable "tag" and ";" in parser. Close #1430 . Close #1428 .
2012-01-19 19:29:21 -08:00
Patrick Walton
6222e98dda
lib: ';' to ',' in enums in more places
2012-01-19 19:08:49 -08:00
Patrick Walton
194d8e3bd5
lib: ";" to "," in enums
2012-01-19 18:04:24 -08:00
Brian Anderson
6d4884d983
libcore: Use 4x the number of scheduler threads for testing
...
An arbitrary number. I've done no measurements but it's intended to overcome
the effects of tasks randomly being scheduled to threads and no work stealing.
If scheduler threads == 1 then we just use a single test task.
2012-01-19 17:54:21 -08:00
Brian Anderson
928e55815c
libcore: Do less blocking in the test runner
2012-01-19 17:54:21 -08:00
Patrick Walton
c5a407b11b
stdlib: "tag" -> "enum"
2012-01-19 15:22:25 -08:00
Brian Anderson
48e916c8fa
libstd: Long lines
2012-01-19 13:44:07 -08:00
Brian Anderson
f15182fffc
Use fn~ to simplify the core::test interface
2012-01-19 13:37:01 -08:00
Tim Chevalier
5b028f527f
Remove support for the '.' after a nullary tag in a pattern
...
(Commit also includes lots of changes to remove '.'s that a git
merge messed up, or else it was monkeys.)
2012-01-19 01:04:59 -08:00
Tim Chevalier
04a2887f87
Remove '.' after nullary tags in patterns
...
Does what it says on the tin.
The next commit will remove support for this syntax.
2012-01-18 23:17:34 -08:00
Haitao Li
7b1724fb40
libstd: Revert an integer type casting
...
Otherwise, rustctest failed by a segv fault.
2012-01-19 02:24:22 +08:00
Haitao Li
04882d7c43
rustc: Use integer from ctypes consistently
2012-01-19 02:10:36 +08:00
Haitao Li
dde41869ce
Use ctypes in native function declarations
2012-01-19 02:10:36 +08:00
Brian Anderson
6e27b27cf8
libstd: Move std tests into libstd
2012-01-17 19:48:58 -08:00
Lenny222
b19fdcced2
libstd => libcore
2012-01-17 10:51:43 -08:00
Lenny222
106dcf7b92
spin-off rustdocs tuple code to libstd
2012-01-17 10:51:43 -08:00
Tim Chevalier
c3bc8fada8
Allow omission of the '.' after nullary tag patterns
...
This commit allows patterns like:
alt x { some(_) { ... } none { } }
without the '.' after none. The parser suspends judgment about
whether a bare ident is a tag or a new bound variable; instead,
the resolver disambiguates.
This means that any code after resolution that pattern-matches on
patterns needs to call pat_util::normalize_pat, which consults
an environment to do this disambiguation.
In addition, local variables are no longer allowed to shadow
tag names, so this required changing some code (e.g. renaming
variables named "mut", and renaming ast::sub to subtract).
The parser currently accepts patterns with and without the '.'.
Once the compiler and libraries are changed, it will no longer
accept the '.'.
2012-01-17 10:08:16 -08:00
Marijn Haverbeke
e046360e69
Add an std::md4 module
2012-01-17 12:02:04 +01:00
Brian Anderson
26551e5481
libstd: Remove util::void
2012-01-14 02:51:08 -08:00
Brian Anderson
a3f5c66484
libstd: Remove util::orb. Redundant with core::bool
2012-01-14 02:48:16 -08:00
Marijn Haverbeke
7150643588
Remove workaround for issue #1494
...
We have a snapshot that includes the fix.
2012-01-13 21:38:29 +01:00