Michael Sullivan
bacf9e9887
Clean up a bunch of box related code.
2012-06-26 10:03:10 -07:00
Eric Holk
b9d3ad0736
Getting rid of lots more vector +=. (issue #2719 )
2012-06-26 00:39:18 -07:00
Michael Sullivan
15b60ac56b
Comments only: fix some comments that got spurious /~s
2012-06-25 20:35:32 -07:00
Michael Sullivan
329eca6044
Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725 .
2012-06-25 20:00:46 -07:00
Michael Sullivan
a71a49faa8
Split deprecated str and vec warnings into two flags, enable old_vecs by default.
2012-06-25 19:29:27 -07:00
Brian Anderson
c2751c5640
rustc: Make 'do' work with effects the same as 'for'
2012-06-25 17:46:06 -07:00
Tim Chevalier
da470ff5b8
Merge
2012-06-25 13:29:41 -07:00
Tim Chevalier
25b8b35c57
Finish compare glue for classes
...
This tests == and !=. I don't know what <, >, etc. should do.
Closes #2601
2012-06-25 12:20:10 -07:00
Brian Anderson
e991855d66
Make 'do' expressions accept stack closures
2012-06-24 18:01:27 -07:00
Tim Chevalier
487cbf8e90
Remove resources
...
Also fixed shapes for classes with dtors, as well as handling
offsets for classes with dtors correctly in take glue.
Closes #2485
2012-06-24 15:09:57 -07:00
Lindsey Kuper
ce7b803728
Minor capitalization/punctuation fixes in error messages
2012-06-22 16:48:03 -07:00
Lindsey Kuper
46809f7ab7
Nicer quoting in "attempted access of field" message. Issue #2358 .
2012-06-22 16:48:03 -07:00
Lindsey Kuper
47b1b7a207
Don't need a span on "main function not found" error. Issue #2707 .
2012-06-22 16:48:03 -07:00
Eric Holk
26c11f7b50
Use must_have_lock instead of private functions. (Issue #2700 )
...
I hereby declare that messages sent from the same source arrive in order (Issue #2605 )
Removing FIXME, owned is the correct type here. (Issue #2704 )
Remove outdated FIXME (Issue #2703 )
Updating test for spawning native functions (Issue #2602 )
Removing bogus FIXME (Issue #2599 )
2012-06-22 15:14:42 -07:00
Michael Sullivan
1d6fb24b70
Hack to make [] and []/~ the same type in preparation for switching to []/~.
2012-06-22 15:11:34 -07:00
Tim Chevalier
21399dca12
Change resources to classes in libstd and rustc
2012-06-22 11:53:25 -07:00
Michael Sullivan
986662cebd
Make the implicit copyability of []/~ configurable, like [] is, since we will be switching sooner rather than later.
2012-06-22 11:23:54 -07:00
Tim Chevalier
a141f58e9b
In reachability, traverse all classes that have dtors
...
since dtors always have external linkage
2012-06-21 21:46:12 -07:00
Tim Chevalier
cc323d8637
Make liveness print out a proper error message for moves out of a self field
...
This was a call to span_bug() before. I'm not sure about the other cases,
but the test case shows that the `vk_self` case can certainly arise with
a bad program, so it should be a span_err() thing and not a span_bug() thing.
Closes #2590
2012-06-21 17:43:10 -07:00
Graydon Hoare
312faf31df
Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.
2012-06-21 16:44:10 -07:00
Lindsey Kuper
abfa8164cd
Change the level of forcing in structurally_resolved_type().
...
A cleaner way to handle suffix inference for unary minus exprs.
2012-06-21 16:19:04 -07:00
Eric Holk
f54829cf13
Move vector addition out of trans and into libcore.
2012-06-21 16:11:11 -07:00
Eric Holk
0e5cfd9f33
Move vector addition out of trans and into libcore.
2012-06-21 16:11:11 -07:00
Eric Holk
f8fa0a2437
Generate a temporary for assign_ops. Issue #2581
2012-06-21 16:11:10 -07:00
Lindsey Kuper
e9d072ee89
Consolidate "make sure types are the same" fns. Issue #2644 .
2012-06-21 11:16:36 -07:00
Michael Sullivan
393f739990
Rename upcall_malloc_dyn to just upcall_malloc.
2012-06-21 10:47:45 -07:00
Niko Matsakis
287f163136
Issue #2657 : track mutability of bindings, also prevent move from bindings
2012-06-21 09:45:01 -07:00
Niko Matsakis
60603703ea
handle moves in let initializers and allow moves from unsafe ptrs
...
Related to issue #2657 , but this is not a complete fix.
2012-06-21 08:34:54 -07:00
Tim Chevalier
b02172971f
Make trans give correct types to monomorphic dtors
...
Irritatingly, class dtors have a different type from resource
dtors (because class dtors have a self argument), and the monomorphic
case wasn't reflecting that. Fixed.
2012-06-20 20:12:14 -07:00
Tim Chevalier
76d6120e52
Fix resolve bug that made nested classes not work
...
It wasn't possible to refer to the constructor for a class nested inside
an item from the class's outer scope. Fixed.
2012-06-20 20:12:14 -07:00
Tim Chevalier
6db7843f46
Monomorphize dtors correctly
...
The same dtor was getting re-used for different instances, which
didn't always work right. Fixed.
2012-06-20 20:12:14 -07:00
Brian Anderson
4dcf84e4f4
Remove bind. Issue #2189
2012-06-20 17:27:28 -07:00
Michael Sullivan
a057b13262
Don't allow + for evecs/estrs. It isn't implemented, and we are moving vec + to libs anyways.
2012-06-20 16:29:47 -07:00
Michael Sullivan
8aa5762d2e
Repair the formatting of the table in is_binopable.
2012-06-20 16:29:47 -07:00
Michael Sullivan
8040fd86bf
Call the correct type formatting function for more typecheck diagnostics. Closes #2652 .
2012-06-20 15:44:58 -07:00
Lindsey Kuper
60a658250e
Don't force resolution of integral type vars in unary minus exprs
...
These were getting resolved too early, when they were still
unconstrained by the rest of the typing context. Waiting a bit longer
to resolve them gives the rest of the typing context a chance to come
into play, so that they don't default to `int`.
2012-06-20 14:33:25 -07:00
Lindsey Kuper
64912c9a56
Use an unambiguous abbreviation for "operand" :)
2012-06-20 14:29:24 -07:00
Lindsey Kuper
5316fe6bb5
Add comments explaining integral type variables; fix typos
2012-06-20 12:46:38 -07:00
Michael Sullivan
a01bdbe207
Don't reverse all the arguments to span_lint for lint checking passes.
2012-06-20 10:30:48 -07:00
Niko Matsakis
773a640303
support autoderef on method calls
2012-06-19 20:46:48 -07:00
Eric Holk
e30a8b6f8c
Updating kind rules to make sure we don't sneakily send ports.
2012-06-19 17:37:51 -07:00
Lindsey Kuper
3cf582b529
Enable integer literal suffix inference.
2012-06-19 17:06:05 -07:00
Lindsey Kuper
b1fa8249f1
Fix incorrect fn name in debug statement
2012-06-19 17:04:39 -07:00
Lindsey Kuper
26bd186726
Don't create a new inference context for checking pattern ranges.
...
Ugly fix -- it would be better to refactor and consolidate the various
"make sure these types are the same" fns scattered around typeck.
2012-06-19 16:53:41 -07:00
Lindsey Kuper
3e281439a0
Union-find rank
optimization for infer.
...
Makes deep-vector2 not run out of stack when suffix inference is
enabled.
2012-06-19 16:35:26 -07:00
Lindsey Kuper
906169d608
Add a node
type in place of hand-rolled records in infer
2012-06-19 16:35:26 -07:00
Niko Matsakis
6e73e45e37
first steps to autoderef on method calls
2012-06-19 11:52:39 -07:00
Niko Matsakis
b0646e0749
document liveness a bit better
2012-06-18 19:41:17 -07:00
Brian Anderson
1ec5a5c635
Add 'do' expressions
2012-06-18 17:42:30 -07:00
Michael Sullivan
30dd32d4db
Fix generation of str/@. Closes #2638 .
2012-06-18 15:54:37 -07:00