| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2013-08-07 | Forbid `priv` where it has no effect | Alex Crichton | -0/+5 | |
| This is everywhere except struct fields and enum variants. | ||||
| 2013-08-02 | librustc: Disallow "unsafe" for external functions | Patrick Walton | -1/+7 | |
| 2013-07-31 | rm ancient error for lowercase kinds | Daniel Micay | -7/+0 | |
| 3 of these kinds no longer even exist in the CamelCase form | ||||
| 2013-07-20 | auto merge of #7902 : huonw/rust/attr++, r=cmr,pcwalton | bors | -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 spans, so that `rustc --cfg 'foo(bar)'` now works. | ||||
| 2013-07-20 | librustc: Remove `pub extern` and `priv extern` from the language. | Patrick Walton | -0/+6 | |
| Place `pub` or `priv` on individual items instead. | ||||
| 2013-07-20 | syntax: 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-17 | librustc: Remove `copy` expressions from the language. | Patrick Walton | -5/+0 | |
| 2013-07-17 | librustc: Remove all uses of "copy". | Patrick Walton | -4/+4 | |
| 2013-07-17 | librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them. | Patrick Walton | -2/+3 | |
| 2013-06-28 | librustc: Rewrite reachability and forbid duplicate methods in type ↵ | Patrick Walton | -1/+20 | |
| implementations. This should allow fewer symbols to be exported. | ||||
| 2013-06-28 | libsyntax: Remove "copy" pattern bindings from the language | Patrick Walton | -0/+5 | |
| 2013-06-28 | librustc: Disallow "mut" from distributing over bindings. | Patrick Walton | -0/+6 | |
| This is the backwards-incompatible part of per-binding-site "mut". | ||||
| 2013-06-25 | great renaming propagation: syntax | Corey Richardson | -5/+3 | |
| 2013-06-23 | Parse and typecheck (not kindcheck) bounds on trait paths. | Ben Blum | -5/+0 | |
| 2013-06-18 | replace #[inline(always)] with #[inline]. r=burningtree. | Graydon Hoare | -1/+1 | |
| 2013-06-13 | Use @str instead of @~str in libsyntax and librustc. Fixes #5048. | Huon Wilson | -1/+1 | |
| This almost removes the StringRef wrapper, since all strings are Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts several things to be &'static str (the lint table and the intrinsics table). There are many instances of .to_managed(), unfortunately. | ||||
| 2013-06-04 | librustc: Disallow multiple patterns from appearing in a "let" declaration. | Patrick Walton | -0/+6 | |
| You can still initialize multiple variables at once with "let (x, y) = (1, 2)". | ||||
| 2013-06-04 | libsyntax: Remove `pub impl` from the language | Patrick Walton | -6/+5 | |
| 2013-06-01 | Remove all uses of `pub impl`. rs=style | Patrick Walton | -11/+16 | |
| 2013-05-29 | librustc: Stop reexporting the standard modules from prelude. | Patrick Walton | -0/+1 | |
| 2013-05-25 | Use an enum for keywords and intern them to improve parser performance | Björn Steinbrink | -3/+3 | |
| Currently, keywords are stored in hashsets that are recreated for every Parser instance, which is quite expensive since macro expansion creates lots of them. Additionally, the parser functions that look for a keyword currently accept a string and have a runtime check to validate that they actually received a keyword. By creating an enum for the keywords and inserting them into the ident interner, we can avoid the creation of the hashsets and get static checks for the keywords. For libstd, this cuts the parse+expansion part from ~2.6s to ~1.6s. | ||||
| 2013-05-22 | libextra: Rename the actual metadata names of libcore to libstd and libstd ↵ | Patrick Walton | -0/+1 | |
| to libextra | ||||
| 2013-05-19 | Register snapshots | Brian Anderson | -8/+0 | |
| 2013-05-15 | Allow static strings to be used with keyword checks | Björn Steinbrink | -2/+2 | |
| 2013-05-14 | syntax: Remove #[allow(vecs_implicitly_copyable)] | Alex Crichton | -7/+7 | |
| 2013-05-12 | libsyntax: Remove `extern mod foo { ... }` from the language. | Patrick Walton | -0/+6 | |
| 2013-05-10 | Remove the '<->' operator from the language | Alex Crichton | -0/+5 | |
| 2013-05-10 | syntax: Use the new `for` protocol | Alex Crichton | -0/+8 | |
| 2013-05-03 | add gitattributes and fix whitespace issues | Daniel Micay | -1/+0 | |
| 2013-05-01 | allow parsing attributes on struct fields | Erick Tryzelaar | -3/+3 | |
| 2013-04-28 | rename parse_single_class_item as well | John Clements | -1/+1 | |
| 2013-04-28 | refactor parse_fn_decl | John Clements | -1/+1 | |
| 2013-04-27 | only use #[no_core] in libcore | Daniel Micay | -2/+0 | |
| 2013-04-19 | syntax: de-mode and prepare for de-modeing rustc | Alex Crichton | -1/+1 | |
| 2013-03-26 | librustc: Stop parsing `[T * N]`. | Patrick Walton | -0/+5 | |
| 2013-03-26 | syntax: Removing uses of HashMap | Alex Crichton | -2/+2 | |
| 2013-03-22 | libsyntax: Stop parsing `const`. | Patrick Walton | -0/+6 | |
| 2013-03-22 | libsyntax: Introduce the new `assert!` macro; make `assert` no longer a keyword | Patrick Walton | -5/+0 | |
| 2013-03-22 | libsyntax: Stop parsing `pure` and `static` | Patrick Walton | -0/+10 | |
| 2013-03-22 | librustc: Remove `pure` from libsyntax and librustc. | Patrick Walton | -1/+1 | |
| 2013-03-22 | syntax: replace uses of old deriving attribute with new one | Andrew Paseltiner | -1/+1 | |
| 2013-03-21 | libsyntax: Remove `@const` from the language | Patrick Walton | -0/+5 | |
| 2013-03-18 | libsyntax: Stop parsing old lifetimes, except for the ones on data type ↵ | Patrick Walton | -0/+6 | |
| declarations. | ||||
| 2013-03-13 | librustc: Remove implicit self from the language, except for old-style drop ↵ | Patrick Walton | -0/+6 | |
| blocks. | ||||
| 2013-03-13 | Remove `++` mode from the compiler (it is parsed as `+` mode) | Niko Matsakis | -0/+5 | |
| and obsolete `-` mode altogether (it *was* parsed as `+` mode). | ||||
| 2013-03-11 | libsyntax: Stop parsing newtype enums | Patrick Walton | -0/+5 | |
| 2013-03-11 | libsyntax: Stop parsing bare functions in preparation for switching them over | Patrick Walton | -0/+5 | |
| 2013-03-09 | Remove @ast::Region and replace with @ast::Lifetime. | Niko Matsakis | -0/+6 | |
| Modify pretty-printer to emit lifetimes and fix a few minor parser bugs that this uncovered. | ||||
| 2013-03-07 | librustc: Stop parsing `assert`. | Patrick Walton | -0/+5 | |
| 2013-03-07 | librustc: Remove record patterns from the compiler | Patrick Walton | -0/+5 | |
