summary refs log tree commit diff
path: root/src/librustc/plugin/registry.rs
AgeCommit message (Collapse)AuthorLines
2014-09-19Add enum variants to the type namespaceNick Cameron-3/+3
Change to resolve and update compiler and libs for uses. [breaking-change] Enum variants are now in both the value and type namespaces. This means that if you have a variant with the same name as a type in scope in a module, you will get a name clash and thus an error. The solution is to either rename the type or the variant.
2014-09-16Fallout from renamingAaron Turon-1/+1
2014-09-10Remove BasicMacroExpander and BasicIdentMacroExpanderSteven Fackler-8/+3
The spans inside of these types were always None and never used. Pass the expander function directly instead of wrapping it in one of these types. [breaking-change]
2014-08-30Add lint groups; define built-in lint groups `bad_style` and `unused`P1start-1/+12
This adds support for lint groups to the compiler. Lint groups are a way of grouping a number of lints together under one name. For example, this also defines a default lint for naming conventions, named `bad_style`. Writing `#[allow(bad_style)]` is equivalent to writing `#[allow(non_camel_case_types, non_snake_case, non_uppercase_statics)]`. These lint groups can also be defined as a compiler plugin using the new `Registry::register_lint_group` method. This also adds two built-in lint groups, `bad_style` and `unused`. The contents of these groups can be seen by running `rustc -W help`.
2014-07-08introducing let-syntaxJohn Clements-1/+3
The let-syntax expander is different in that it doesn't apply a mark to its token trees before expansion. This is used for macro_rules, and it's because macro_rules is essentially MTWT's let-syntax. You don't want to mark before expand sees let-syntax, because there's no "after" syntax to mark again. In some sense, the cleaner approach might be to introduce a new AST node that macro_rules expands into; this would make it clearer that the expansion of a macro is distinct from the addition of a new macro binding. This should work for now, though...
2014-06-24Implement lint pluginsKeegan McAllister-0/+11
2014-06-09Document rustc::pluginKeegan McAllister-3/+18
2014-06-09Implement #[plugin_registrar]Keegan McAllister-0/+55
See RFC 22. [breaking-change]