Commit Graph

194 Commits

Author SHA1 Message Date
Marijn Haverbeke
4e03112141 Add a pass-by-copy parameter passing convention
This is intended to solve the problem of how to pass arguments to
constructor functions -- you want to move in rvalues, but not have to
explicitly copy stuff that is not an rvalue. The by-copy passing
convention will ensure the callee gets its own copy of the value. For
rvalues, it'll just pass off the value. For lvalues, it'll make a
copy.

Issue #1177
2011-11-18 12:49:00 +01:00
Niko Matsakis
adc79e2f44 remove compile-command from local variable blocks 2011-11-17 11:46:13 -08:00
Brian Anderson
b655fb9ea7 Replace 'mutable?' with 'const' 2011-11-16 14:41:32 -08:00
Haitao Li
5a7249c935 Cleanup unused imports 2011-11-10 19:19:40 -08:00
Marijn Haverbeke
7ed7e7fa79 Fix printing of parameterized tag types in ppaux
It was printing option::t[int] instead of option::t<int>
2011-11-02 12:20:11 +01:00
Marijn Haverbeke
cfdf193c46 Update our code to new type parameter kind syntax
Closes #1067
2011-10-25 15:56:55 +02:00
Marijn Haverbeke
0ce40f60e7 Drop support for iter, put, and for-each
Closes #1056
2011-10-21 13:47:24 +02:00
Brian Anderson
9efdd0f326 Merge ast::proto_shared and ast::proto_closure
Now they are both just proto_shared and proto_shared takes an
argument indicating that it is sugared as 'lambda'
2011-10-20 18:23:48 -07:00
Brian Anderson
4b30a06abe Rename ast::proto_fn to ast::proto_shared 2011-10-20 18:23:48 -07:00
Marijn Haverbeke
71a4a66135 Add a math module to the standard lib
I need some rudimentary stdlib stuff for the tutorial.

Closes #1042
2011-10-18 13:54:35 +02:00
David Rajchenbach-Teller
8c9dd54ded [Renaming] str_to_float is now float::from_str, float_to_str is now float::to_str 2011-10-12 10:56:05 +02:00
David Rajchenbach-Teller
2ec85135e2 [Move] Moved str_to_float, float_to_str from compiler to lib 2011-10-11 16:41:34 +02:00
Marijn Haverbeke
f9fbd86f52 Parse and typecheck by-value and by-ref arg specs
Add sprinkle && throughout the compiler to make it typecheck again.

Issue #1008
2011-10-07 09:09:50 +02:00
Brian Anderson
3d5471f6ab Fix some remaining rpath bugs 2011-10-05 16:21:55 -07:00
Brian Anderson
19ba9b4d8d Begin work on rpath 2011-10-05 16:21:55 -07:00
Brian Anderson
1f2e999262 Use std::os::get_exe_path to determine sysroot 2011-10-04 21:35:06 -07:00
Brian Anderson
1391154b14 Use util::filesearch to locate intrinsics.bc and main.o 2011-10-04 21:35:06 -07:00
Brian Anderson
ebcc76d68d Move the library search into util::filesearch 2011-10-04 21:35:06 -07:00
Brian Anderson
d91b7b61ef Encapsulate current sysroot and lib path handling into util::filesearch 2011-10-04 21:35:06 -07:00
Brian Anderson
381205b747 Revert "Revert "Implement pattern ranges for all numeric types.""
This reverts commit a034f87146.

Conflicts:

	src/comp/middle/check_alt.rs
	src/comp/middle/trans_alt.rs
	src/comp/syntax/ast.rs
	src/comp/syntax/ast_util.rs
	src/comp/syntax/fold.rs
	src/comp/syntax/print/pprust.rs

Conflicts:

	src/comp/middle/trans_alt.rs
2011-09-28 12:46:29 -07:00
Brian Anderson
1b3023e4d0 Convert ty::ty_uniq to contain a mutable type
Issue #409
2011-09-22 10:26:34 -07:00
Marijn Haverbeke
a034f87146 Revert "Implement pattern ranges for all numeric types."
This reverts commit ce0f054f9d.
2011-09-21 18:42:09 +02:00
Josh Matthews
ce0f054f9d Implement pattern ranges for all numeric types. 2011-09-21 09:36:12 +02:00
Marijn Haverbeke
3abe3671bd Require the parameter that will be referenced to be noted
Issue #918
2011-09-15 16:15:17 +02:00
Marijn Haverbeke
93de2f0b74 Add syntax and representation for return-by-mutably-rooted-ref
This will be used in the near future to decide what can safely
be done with the returned reference.

