Commit Graph

92 Commits

Author SHA1 Message Date
Niko Matsakis
2833ca478c reorder args to the various vec, option fns so blk comes last 2011-12-16 07:17:23 -08:00
Marijn Haverbeke
0a3626161d Write impl data to crate library files
(No one is actually reading it yet.)

Issue #1227
2011-12-16 14:17:52 +01:00
Haitao Li
9bb290c725 rustc: Implement non-renamed re-export across crates
First patch for issue #1115. Not yet ready for re-exported modules which
are renamed when importing them.
2011-12-16 17:16:00 +08:00
Graydon Hoare
fa9ad984fb Copy first batch of material from libstd to libcore. 2011-12-13 16:34:50 -08:00
Haitao Li
f3c206c9f4 rustc: Encode crate hash into metadata 2011-12-12 16:15:29 -08:00
Marijn Haverbeke
f6491bb426 Update stdlib, compiler, and tests to new kind system
This involved adding 'copy' to more generics than I hoped, but an
experiment with making it implicit showed that that way lies madness --
unless enforced, you will not remember to mark functions that don't
copy as not requiring copyable kind.

Issue #1177
2011-11-18 12:49:01 +01:00
Marijn Haverbeke
9cf48d3753 Preparation for kind system overhaul
This goes before a snapshot, so that subsequenct patches can make the
transition without breaking the build. Disables kind checking pass, makes
parser accept both new and old-style kind annotation.

Issue #1177
2011-11-18 10:52:28 +01:00
Niko Matsakis
adc79e2f44 remove compile-command from local variable blocks 2011-11-17 11:46:13 -08:00
Haitao Li
3b683f5205 rustc: Use link_name attribute for native function
Fixes issue #906
2011-11-16 23:45:07 +08:00
Haitao Li
5a7249c935 Cleanup unused imports 2011-11-10 19:19:40 -08:00
Marijn Haverbeke
7dacccde94 Make shared kind the default only for generic functions
You almost never want a function with pinned type params. For
types, objects, resources, and tags, pinned types are actually often
more sane. For most of these, shared rarely makes sense. Only tricky
case is objs -- you'll have to think about the kinds you want there.

Issue #1076
2011-10-28 17:00:14 +02: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
6bcb4a426c Remove last uses of iterators from stdlib
Issue #1056
2011-10-21 12:31:48 +02:00
Marijn Haverbeke
4ebbbe597e Move hash table iteration over to block-taking functions
Issue #1056
2011-10-21 12:21:27 +02:00
Niko Matsakis
212707ce84 make native functions markable as unsafe and incorporate that
into the type check
2011-10-12 14:39:34 -07:00
Niko Matsakis
29584cc5ac Extend the unchecked block stuff to allow unsafe blocks as well. 2011-10-12 14:26:47 -07:00
Marijn Haverbeke
33167f7dec Adjust function signatures to allow for vecs being immediate
Some code was relying on vectors being implicitly by-reference (as
non-immediate value). This adds the necessary &&-sigils.

Closes #1021
2011-10-10 16:01:51 +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
856acbf66d Vectors containing pinned kinds become pinned
Otherwise they could be copied
2011-09-24 12:36:51 -07:00
Marijn Haverbeke
7298b8f4ba Insert omitted semicolons for statements 2011-09-15 09:49:00 +02:00
Graydon Hoare
a4815b6742 Factor imports mindlessly. 2011-09-12 16:13:28 -07:00
Marijn Haverbeke
ca1df2b111 Pretty-print for new arg-mode syntax 2011-09-12 12:49:00 +02: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
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
418d09e547 Convert all uses of #ifmt to #fmt. Issue #855 2011-09-01 18:54:03 -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
498e38b705 Convert uses of #fmt to #ifmt. Issue #855 2011-08-31 11:44:06 -07:00
Brian Anderson
5f57a508af Convert misc compiler bits to istrs. Issue #855 2011-08-27 18:05:59 -07:00
Brian Anderson
54691f9a6c Convert rustc::metadata to istrs. Issue #855 2011-08-27 15:54:45 -07:00
Brian Anderson
f09ef6ec66 Convert rest of the AST to istrs. Issue #855 2011-08-27 15:54:45 -07:00
Brian Anderson
afe27d461c Convert crate_ctxt to istrs. Issue #855 2011-08-27 15:54:45 -07:00
Brian Anderson
a58bfced3c Convert back::link to istrs. Issue #855 2011-08-27 15:54:44 -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
fcc031c5b4 Convert std::io to istrs. Issue #855 2011-08-27 15:54:43 -07:00
Brian Anderson
18576e55f7 Resolve a number of FIXMEs 2011-08-23 18:55:37 -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
Marijn Haverbeke
10269dfaeb Replace &ty::t with ty::t throughout the compiler
Type handles are uints, passing them by reference only causes
unnecessary spilling.
2011-08-22 14:06:17 +02: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
Erick Tryzelaar
af21a27002 Port the compiler to the expr foo::<T> syntax. 2011-08-16 15:05:56 -07:00
Erick Tryzelaar
4abc471390 Port the compiler to foo<T> decl syntax. 2011-08-16 15:05:56 -07:00
Erick Tryzelaar
e4a0f997fb Port the compiler to the typaram foo<T> syntax. 2011-08-16 15:05:56 -07:00
Brian Anderson
f05a91a0dc Rename std::ivec to std::vec 2011-08-16 10:36:19 -07:00
Lindsey Kuper
f91351aaf6 The wonky for...in... whitespace was bothering me. Sorry! 2011-08-15 22:19:50 -07:00
Brian Anderson
0fed53921f Remove ebmlivec module 2011-08-12 12:14:06 -07:00
Brian Anderson
7625ed52ee Remove vecs from std::sort 2011-08-12 12:14:06 -07:00
Brian Anderson
7d05da96f7 Rename std::ioivec to std::io 2011-08-12 12:08:27 -07:00
Brian Anderson
119f43e0c7 Rename str::connect_ivec to str::connect 2011-08-12 12:08:27 -07:00