Niko Matsakis
8a8f200d10
Introduce auto adjustment table to subsume autoderef/autoref/borrowings.
...
Fixes #3261
Fixes #3443
2012-09-11 21:25:01 -07:00
Brian Anderson
27cc0a36b6
Promote 'struct' from a restricted keyword to a strict keyword
2012-09-11 17:15:33 -07:00
Brian Anderson
cb7a5395dd
Convert std::map to camel case
2012-09-10 17:08:36 -07:00
Patrick Walton
22b8757705
rustc: Make shape-based compare glue never called for comparison operators.
...
Only called for string patterns.
2012-09-10 12:48:42 -07:00
Brian Anderson
2810ea9a68
Convert 'again' to 'loop'. Remove 'again' keyword
2012-09-07 17:39:03 -07:00
Patrick Walton
feb014eb3c
rustc: Add an "ne" method to the Eq trait, and implement it everywhere
2012-09-07 12:24:48 -07:00
Niko Matsakis
fb8786fe52
Refactor fn_ty, working towards #3320
2012-09-07 07:54:11 -07:00
Niko Matsakis
5e36a99794
Refactor trans to replace lvalue and friends with Datum.
...
Also:
- report illegal move/ref combos whether or not ref comes first
- commented out fix for #3387 , too restrictive and causes an ICE
2012-09-06 06:11:12 -07:00
Brian Anderson
200959d7ce
Remove 'with'
2012-09-04 15:47:04 -07:00
Patrick Walton
a26837c478
rustc: "import" -> "use"
2012-09-04 11:54:36 -07:00
Patrick Walton
96534365c2
rustc: Make <
and =
into traits
2012-08-29 18:25:22 -07:00
Brian Anderson
161a82e433
Camel case various core constructors
2012-08-27 17:22:18 -07:00
Brian Anderson
8337fa1a54
Camel case the option type
2012-08-26 15:56:16 -07:00
Michael Sullivan
e55c5ceac2
Infer purity for || style closures. Closes #3023 .
2012-08-24 14:21:27 -07:00
Michael Sullivan
0f996f70a6
Remove purity from fn_decl and move it out to containing AST elements.
2012-08-23 19:40:01 -07:00
Niko Matsakis
a08f3a7d4d
More complete fix to #3162 (borrowck bug related to access to rec fields)
2012-08-23 18:54:08 -07:00
Paul Stansifer
29f32b4a72
m1!{...}
-> m1!(...)
2012-08-23 11:14:14 -07:00
Paul Stansifer
1153b5dcc8
intern identifiers
2012-08-22 14:59:25 -07:00
Patrick Walton
5bd4110170
rustc: Mostly implement region-bounded stack closures
2012-08-13 15:34:36 -07:00
Patrick Walton
7634e2911b
Revert "rustc: Make function types have vstores in them"
...
This reverts commit 0101125a96
.
2012-08-10 18:14:55 -07:00
Patrick Walton
0101125a96
rustc: Make function types have vstores in them
2012-08-10 16:22:06 -07:00
Niko Matsakis
22a14dd700
Enforce a stricter notion of purity when borrowing. Fixes #3162 .
2012-08-09 14:23:56 -07:00
Brian Anderson
6a0720b439
Convert impls to new syntax
2012-08-08 18:19:24 -07:00
Niko Matsakis
802ea5d57e
refactor categorization out of borrowck into its own module.
...
first step towards #3148 and #3024 .
2012-08-08 09:22:07 -07:00
Brian Anderson
ecaf9e39c9
Convert alt to match. Stop parsing alt
2012-08-06 15:36:30 -07:00
Brian Anderson
025d86624d
Switch alts to use arrows
2012-08-05 22:08:09 -07:00
Patrick Walton
f23674394f
rustc: Merge fn& and fn in favor of fn&.
...
This is a step on the way to moving the function "proto" sigil out front.
2012-08-03 19:49:12 -07:00
Niko Matsakis
31c5cec55b
Purge placement new; Make borrowck know about unary move.
...
cc #3071
2012-08-02 22:36:36 -07:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -07:00
Paul Stansifer
a9cc5066ee
Change syntax extension syntax: #m[...]
-> m!{...}
.
2012-07-30 18:38:15 -07:00
Michael Sullivan
92743dc2a6
Move the world over to using the new style string literals and types. Closes #2907 .
2012-07-14 01:03:43 -07:00
Tim Chevalier
78ec6fe30c
Obliterate the callee_id hack
...
Exprs that could be applications of overloaded operators
(expr_unary, expr_binary, expr_index) relied on the previous node ID
being "reserved" to carry extra typechecking info. This was
incredibly error-prone. Fixed it; now all exprs have two node IDs
(which will be wasted in some cases; future work could make this
an option instead if the extra int field ends up being a performance
problem).
Closes #2804
2012-07-12 19:02:07 -07:00
Graydon Hoare
c26d02557e
Switch 'cont' to 'again' everywhere. Close #2229 .
2012-07-09 14:37:48 -07:00
Ben Striegel
f2e2a14f36
Remove empty argument lists from do expressions
2012-07-04 17:21:29 -07:00
Brian Anderson
d1fc2b5995
Convert to new closure syntax
2012-07-01 19:19:32 -07:00
Brian Anderson
a3382b6f26
Eliminate usages of old sugared call syntax
2012-06-30 16:01:49 -07:00
Michael Sullivan
98e161f00e
Switch the compiler over to using ~[] notation instead of []/~. Closes #2759 .
2012-06-29 17:41:45 -07:00
Graydon Hoare
697f1e38d6
Change 'native' and 'crust' to 'extern'.
...
This comes with a terminology change. All linkage-symbols are 'extern'
now, including rust syms in other crates. Some extern ABIs are
merely "foreign". The term "native" is retired, not clear/useful.
What was "crust" is now "extern" applied to a _definition_. This
is a bit of an overloading, but should be unambiguous: it means
that the definition should be made available to some non-rust ABI.
2012-06-26 16:18:37 -07:00
Michael Sullivan
329eca6044
Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725 .
2012-06-25 20:00:46 -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
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
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
Niko Matsakis
982e1166b2
Issue #2633 : remove last_use entries that are subject to a loan
2012-06-17 16:17:40 -07:00
Tim Chevalier
093faaabe1
Handle index expressions' callee IDs correctly
...
Some code that handles unary and binary exprs' callee IDs was
forgetting to handle the index expr case (since calls to
user-defined index operators also have callee IDs). This was
manifesting as an ICE in trans because when monomorphizing a
function that had one of these operators in it (an index into a
dvec, in the test case), the callee ID would be unbound to a type.
Fixed it. Closes #2631 .
2012-06-15 15:21:17 -07:00
Niko Matsakis
08520a1697
move borrowck to dvec, insert a few minor copies
2012-06-06 18:37:35 -07:00
Niko Matsakis
77c470d183
Allow rcvrs to be borrowed; check rcvrs in borrowck properly
2012-06-02 10:08:04 -07:00
Niko Matsakis
cfac9b6833
improve borrowck to handle some frankly rather tricky cases
...
- receivers of method calls are also borrowed
- by-val arguments are also borrowed (needs tests)
- assignment to components can interfere with loans
2012-06-02 10:08:04 -07:00
Niko Matsakis
6c6ad229a3
break up borrowck into modules and begin to document how it works
2012-06-01 10:50:19 -07:00