Issue #918
2011-09-14 17:30:38 +02:00
Marijn Haverbeke
51dae63c44 Make most of the compiler aware of return-by-reference
tyencode/tydecode still don't know about it. return_ref will be extended to take
arguments anyway.
2011-09-14 11:31:05 +02:00
Marijn Haverbeke
6eb9738a66 Rename ast::controlflow to ast::ret_style
It will include information about returning by alias.
2011-09-14 10:38:23 +02:00
Michael Sullivan
c84b8e90b8 Print something when we can't figure out a tag name. Mitigates #876. 2011-09-13 13:14:49 -04:00
Graydon Hoare
a4815b6742 Factor imports mindlessly. 2011-09-12 16:13:28 -07:00
Marijn Haverbeke
fc6b7c8b38 Reformat for new mode syntax, step 1
Long lines were fixed in a very crude way, as I'll be following up
with another reformat in a bit.
2011-09-12 12:04:14 +02:00
Marijn Haverbeke
0e6e56ca60 Make the names of the arg mode tag reflect their (revised) meaning 2011-09-12 11:07:17 +02:00
Brian Anderson
f1555e2ca8 Rename ty_istr to ty_str. Issue #855 2011-09-02 22:11:46 -07:00
Brian Anderson
6217ce958e Print the type of istrs as 'str' in error messages. Issue #855 2011-09-02 22:11:46 -07:00
Brian Anderson
5c49e4f4e9 Reformat. Issue #855 2011-09-02 22:11:42 -07:00
Brian Anderson
9c173f17c0 Remove lots of estr code from rustc. Issue #855 2011-09-01 23:25:33 -07:00
Brian Anderson
ab6bb035e5 Rename std::istr to std::str. Issue #855 2011-09-01 17:27:58 -07:00
Brian Anderson
e824775d53 Remove std::str. Issue #855 2011-09-01 16:09:15 -07:00
Brian Anderson
3fe743bc9c Remove various istr conversions. Issue #855 2011-09-01 12:14:34 -07:00
Tim Chevalier
f62add95da Eliminate an unchecked use of map::get in ppaux 2011-08-30 16:19:52 -07:00
Brian Anderson
5f57a508af Convert misc compiler bits to istrs. Issue #855 2011-08-27 18:05:59 -07:00
Brian Anderson
9fb085560d Convert rustc::syntax::ast_util to istrs. Issue #855 2011-08-27 15:54:46 -07:00
Brian Anderson
cbad23a747 Convert pretty-printer to istrs. Issue #855 2011-08-27 15:54:46 -07:00
Brian Anderson
d2ae28fc99 Convert rustc::util to istrs. Issue #855 2011-08-27 15:54:45 -07:00
Brian Anderson
03119fe269 Convert ast::ident to istr. Issue #855 2011-08-27 15:54:44 -07:00
Brian Anderson
b2408d57f0 Convert portions of rustc to istrs. Recover a lot of performance.
Issue #855
2011-08-27 15:54:43 -07:00
Brian Anderson
53be480d20 Convert std::int to istrs. Issue #855 2011-08-27 15:53:08 -07:00
Brian Anderson
ee2a11eb4f Convert std::uint to istrs. Issue #855 2011-08-27 15:53:08 -07:00
Eric Holk
640886ceb6 Polymorphic MapReduce! 2011-08-26 18:03:33 -07:00
Brian Anderson
152cbaade7 Move functions from syntax::ast to syntax::ast_util
This leaves syntax::ast just defining the AST, which strikes me as somewhat
nicer
2011-08-22 10:44:04 -07:00
Brian Anderson
518dc52f85 Reformat
This changes the indexing syntax from .() to [], the vector syntax from ~[] to
[] and the extension syntax from #fmt() to #fmt[]
2011-08-20 11:04:00 -07:00