233 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
Brian Anderson
67b1034989 rustdoc: Resolve some FIXMEs 2012-02-05 16:38:18 -08:00
Kevin Atkinson
9090a5c03b Store info about file "substr".
That is when a string that is part of a file needs to be parsed for a
reason, record that the string is a substr of the file rather than
using "<anon>" or "-" as the file name.  This will eventually allow
pointing to the right location, for now it just uses a more
meaningful string for the filename.
2012-02-03 20:41:49 -07:00
Brian Anderson
a57c15bf88 rustdoc: Add various sorting passes 2012-02-03 12:00:49 -08:00
Tom Lee
31b0d1b4bd core: rename str::lteq to str::le 2012-02-03 14:09:44 +01:00
Marijn Haverbeke
3bcd4fe6fa Start on in-crate monomorphizing
Adds a --monomorpize flag to rustc to turn it on. You probably don't
want to use it yet, since it's broken in a whole bunch of ways, but it
successfully monomorphizes simple generic functions called from within
the crate.

Issue #1736
2012-02-03 14:07:35 +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
Marijn Haverbeke
c1b075d042 Remove experimental GC code
It's been sitting unused long enough to have bitrotted completely.
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
Kevin Cantu
ae0d49aa06 Rename str::char_slice -> str::slice 2012-02-01 21:56:53 -08:00
Brian Anderson
f6f3d518e6 rustdoc: Split the pruning of undocumented branches into two passes
prune_undoc_details_pass strips arguments and return values that are
undocumented. prune_undoc_items_pass prunes entire items.
2012-01-31 21:54:16 -08:00
Brian Anderson
e8a5d81b24 rustdoc: Add impl docs to demo mod 2012-01-31 20:59:42 -08:00
Brian Anderson
77824cf2ed rustdoc: Write markdown for impls 2012-01-31 20:54:46 -08:00
Brian Anderson
f9f9388874 rustdoc: Apply string ops to impl docs 2012-01-31 20:42:06 -08:00
Brian Anderson
3f1534ad72 rustdoc: Promote impl descriptions to brief descriptions 2012-01-31 20:31:52 -08:00
Brian Anderson
d7a2837c55 rustdoc: Prune undocumented impls 2012-01-31 20:24:31 -08:00
Brian Anderson
fee9037765 rustdoc: Refactor tests 2012-01-31 19:32:27 -08:00
Brian Anderson
496205c85f rustdoc: Pull impl docs out of attributes 2012-01-31 19:32:27 -08:00
Brian Anderson
23042a3566 rustdoc: Gather types of impls 2012-01-31 19:32:27 -08:00
Brian Anderson
b7108d71a5 rustdoc: Rename impldoc.for_ty to self_ty 2012-01-31 19:32:27 -08:00
Brian Anderson
c218b65fd8 rustdoc: Prune unexported impls 2012-01-31 19:32:27 -08:00
Brian Anderson
7d6cf37a8d rustdoc: Extract impl doc nodes from AST 2012-01-31 19:32:27 -08:00
Brian Anderson
acb11f47dc rustdoc: Add impl doc node 2012-01-31 19:32:27 -08:00
Kevin Cantu
685a434e0a Rename str::loop_chars to str::all,
rename str::loop_chars_sub to str::substr_all, and
propagate this change to std::rope and rustdoc's calls to these
2012-01-31 14:29:11 -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
19b9a0d363 rustdoc: Reenable a working test 2012-01-30 21:02:03 -08:00
Brian Anderson
868d9c753c rustdoc: Add some rustdocs 2012-01-30 21:01:09 -08:00
Brian Anderson
bc450e60c3 rustdoc: Add ifaces to demo module 2012-01-30 20:54:02 -08:00
Brian Anderson
38197d8728 rustdoc: Write markdown for ifaces 2012-01-30 20:53:52 -08:00
Brian Anderson
f4aba18ae7 rustdoc: Apply generic string ops to ifaces 2012-01-30 19:37:32 -08:00
Brian Anderson
fd7bb70d6f rustdoc: Promote iface descriptions to brief descriptions 2012-01-30 19:37:32 -08:00
Brian Anderson
a64030697b rustdoc: Prune undocumented ifaces 2012-01-30 19:37:32 -08:00
Brian Anderson
2c495a9bf8 rustdoc: Add iface attribute docs to the doc tree 2012-01-30 19:37:32 -08:00
Brian Anderson
b8a683415c rustdoc: Add attribute parsing for ifaces and methods 2012-01-30 19:37:32 -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
c775798124 rustdoc: Add a test that unexported ifaces are pruned 2012-01-30 19:37:32 -08:00
Brian Anderson
cb4a383922 rustdoc: Extract iface doc nodes from the AST 2012-01-30 19:37:32 -08:00
Brian Anderson
d3aa174846 rustdoc: Add definition of iface docs 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
361f90e618 rustdoc: Sort the items so modules are printed last 2012-01-29 14:51:09 -08:00
Brian Anderson
07ac2e1043 rustdoc: Add a sorting pass 2012-01-29 14:15:14 -08:00
Brian Anderson
55e69eb458 rustdoc: Extract method to get item names 2012-01-29 13:36:54 -08:00
Brian Anderson
dbe2928c4d rustdoc: Fix typo in attr_pass 2012-01-29 13:25:38 -08:00
Brian Anderson
f8c93bdbe1 rustdoc: Move mod docs into the item tag 2012-01-29 13:08:18 -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
95e2b1b8f9 rustdoc: Add test that unexported resources are pruned 2012-01-29 11:38:44 -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
bfd8a14065 rustdoc: Create an item tag to hold doc for all item types 2012-01-29 11:38:44 -08:00