Commit Graph

7000 Commits

Author SHA1 Message Date
Marijn Haverbeke
506a6ec38b Make syntax for impls less magical
The trick of interpreting parameters to the iface type as parameters
to the impl was just too magical.

Issue #1227
2012-01-03 15:37:41 +01:00
Marijn Haverbeke
e1dc40b271 More work on translating dictionary-passing
Reached a point where simple uses of interfaces without bounds work.

Issue #1227
2012-01-03 15:36:57 +01:00
Brian Anderson
45b153adfe llvm: Revert unneeded debugging change 2012-01-02 12:18:23 -08:00
Marijn Haverbeke
b162f33396 Fix expected error messages for better printing of ty_ptr 2012-01-02 15:59:04 +01:00
Marijn Haverbeke
cdd806d324 Add a clause ty_ptr to ppaux::ty_to_str
Closes #1383
2012-01-02 15:42:13 +01:00
Marijn Haverbeke
15be2fc73a Add 'copy' bounds to functions that were faultily accepted without
Issue #1390
2012-01-02 15:31:58 +01:00
Marijn Haverbeke
8c14943dea Properly handle expression blocks in kind.rs
It was only noticing them in expr_block form, not as function
bodies.

Closes #1390
2012-01-02 15:23:11 +01:00
Lenny222
86279e8693 typo 2012-01-02 15:16:15 +01:00
Marijn Haverbeke
1741ef75ac Write out vtables for interface implementations
Issue #1227
2012-01-02 15:15:28 +01:00
Marijn Haverbeke
371b61a23d Drop two useless sub-passes from trans
Neither collect_tag_ctors nor the second pass in collect_items needed
to be separate passes.

Also remove obsolete obj_methods table kludge.
2012-01-02 15:15:28 +01:00
Marijn Haverbeke
a4694ce146 Create a trans_impl module 2012-01-02 15:15:27 +01:00
Marijn Haverbeke
3a1710d21e Key tcx.ty_param_bounds on node_ids, not def_ids
This makes it clearer that it's only valid for local nodes.
2012-01-02 15:15:27 +01:00
Marijn Haverbeke
9f2369dc9f Box arrays of parameter bounds 2012-01-02 15:15:27 +01:00
Marijn Haverbeke
270b4273e7 Pass bounds to trans::type_of_fn 2012-01-02 15:15:27 +01:00
Marijn Haverbeke
664a0443ad More resolving and typechecking of bounded type parameters.
Extern interfaces still don't get recognized.

