3941 Commits

Author SHA1 Message Date
Lindsey Kuper
3595f1f966 Disallow overloading a method with one of different type. Closes #703. 2011-07-29 13:44:34 -07:00
Graydon Hoare
f3c05b9fae Turn on kind propagation for typarams. Annotate a bunch of typarams in rustc and libstd. 2011-07-29 12:58:52 -07:00
Marijn Haverbeke
c34d74315f Remove unreachable statements 2011-07-29 20:54:44 +02:00
Marijn Haverbeke
aa3b89610e Track failures in typeck, assign proper type to failing blocks
(and warn for unreachable statements)

Closes #727
2011-07-29 20:54:44 +02:00
Lindsey Kuper
9705f97ead Typechecking bugfix for anon objs. Removes duplicate methods in outer
object types.
2011-07-29 10:33:00 -07:00
Lindsey Kuper
a6151aa9a8 Formatting tweaks. 2011-07-29 10:33:00 -07:00
Marijn Haverbeke
48cc11631c Parse anonymous objs in statement position
Closes #761
2011-07-29 15:01:06 +02:00
Marijn Haverbeke
451ec03c2d Clean up old FIXME regarding or-patterns 2011-07-29 14:03:52 +02:00
Marijn Haverbeke
b1d2a00b4a Remove support for obj dtors 2011-07-29 14:03:24 +02:00
Marijn Haverbeke
30d2e358be Replace obj dtors with resources in stdlib and rustc 2011-07-29 14:03:24 +02:00
Marijn Haverbeke
ae46c154f0 Make sure resources always have their drop glue called
Even when their content does not contain pointers
2011-07-29 12:53:58 +02:00
Marijn Haverbeke
4c09d4a770 Missed another instance of walk in typeck 2011-07-29 12:18:26 +02:00
Marijn Haverbeke
5adf87a2c6 Fix iter_structural_ty_full for resource types
The compiler would blow up when compiling a structural type
containing a resource.
2011-07-29 11:44:29 +02:00
Michael Sullivan
2c0f4d51f9 Change the way freevars stores its information again. 2011-07-28 18:40:17 -07:00
Michael Sullivan
5068ae4771 Factor out a bunch of environment construction code from trans_bind. 2011-07-28 18:40:17 -07:00
Brian Anderson
3896524750 Drop the previous reference when receiving. Closes #763 2011-07-28 18:22:15 -07:00
Michael Sullivan
d0cb62ac90 Factor out box initializing code into trans_malloc_boxed. 2011-07-28 15:49:06 -07:00
Lindsey Kuper
0ea5a8a6ed Updated alt indenting. 2011-07-28 15:01:12 -07:00
Lindsey Kuper
b24da1c2e5 The names 'outer' and 'inner' make more sense than 'self' and 'with'.
(Also, some formatting and long-string cleanup.)
2011-07-28 14:54:32 -07:00
Graydon Hoare
3e63fdc4c9 Thread kinds into the type system. Don't quite activate yet, since it breaks stdlib and snapshot isn't ready to compile modified stdlib. 2011-07-28 13:29:39 -07:00
Paul Stansifer
86f337484e Change macro syntax to accept a single expr, not a sequence of exprs. 2011-07-28 12:12:08 -07:00
Eric Holk
a5fe66e706 Adding upcalls to to ref() and deref() tasks. This is the first step towards atomic reference counting of tasks. 2011-07-28 10:47:28 -07:00
Graydon Hoare
acac6abc85 Parse, store and print type parameter kind constraints. 2011-07-28 17:22:59 +00:00
Graydon Hoare
2749ef5ede Fix stale 'copy' occurrences to 'move' in comments. 2011-07-27 23:43:17 -07:00
Josh Matthews
f0e29c92aa :: is allowed to start an expression. Close #762. 2011-07-28 02:33:24 -04:00
Marijn Haverbeke
c141718952 Replace walk with visit in the typechecker 2011-07-28 08:05:04 +02:00
Marijn Haverbeke
757b7ec534 Remove walk instance from kind.rs 2011-07-28 07:42:51 +02:00
Marijn Haverbeke
c78ac29002 Show millisecond precision for time_passes times
Closes #713
2011-07-28 07:22:16 +02:00
Graydon Hoare
a11bb404a5 Further refinement to kind system lattice and type-kind rules; first successful caught kind error (prohibits copying a pinned resource, though trans already caught it later). 2011-07-27 21:23:54 -07:00
Lindsey Kuper
7073ee4e31 Some work on backwarding for issue #702. 2011-07-27 19:43:21 -07:00
Michael Sullivan
d1298f768c Have bind support non-alias parametric non-bound arguments.
This was previously disallowed by the typechecker and not properly handled
in trans. I removed the typechecker check (replacing it with a simpler
check that spawned functions don't have type params) and fixed trans.
Closes #756.
2011-07-27 18:46:46 -07:00
Michael Sullivan
4de0b3d947 Allow already bound functions to be bound again.
This commit just disables the check. All of the real work was in previous
commits that moved the target function into the bindings part of the closure
that is tracked by the tydesc.
Closes #754.
2011-07-27 18:46:46 -07:00
Michael Sullivan
63fa765e0e Fix binding a bare fn argument with type parameters.
Closes #642.
2011-07-27 18:46:46 -07:00
Graydon Hoare
63f74f3771 Remove vestiges of "layers", insert skeletal do-nothing "kind" pass plus cached calculation of kind for each type. 2011-07-27 17:49:00 -07:00
Michael Sullivan
55a65a51aa Eliminate "target" field in closures. 2011-07-27 15:22:11 -07:00
Michael Sullivan
b977b5c508 Put the bound function in bind in the bindings, not in a distinguished spot. 2011-07-27 15:22:11 -07:00
Michael Sullivan
db19231596 Mess around with the casting in trans_bind. 2011-07-27 14:43:35 -07:00
Michael Sullivan
e3f9648096 Some cleanup in trans. 2011-07-27 14:41:08 -07:00
Michael Sullivan
1c612ebdcc Associate names with taskptr and tydesc types for better debugging. 2011-07-27 14:30:16 -07:00
Michael Sullivan
ab8d91dcfd Make trand_bind_1 use create_real_fn_pair. 2011-07-27 14:28:07 -07:00
Marijn Haverbeke
0186176ae9 Stop outputting spurious spaces in ivec types and empty mutable vecs
(in the pretty-printer)
2011-07-27 21:20:51 +02:00
Marijn Haverbeke
f379c97913 Don't allow globals or immutable locals to be passed by mut alias
Closes #747
2011-07-27 17:19:46 +02:00
Marijn Haverbeke
06e1d8b745 Remove superfluous spaces in pretty-printing of loops
(And extra parens around else-if tests)
2011-07-27 17:18:53 +02:00
Marijn Haverbeke
66b84e3f55 Make the pretty-printer output whitespace before obj drop clause 2011-07-27 16:54:48 +02:00
Marijn Haverbeke
2593c50e75 Re-format some obj dtors that were messed up by the pretty-printer 2011-07-27 16:52:49 +02:00
Marijn Haverbeke
0334faef1f Improve pretty-printing of constraints
(Methods still don't seem to have constraints associated with them.
Method types do, so I guess this is a TODO.)
2011-07-27 16:50:51 +02:00
Marijn Haverbeke
19394a50e7 Make printing of comments inside bindings slightly less broken 2011-07-27 16:24:41 +02:00
Marijn Haverbeke
e3552da0e6 No longer allow 'case' keyword before patterns 2011-07-27 16:01:31 +02:00
Marijn Haverbeke
6e2a7bff7f Fix damage done by the pretty-printer 2011-07-27 15:54:33 +02:00
Marijn Haverbeke
df7f21db09 Reformat for new syntax 2011-07-27 15:54:33 +02:00