31 Commits

Author SHA1 Message Date
Marijn Haverbeke
e0fa5cd2ed Self types for ifaces
This allows a 'Name:' to appear in front of an iface declaration's
name, which will cause 'Name' to refer to the self type (with the same
number of type parameters as the iface has) in the method signatures
of the iface. For example:

    iface F: functor<A> {
        fn fmap<B>(f: fn(A) -> B) -> F<B>;
    }

Issue #1718
2012-02-06 09:56:41 +01:00
Marijn Haverbeke
43ce38375d Store item paths in ast_map, get rid of trans::local_ctxt
The direct motivation for this was that the monomorphizer needs to be
able to generate sane symbols for random items. The typechecker can
probably also use this in the future to provide more useful error
messages.
2012-02-03 11:34:12 +01:00
Brian Anderson
2b67de06c8 rustdoc: Add support for type items 2012-02-01 22:41:54 -08:00
Brian Anderson
fee9037765 rustdoc: Refactor tests 2012-01-31 19:32:27 -08:00
Brian Anderson
23042a3566 rustdoc: Gather types of impls 2012-01-31 19:32:27 -08:00
Tim Chevalier
fba35e1a3c Require alts to be exhaustive
middle::check_alt does the work. Lots of changes to add default cases
into alts that were previously inexhaustive.
2012-01-31 10:08:24 -08:00
Brian Anderson
dd1564a6d3 rustdoc: Add iface method type info to the doc tree 2012-01-30 19:37:32 -08:00
Brian Anderson
fe745f1b5d rustdoc: Use fewer unique pointers 2012-01-30 13:05:25 -08:00
Brian Anderson
9732e0d554 rustdoc: Move fn docs into the item tag 2012-01-29 12:47:06 -08:00
Brian Anderson
5aa6c3a49a rustdoc: Move const docs into the item tag 2012-01-29 12:46:26 -08:00
Brian Anderson
d56a4dd04b rustdoc: Move enum docs into the item tag 2012-01-29 11:38:44 -08:00
Brian Anderson
40cbc89b6f rustdoc: Move resource docs into the item tag 2012-01-29 11:38:44 -08:00
Brian Anderson
ca0aefa8bf rustdoc: Add resource arg tys to doc tree 2012-01-26 22:54:16 -08:00
Brian Anderson
97a1110c5f rustdoc: Add resource signatures to doc tree 2012-01-26 20:59:15 -08:00
Brian Anderson
38908581f7 rustdoc: Rename astsrv::ctxt.map to ast_map 2012-01-26 11:05:21 -08:00
Brian Anderson
0b9f2a8215 rustdoc: Extract variant signatures 2012-01-25 21:04:49 -08:00
Brian Anderson
e6ed88df68 rustdoc: Add const types to the doc tree 2012-01-24 00:38:35 -08:00
Brian Anderson
fdbe206a76 rustdoc: Make doc::retdoc non-optional 2012-01-19 19:14:29 -08:00
Brian Anderson
c6278e53dc rustdoc: Remove debug logging 2012-01-19 18:36:20 -08:00
Brian Anderson
2a442f9f8f rustdoc: Add function signatures to the doc tree 2012-01-19 18:14:17 -08:00
Brian Anderson
9df0306889 rustdoc: Cleanup 2012-01-19 00:14:41 -08:00
Brian Anderson
f77458a676 rustdoc: Remove nullary-tag dots 2012-01-19 00:08:51 -08:00
Brian Anderson
e9ddfbe3fd rustdoc: Ignore nil-typed return values 2012-01-18 21:50:35 -08:00
Brian Anderson
6da55efa4e rustdoc: Add argument types to the doc 2012-01-18 17:05:03 -08:00
Brian Anderson
f3fa7c1555 rustdoc: Extract functions from tystr_pass::fold_fn 2012-01-18 16:09:32 -08:00
Brian Anderson
e23e45bc6d rustdoc: Add rustdocs 2012-01-17 17:45:37 -08:00
Brian Anderson
637f19965f rustdoc: Convert markdown generation to a pass 2012-01-17 16:31:26 -08:00
Brian Anderson
a6bdaee7f9 rustdoc: Remove iface. Causing random crashes in resolve? 2012-01-17 16:31:26 -08:00
Brian Anderson
645035a715 rustdoc: Convert tystr_pass to use astsrv 2012-01-16 21:12:35 -08:00
Brian Anderson
04294e437b rustdoc: Cleanup 2012-01-16 21:12:35 -08:00
Brian Anderson
c4de718f37 rustdoc: Add tystr_pass module for extracting type strings 2012-01-16 21:12:34 -08:00