Issue #1227
2012-01-02 15:15:27 +01:00
Marijn Haverbeke
40d5f288c3 Check that type parameter bounds are interface types
Issue #1227
2012-01-02 15:15:27 +01:00
Marijn Haverbeke
7ea175f23f Fix confusing information in tutorial chapter about argument modes 2012-01-02 10:23:04 +01:00
Marijn Haverbeke
bd6646e698 Make last-use pass properly handle closed-over variables
Closes #1399
2012-01-02 10:20:58 +01:00
Brian Anderson
1c125d8829 llvm: Upgrade LLVM with FreeBSD segmented stack support 2012-01-01 20:26:34 -08:00
Brian Anderson
6d2dd70adc Add Jyun-Yan You to AUTHORS.txt 2012-01-01 20:20:32 -08:00
Jyun-Yan You
4566578fbd link with gcc44+ 2012-01-01 20:18:55 -08:00
Jyun-Yan You
274fc1b59c fix link error 2012-01-01 20:18:55 -08:00
Jyun-Yan You
21eadbe6f1 add missing library, enable segmented stacks for freebsd 2012-01-01 20:18:55 -08:00
Jyun-Yan You
d4884b6c6e forgot to add parentheses 2012-01-01 20:18:55 -08:00
User Jyyou
a59c4b1b47 freebsd support 2012-01-01 20:18:55 -08:00
Brian Anderson
f0e98691db Merge pull request #1407 from erickt/master
The tutorial should mention the ++ arg passing style
2012-01-01 13:17:34 -08:00
Lenny222
f8d7a1c258 "str": extract to_upper/lower_case() into "char" 2012-01-01 13:15:30 -08:00
Erick Tryzelaar
eba891e989 tutorial: Mention by-value argument passing style. 2011-12-31 12:20:03 -08:00
Niko Matsakis
8319b5a252 add cap clause to pretty printer, with a test 2011-12-30 16:25:55 -08:00
Graydon Hoare
bfc9a499c2 Print usage messages to rustc and rustdoc when invoked with no args. Close #1394. 2011-12-30 15:26:49 -08:00
Graydon Hoare
90ae3e3168 Document copy/move/swap/assign expressions more accurately. Fix up some drift on log docs. 2011-12-30 15:10:55 -08:00
Graydon Hoare
468ced3868 Make install and check targets depend on all. Close #1395. 2011-12-30 12:48:07 -08:00
Graydon Hoare
7e611366bb Make clean cleaner. 2011-12-30 12:47:43 -08:00
Niko Matsakis
aa5382bb13 split proto from fn_decl, as not all fn_decls know the proto.
this will address the (crashing) new test added.
2011-12-29 20:29:28 -08:00
Graydon Hoare
d6db9506f4 Purge some obsolete and/or not-implemented stuff from docs. 2011-12-29 18:02:39 -08:00
Graydon Hoare
ca7d389e1d Of course there were overlong lines. 2011-12-29 17:30:43 -08:00
Graydon Hoare
1cd132eef0 Teach unicode script to emit canonical and compat decomp mappings. Annoyingly large encoding. 2011-12-29 17:24:04 -08:00
Graydon Hoare
36c55b20a8 Add support in lexer for utf8 identifiers. No NFKC logic in char yet. 2011-12-29 14:45:18 -08:00
Graydon Hoare
5fd0a3be0c Save and restore xmm regs across the call to UPCALL_NEW_STACK during __morestack, close #1388. 2011-12-29 11:49:29 -08:00
Graydon Hoare
884adf38a1 Remove obsolete comments. 2011-12-29 10:21:05 -08:00
Marijn Haverbeke
816b0ac8ae Box ty_param_bounds_and_ty
It contains a vector, which shouldn't be copied all the time.
2011-12-29 09:29:08 +01:00
Graydon Hoare
2ed1005bd7 On second thought, re-land pull request #1385 with backquotes; easier to grep, can change in the future. 2011-12-28 13:41:31 -08:00
Graydon Hoare
f2c88c1b80 Merge pull request #1385 from Lenny222/quotes
Use singlequotes in the typechecker error messages too, to distinguish code and English
2011-12-28 13:08:28 -08:00
Graydon Hoare
51227c1e8a Merge pull request #1389 from erickt/master
misc standard library additions
2011-12-28 13:05:02 -08:00
Marijn Haverbeke
9236fdf39f Move the kind datatype to middle::ty
The AST no longer references it.
2011-12-28 21:18:16 +01:00
Marijn Haverbeke
1ed6a27548 Change representation of type params to handle interface bounds
Issue #1227
2011-12-28 21:18:16 +01:00
Graydon Hoare
5930463faa Tidy up some drift in runtime logging, close #1380. 2011-12-28 11:53:12 -08:00
Erick Tryzelaar
b6cecdd4de libstd: add bytes_reader and bytes_writer
This parallels nicely with string_reader and string_writer, but
working with raw byte strings. I'm not quite sure if the return
type for bytes_writer.get_bytes should be [u8] or [mutable u8]
though, so I'm arbitrarily picking mutable for now.
2011-12-28 11:19:41 -08:00
Erick Tryzelaar
1f0757c684 libstd: Allow io writer to write mutable arrays 2011-12-28 11:19:41 -08:00
Erick Tryzelaar
af41564747 libstd: add a method to generate random bytestrings. 2011-12-28 11:19:41 -08:00