4008 Commits

Author SHA1 Message Date
Brian Anderson
3ed6f6520f core: Remove _mut functions from vec
Instead, use vec::to_mut/from_mut to transform vectors in place as
needed.
2012-03-02 15:49:49 -08:00
Niko Matsakis
d3a0f7e9fc emit mthd data if marked inline 2012-03-02 06:47:25 -08:00
Niko Matsakis
6473a87cec restructure to better support method inlining 2012-03-02 06:47:25 -08:00
Niko Matsakis
def72bda47 retool inline encoding to handle methods, fix tests 2012-03-02 06:47:25 -08:00
Niko Matsakis
12c68bcd6d make sure we do not bind unique closures (or blocks, for that matter) 2012-03-02 06:47:25 -08:00
Tim Chevalier
48c763c098 Use the correct prestate for calls
The prestate for calls was getting set incorrectly to the poststate for the operator
in the call. This worked before since most of the time, operator expressions are
pure. Issue 1895 shows how this breaks when the operator is a closure that has a
move-in capture clause.

(I had a several-day, multi-file patch for this that didn't work... and then it
turned out to be a one-line fix. The joys of programming.)

Closes #1895
2012-03-01 09:16:26 -08:00
Marijn Haverbeke
03984561d4 Make sure resource item types get written by typechecker
Closes #1916
2012-03-01 17:50:08 +01:00
Niko Matsakis
2dd5b3ace6 optionally enforce local variable mutability 2012-02-29 19:31:15 -08:00
Niko Matsakis
4132cbd22a un-xfail test, remove old comment 2012-02-29 12:49:15 -08:00
Niko Matsakis
ed952ecf68 report the type of the method as the fty, not the type of the expression
using the type of the expression causes us to lose information
about when the method was declaring with a generic signature, which
leads to producing incorrect code, particularly in the case of returning
unit types (which would then get an undefined output ptr)
2012-02-29 11:54:48 -08:00
Niko Matsakis
7d0958f70f add the ability to snag the frame so we can verify that we are inlining 2012-02-29 11:54:47 -08:00
Marijn Haverbeke
4be92670a4 Delete-trailing-whitespace 2012-02-29 19:07:23 +01:00
Marijn Haverbeke
c3ae72d60b Actually use last_use info on closed over var in kind.rs
Issue ##1894
2012-02-29 18:53:30 +01:00
Marijn Haverbeke
0da1aca498 Recognize last uses for copied closed-over variables
And clean up and fix some bad things in last_use.rs.

Closes #1894
2012-02-29 18:06:26 +01:00
Patrick Walton
362f23641a libcore: Remove vec::to_ptr in favor of vec::unsafe::to_ptr. Closes #1829. 2012-02-28 20:43:39 -08:00
Marijn Haverbeke
1ed12f3602 Also do normal impl method lookup for type parameters
Closes #1909
2012-02-28 16:37:24 +01:00
Marijn Haverbeke
2115cba4ee Bail out of calling tydesc glue in an unreachable context
Closes #1901
2012-02-28 16:37:24 +01:00
Niko Matsakis
5c1338a18e add ability to run multi-crate tests, run tests with --inline 2012-02-28 06:31:29 -08:00
Niko Matsakis
aa77cf3472 enumerate ids for arguments too 2012-02-28 06:31:29 -08:00
Niko Matsakis
bceea8339a change def's that are always local to use node_id, add --inline opt 2012-02-28 06:31:28 -08:00
Niko Matsakis
55a642c2d4 correct freevar encoding, add more debugging output 2012-02-28 06:31:28 -08:00
Tim Chevalier
c28c258f91 Disallow type parameters in the main() function
Closes #1900
2012-02-25 11:06:01 -08:00
Niko Matsakis
acb129c541 Add temp cleanups for copy/move mode args when other args fail. Fixes #1374 2012-02-24 20:46:27 -08:00
Niko Matsakis
f3ca50c9ca Encode/decode AST into metadata, re-instantiate inlined items 2012-02-24 20:46:27 -08:00
Brian Anderson
9982a2a841 rustc: Don't add duplicate entries to exp_map 2012-02-23 21:52:41 -08:00
Graydon Hoare
b44be95e45 Support basic, unsophisticated, somewhat wrong export-globs. 2012-02-23 18:39:14 -08:00
Graydon Hoare
1f4a6bb3ad Treat export-globs as import-globs for sake of linking. 2012-02-23 18:39:12 -08:00
Graydon Hoare
893bbea576 Minor renaming to help my comprehension. 2012-02-23 18:39:11 -08:00
Marijn Haverbeke
8733386bcc Make sure fold_ty preserves associated def_ids
Closes #1884
2012-02-23 17:44:03 +01:00
Marijn Haverbeke
780f8277f4 Finish cleanup of core::str
Closes #1849
2012-02-23 17:00:19 +01:00
Marijn Haverbeke
d802c1fbd2 Various cleanups and optimizations in core::str 2012-02-23 17:00:19 +01:00
Kevin Cantu
c3318f29fe (core::str) rename substr_len_bytes to substr_len, and delete unused byte_index[_from] 2012-02-23 17:00:19 +01:00
Kevin Cantu
7782f5d692 (core::str) remove len_bytes alias 2012-02-23 17:00:19 +01:00
Kevin Cantu
1b957c0942 (core::str) replace uses of unsafe::slice_bytes; replace find[_from]_bytes with find[_from] 2012-02-23 17:00:19 +01:00
Kevin Cantu
cec053487c (core::str) stop using index_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
6ea3d7935e (core::str) replace byte_index[_from] with index[_from] 2012-02-23 17:00:19 +01:00
Kevin Cantu
454b53a7c2 (core::char) rename slice -> slice_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
969fdf419c (core::str) rename index -> index_chars 2012-02-23 17:00:19 +01:00
Kevin Cantu
98447f5236 (core::str) mostly rename len -> len_chars 2012-02-23 17:00:19 +01:00
Brian Anderson
27ab663845 rustc: Don't ignore attributes inside empty mods. Closes #1655 2012-02-22 21:47:23 -08:00
Brian Anderson
99a48660d1 rustc: Allow any integral types on rhs of shift ops 2012-02-22 17:26:08 -08:00
Tim Chevalier
4acfcd8c2f Improve error message for use of a non-pure-fn in a pred
Closes #1883
2012-02-22 10:59:52 -08:00
Marijn Haverbeke
cb2f43cbf4 Stop normalizing patterns
The check for whether a pat_ident is a variant or a binding
is simple and fast. Normalizing patterns again and again is
slow and error-prone (several places were forgetting to do it).
2012-02-22 16:57:23 +01:00
Marijn Haverbeke
1e5266260a Take move captures in account in mutability checker
Closes #1461
2012-02-22 13:35:17 +01:00
Marijn Haverbeke
8015e6d52b Return a new type var instead of nil when failing to typecheck a field
The previous solution was usually causing a second spurious error
message.
2012-02-22 13:34:43 +01:00
Marijn Haverbeke
ffd50b9cdf Make the various from_str functions return options
So that they can be used with user input without causing task
failures.

Closes #1335
2012-02-22 13:18:15 +01:00
Marijn Haverbeke
ad03761a97 Remove preconditions from libraries
Closes #1805
2012-02-22 11:47:47 +01:00
Marijn Haverbeke
e57b6775c3 Clean up small things in syntax submodules 2012-02-22 11:16:25 +01:00
Brian Anderson
77a01054fa rustc: Generate crates with #ast 2012-02-21 15:34:26 -08:00
Marijn Haverbeke
9d20ed7bf9 Clean up unification code 2012-02-21 17:08:14 +01:00