Marijn Haverbeke
4c9c1cd199
Fix dependency bug iface-did-of-impl resolving
...
By simply not resolving that def id until the typeck pass.
Closes #1494
2012-01-11 21:40:13 +01: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
Marijn Haverbeke
807592e99f
Switch run_program over to ifaces
2012-01-11 20:33:44 +01:00
Marijn Haverbeke
4f76db43e6
Convert std::sha1 and std::rand over to ifaces
2012-01-11 20:33:44 +01:00
Marijn Haverbeke
26610dbbc8
Convert std::deque over to an iface
2012-01-11 20:33:44 +01:00
Marijn Haverbeke
15744210e7
Implement std::map as an iface/impl instead of an obj
2012-01-11 20:33:44 +01:00
Niko Matsakis
c68345e57e
add a log_str() function and allow '%?' in fmt strings to use it
2012-01-11 10:32:54 -08:00
Niko Matsakis
f3b867fd04
add section on spawn_connected to tutorial and pull test into file
2012-01-11 09:49:21 -08:00
Marijn Haverbeke
e0cf550527
Register new snapshot
2012-01-11 18:16:26 +01:00
Marijn Haverbeke
f2352f4062
Fix regression in resolving of external impls
2012-01-11 17:12:11 +01:00
Marijn Haverbeke
87253cf3a9
Revert some iface shape code, fix a few more things in it
...
We can now run the compiler with an iface-based hashtable
implementation.
2012-01-11 11:46:44 +01:00
Marijn Haverbeke
0145b15f0c
Pass type with params intact as item_type for method callees
...
This prevents trans_args from optimizing out nil return types. The
method might be generic, in which case it *will* write to a nil retptr.
2012-01-11 11:11:45 +01:00
Niko Matsakis
ef895b9632
update various parts of the tutorial
2012-01-10 19:57:00 -08:00
Niko Matsakis
441a42c5d2
update shape code to handle iface instances
2012-01-10 19:05:28 -08:00
Graydon Hoare
0e334c6839
Fold and re-evaluate expr in tag discriminant.
2012-01-10 15:59:57 -08:00
Kevin Atkinson
1dc3debdaf
Add support for casting enum-like tags to scalar values.
2012-01-10 15:59:57 -08:00
Kevin Atkinson
08abf8d37f
Support explicit discriminant numbers on tag variants.
...
Addresses issue #1393 .
For now disallow disr. values unless all variants use nullary
contractors (i.e. "enum-like").
Disr. values are now encoded in the crate metadata, but only when it
will differ from the inferred value based on the order.
2012-01-10 15:59:57 -08:00
Patrick Walton
d0fe6723fc
test: Fix test/pretty/tag-blank-lines.rs for the tag -> enum switch
2012-01-10 16:02:49 -08:00
Patrick Walton
ffdb7f97f8
rustc: Accept "enum" in addition to "tag"
2012-01-10 15:32:39 -08:00
Graydon Hoare
0fba2d0255
Fix 'make distcheck', close #1445 .
2012-01-10 14:34:53 -08:00
Niko Matsakis
1592de0faf
replace lambda with fn@
2012-01-10 13:31:06 -08:00
Niko Matsakis
8b911587df
rename sendfn to fn~, lambda to fn@
2012-01-10 13:31:06 -08:00
Brian Anderson
af086aa8ef
rustc: Remove sret attributes from functions
...
Something about the way we're using it is causing incorrect code generation.
Closes #1343
2012-01-10 13:28:12 -08:00
Patrick Walton
d4a4b82973
rt: Export upcall_s_shared_malloc since the SpiderMonkey bindings need it
2012-01-10 10:44:26 -08:00
Niko Matsakis
110c3ccdca
add rust_task_is_unwinding predicate and do not kill if already unwinding
2012-01-09 19:53:32 -08:00
Niko Matsakis
005e319485
make use of snapshot runtime predicated on variable USE_SNAPSHOT_RUNTIME
2012-01-09 19:53:32 -08:00
Austin Seipp
55edb4a04f
Replace all occurrences of 'when' with 'if' in documentation and tutorial.
...
Also update the naturaldocs keywords file.
Closes #1396
2012-01-09 19:27:06 -08:00
Austin Seipp
070b1c8333
Remove support for 'when' in alt-patterns from parser
...
Issue #1396
2012-01-09 19:27:06 -08:00
Austin Seipp
a94b1ccacb
Change all uses of 'when' in alt-patterns to 'if'
...
Issue #1396
2012-01-09 19:27:05 -08:00
Brian Anderson
aeae04cb49
Add Grahame Bowland to AUTHORS.txt
2012-01-09 17:19:37 -08:00
Brian Anderson
d8a0ef1c84
Merge pull request #1477 from erickt/master
...
Adding longlong and ulonglong types
2012-01-09 17:13:35 -08:00
Graydon Hoare
8387896dda
Remove proto_sugar and 'lambda' as keyword, commit to fn@.
2012-01-09 16:12:48 -08:00
Graydon Hoare
f6ecbe88ca
Fix rpath bug.
2012-01-09 16:12:47 -08:00
Erick Tryzelaar
ae76a7db5d
libcore: add longlong and ulonglong types.
2012-01-09 15:14:39 -08:00
Brian Anderson
a736669fb6
Register snapshots
2012-01-09 14:58:00 -08:00
Brian Anderson
d4ae1cae60
rt: Build the stage0 runtime for non-hosts from the working dir
2012-01-09 13:34:01 -08:00
Brian Anderson
7e8974305c
rt: Set Linux red zone to 20K again
...
With runtime logging on it smashes the stack
2012-01-09 11:44:36 -08:00
Austin Seipp
9211348989
Make the parser accept 'if' as an alternative to 'when' in alt patterns.
...
Also fix the pretty printer, making it output 'if' instead of 'when'.
Issue #1396
2012-01-09 10:50:33 -08:00
Brian Anderson
fbad0204e4
Merge pull request #1470 from grahame/grahame
...
add new read_chars method, fix bug in read_char
2012-01-09 10:35:48 -08:00
Marijn Haverbeke
6b20e8c88b
Fix error message case in two cfail test
...
I had made the error consistent with other errors, but forgot to
also change the tests.
2012-01-09 17:51:39 +01:00
Marijn Haverbeke
9e2b273221
Iface types are not structural
...
Not sure how they ended up being marked as such.
2012-01-09 16:44:37 +01:00
Marijn Haverbeke
a62bd9abec
Work around recursive type check for iface types
...
They are nominal, and can safely refer to themselves.
2012-01-09 16:25:39 +01:00
Marijn Haverbeke
c13f087454
Properly recognize self as an upvar when closed over
...
Closes #1463
2012-01-09 16:25:39 +01:00
Niko Matsakis
51364b5708
Fix #1474 : check that block args resolved to bare fns do not make use of upvars
2012-01-09 06:50:40 -08:00
Niko Matsakis
8944a390c6
change spawn_connected argument to copy mode
2012-01-09 06:50:39 -08:00
Marijn Haverbeke
1ee9a83de0
Fix bug in iface shape code
...
Issue #1437
2012-01-09 15:12:18 +01:00
Marijn Haverbeke
f30c5ea686
Remove leftover comm.rs in std
...
(The actual comm module lives in core.)
2012-01-09 14:53:13 +01:00
Marijn Haverbeke
0945fcf1fb
Fix typo in example in libcore docs
2012-01-09 14:44:52 +01:00
Marijn Haverbeke
47cfeba467
Add cases for iface values to rust_shape.h
...
They appear to log okay now, but I can't promise much beyond that.
@pcwalton If you feel like taking a look, I'd be grateful. Interfaces are
boxes containing a (tydesc, dict, value_of_any_type) tuple, where the leading
tydesc describes the whole tuple.
Issue #1437
2012-01-09 14:44:21 +01:00
Grahame Bowland
ba694775f5
add tests for io::readchars and io::readchar
...
Additionally reformat so that 'make check' passes.
2012-01-09 20:49:17 +08:00