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