about summary refs log tree commit diff
path: root/src/librustdoc/attr_pass.rs
AgeCommit message (Collapse)AuthorLines
2013-09-22rustdoc: Out with the old, in with the newAlex Crichton-326/+0
Removes old rustdoc, moves rustdoc_ng into its place instead (plus drops the _ng suffix). Also shreds all reference to rustdoc_ng from the Makefile rules.
2013-09-12std: rename Option::unwrap_or_default() to unwrap_or()Erick Tryzelaar-1/+1
2013-09-10Delay assignment of node ids until after expansion. Ensures that each AST nodeNiko Matsakis-0/+1
has a unique id. Fixes numerous bugs in macro expansion and deriving. Add two representative tests. Fixes #7971 Fixes #6304 Fixes #8367 Fixes #8754 Fixes #8852 Fixes #2543 Fixes #7654
2013-08-10std: Transform.find_ -> .findErick Tryzelaar-1/+1
2013-08-10std: Rename Iterator.transform -> .mapErick Tryzelaar-4/+4
cc #5898
2013-08-05Updated std::Option, std::Either and std::ResultMarvin Löbel-2/+2
- Made naming schemes consistent between Option, Result and Either - Changed Options Add implementation to work like the maybe monad (return None if any of the inputs is None) - Removed duplicate Option::get and renamed all related functions to use the term `unwrap` instead
2013-07-29New naming convention for ast::{node_id, local_crate, crate_node_id, ↵Michael Woerister-1/+1
blk_check_mode, ty_field, ty_method}
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-2/+2
`crate => Crate` `local => Local` `blk => Block` `crate_num => CrateNum` `crate_cfg => CrateConfig` Also, Crate and Local are not wrapped in spanned<T> anymore.
2013-07-20syntax: modernise attribute handling in syntax::attr.Huon Wilson-3/+3
This does a number of things, but especially dramatically reduce the number of allocations performed for operations involving attributes/ meta items: - Converts ast::meta_item & ast::attribute and other associated enums to CamelCase. - Converts several standalone functions in syntax::attr into methods, defined on two traits AttrMetaMethods & AttributeMethods. The former is common to both MetaItem and Attribute since the latter is a thin wrapper around the former. - Deletes functions that are unnecessary due to iterators. - Converts other standalone functions to use iterators and the generic AttrMetaMethods rather than allocating a lot of new vectors (e.g. the old code would have to allocate a new vector to use functions that operated on &[meta_item] on &[attribute].) - Moves the core algorithm of the #[cfg] matching to syntax::attr, similar to find_inline_attr and find_linkage_metas. This doesn't have much of an effect on the speed of #[cfg] stripping, despite hugely reducing the number of allocations performed; presumably most of the time is spent in the ast folder rather than doing attribute checks. Also fixes the Eq instance of MetaItem_ to correctly ignore spaces, so that `rustc --cfg 'foo(bar)'` now works.
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-20/+20
2013-07-17Clean-up tests after debug!/std-macros change.Huon Wilson-1/+2
The entire testsuite is converted to using info! rather than debug! because some depend on the code within the debug! being trans'd.
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-9/+8
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-29Great renaming: propagate throughout the rest of the codebaseCorey Richardson-3/+1
2013-06-28librustc: Change "Owned" to "Send" everywherePatrick Walton-1/+1
2013-06-21replace vec::find with the IteratorUtil methodDaniel Micay-1/+1
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+1
2013-05-22librustc: Add some missing `use core::prelude::*;` in the test casesPatrick Walton-0/+2
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-14Fix test fallout from removing vecs_implicitly_copyableAlex Crichton-3/+3
2013-05-14Fix cosmetics for fail!() callsMarvin Löbel-3/+2
2013-05-14Use static string with fail!() and remove fail!(fmt!())Björn Steinbrink-4/+4
fail!() used to require owned strings but can handle static strings now. Also, it can pass its arguments to fmt!() on its own, no need for the caller to call fmt!() itself.
2013-04-27only use #[no_core] in libcoreDaniel Micay-4/+0
2013-04-25Rename vec::mod2 to vec::mod_zipCorey Richardson-1/+1
2013-04-16librustdoc: move tests into dedicated tests module.Huon Wilson-106/+107
2013-03-29librustc: Remove `fail_unless!`Patrick Walton-12/+12
2013-03-26option: rm functions that duplicate methodsDaniel Micay-5/+3
2013-03-26Move ast_map::map to LinearMapAlex Crichton-3/+3
2013-03-19librustc: Enforce privacy for static methods.Patrick Walton-1/+1
This starts moving a bunch of privacy checks into the privacy checking phase and out of resolve.
2013-03-07librustc: Convert all uses of `assert` over to `fail_unless!`Patrick Walton-12/+12
2013-03-07librustc: Remove "extern mod { ... }" from librustc, librustdoc, and tests. ↵Patrick Walton-7/+1
rs=deexterning
2013-03-04Remove unused imports throughout src/Alex Crichton-2/+0
2013-03-02librustdoc: Remove `fn@`, `fn~`, and `fn&` from compiletest, fuzzer, ↵Patrick Walton-1/+1
rustdoc, and rt. rs=defun
2013-02-15librustdoc: Get rid of `move`.Luqman Aden-1/+1
2013-02-13Remove die!, raplace invocations with fail! Issue #4524 pt 3Nick Desaulniers-3/+3
2013-02-05oldmap: use &K instead of K in find and getPatrick Walton-3/+3
This reverts commit a4250a96fdf61142a9c8dbb6d37ae8435c99e396. This is not the cause of the nonexhaustive-match failure.
2013-02-05Revert "oldmap: use &K instead of K in find and get"Graydon Hoare-3/+3
This reverts commit 8e643525d4e5bca993dada43615916c382a0645b.
2013-02-03oldmap: use &K instead of K in find and getDaniel Micay-3/+3
2013-02-03rename map -> oldmap and mark it as deprecatedDaniel Micay-1/+1
LinearMap is quite a bit faster, and is fully owned/sendable without requiring copies. The older std::map also doesn't use explicit self and relies on mutable fields.
2013-02-01Merge remote-tracking branch 'nickdesaulniers/issue4524' into nocomm1Brian Anderson-3/+3
2013-02-01rustdoc: Convert astsrv to pipesBrian Anderson-9/+10
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-3/+3
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-1/+1
2013-01-31Finalize moves-based-on-type implementation.Niko Matsakis-14/+21
Changes: - Refactor move mode computation - Removes move mode arguments, unary move, capture clauses (though they still parse for backwards compatibility) - Simplify how moves are handled in trans - Fix a number of illegal copies that cropped up - Workaround for bug involving def-ids in params (see details below) Future work (I'll open bugs for these...): - Improve error messages for moves that are due to bindings - Add support for moving owned content like a.b.c to borrow check, test in trans (but I think it'll "just work") - Proper fix for def-ids in params Def ids in params: Move captures into a map instead of recomputing. This is a workaround for a larger bug having to do with the def-ids associated with ty_params, which are not always properly preserved when inlining. I am not sure of my preferred fix for the larger bug yet. This current fix removes the only code in trans that I know of which relies on ty_param def-ids, but feels fragile.
2013-01-30rustdoc: De-modeBrian Anderson-9/+9
2013-01-30rustdoc: deny(deprecated_mode)Brian Anderson-2/+2
2013-01-30rustdoc: Various bits of modernizationBrian Anderson-23/+25
2013-01-29rustdoc: Remove structural records from tests. Fixes build breakageTim Chevalier-3/+3
2013-01-29libstd: Remove "dual impls" from the language and enforce coherence rules. ↵Patrick Walton-9/+9
r=brson "Dual impls" are impls that are both type implementations and trait implementations. They can lead to ambiguity and so this patch removes them from the language. This also enforces coherence rules. Without this patch, records can implement traits not defined in the current crate. This patch fixes this, and updates all of rustc to adhere to the new enforcement. Most of this patch is fixing rustc to obey the coherence rules, which involves converting a bunch of records to structs.
2013-01-14convert ast::item into a structErick Tryzelaar-3/+3
2013-01-09A collection of refactorings that I found it hard/tiresome to divide:Niko Matsakis-1/+1
- Make `extern fn()` assignable to any closure type, rather than a subtype. - Remove unused int_ty_set and float_ty_set - Refactor variable unification and make it more DRY - Do fn sub/lub/glb on the level of fn_sig - Rename infer::to_str::ToStr to infer::to_str::InferStr - Capitalize names of various types - Correct hashing of FnMeta - Convert various records-of-fns into structs-of-fns. This is both eliminating use of deprecated features and more forwards compatible with fn reform. r=pcwalton