Commit Graph

38 Commits

Author SHA1 Message Date
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
3411d19369 core: Make vec::push faster
This way makes it equivalent to the compiler's vec push, and is a lot
faster than calling vec::grow.
2012-02-17 18:15:52 -08:00
Marijn Haverbeke
ff42964546 Clean up some of trans using block combinators
`with_scope` and `with_cond` can be used to wrap a piece of code in a
scope block, or conditionalize it on a value, without doing all the
context-creation and jumping by hand.

Also renames @block_ctxt to block to reduce noise.
2012-02-17 23:03:12 +01:00
Marijn Haverbeke
f2e880b750 Add [X].len() to core, use it in trans modules 2012-02-14 13:43:36 +01:00
Brian Anderson
d2debed605 core: Change the argument order for vec::contains, vec::count 2012-02-11 18:00:52 -08:00
Brian Anderson
1040b47078 core: Rename vec::member to vec::contains to match str mod 2012-02-11 18:00:52 -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
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
Tim Chevalier
49cb3fc7df Remove remaining references to option::t outside option itself 2012-02-01 16:49:57 -08:00
Brian Anderson
d24eb58a09 core: Ignore should_fail tests on win32 2012-02-01 15:35:59 -08:00
Marijn Haverbeke
694de53d28 Make vec::pop efficient 2012-02-01 12:23:13 +01:00
Erick Tryzelaar
29ba196336 Adding a function to concatanate vectors with a separator 2012-01-28 15:41:53 -08:00
Erick Tryzelaar
f98210db07 core: Flesh out vec find functions. 2012-01-28 09:18:34 -08:00
Erick Tryzelaar
025e6ff158 core: add vec spliting functions. 2012-01-28 09:18:34 -08:00
Erick Tryzelaar
1be3a7c263 core: add (,r)position(,_from) functions
This is to help search through a vector better.
2012-01-28 09:18:34 -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
Marijn Haverbeke
362625008a Allow moving out of mutable unsafe pointers
This makes it possible to de-initialize values anywhere in
memory, which is needed, for example, for a fast imlementation
of vec::pop.
2012-01-27 17:15:40 +01:00
Kevin Cantu
d4b287e852 Added str::any, str::bytes_iter, str::windowed, and vec::windowed functions 2012-01-23 22:28:25 -08:00
Niko Matsakis
5e13d19cc0 s/block()/fn()/g 2012-01-23 19:06:33 -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
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
Haitao Li
dde41869ce Use ctypes in native function declarations 2012-01-19 02:10:36 +08:00
Brian Anderson
17bf4b0e1b libcore: Move core tests into libcore 2012-01-17 19:41:05 -08:00
Marijn Haverbeke
34d7f05292 Major clean-up of std::io
Use ifaces instead of objs, stop wrapping everything in two (or three)
layers of no-value-added indirection, and remove some of the more
pointless/outdated idioms from the code.
2012-01-11 21:00:11 +01:00
Graydon Hoare
4f3171ea81 Merge pull request #1450 from erickt/master
adding some misc functions and some functions just for [u8]
2012-01-06 13:04:49 -08:00
Marijn Haverbeke
7c1f683c6d Fix bug in method type parameter passing
It would occasionally pass the wrong type parameter, when calling
a generic method from a generic impl on a bounded param type.
2012-01-06 17:40:05 +01:00
Erick Tryzelaar
3e68803891 libcore: add [u8] helper functions to vec. 2012-01-06 07:47:14 -08:00
Marijn Haverbeke
60ae1590af Switch to new param kind bound syntax
And remove support for the old syntax
2012-01-05 15:50:02 +01:00
Marijn Haverbeke
a7e1a35f88 Properly typecheck and compile invocations of generic methods.
Aligning the type parameters of the ifaces, impls, and methods
correctly in typeck is almost brain surgery. Seems to work now for
everything I threw at it, but might still break in other corner cases.

Issue #1227
2012-01-04 17:28:51 +01:00
Erick Tryzelaar
8e54e74be4 libcore: add vec push.
This is a simple wrapper around grow for the common
case of pushing a value on the end of a vector.
2011-12-19 10:22:07 -08:00
Erick Tryzelaar
6b1c60d312 libcore: Add vec any2 and all2 functions. 2011-12-19 10:22:07 -08:00
Graydon Hoare
dbfa1b5689 Merge pull request #1317 from boggle/fix1315
fix to #1315 + small additions to std::either and result
2011-12-16 13:01:47 -08:00
Stefan Plantikow
bfbaadc694 core: marked fns as pure where possible 2011-12-16 17:41:07 +01:00
Niko Matsakis
ac6aba016e rename iter2 to iteri to match typical convention 2011-12-16 07:17:29 -08:00
Niko Matsakis
2833ca478c reorder args to the various vec, option fns so blk comes last 2011-12-16 07:17:23 -08:00
Graydon Hoare
fa9ad984fb Copy first batch of material from libstd to libcore. 2011-12-13 16:34:50 -08:00