Huon Wilson
64019e764f
rustc: update the unnecessary parens lint for struct literals.
...
Things like `match X { x: 1 } { ... }` now need to be written with
parentheses, so the lint should avoid warning in cases like that.
2014-06-27 16:43:05 +10:00
Keegan McAllister
7e694e7115
More upstream lint changes
2014-06-24 11:36:28 -07:00
Keegan McAllister
51d438e568
Incorporate upstream changes to old lint code
2014-06-24 11:36:28 -07:00
Keegan McAllister
e67e6e678d
List builtin lints one per line for better diffs
2014-06-24 11:36:28 -07:00
Keegan McAllister
c747626ced
Reindent function call continuations, and other style fixes
2014-06-24 11:36:27 -07:00
Keegan McAllister
ba1c0c4232
Drop the ExportedItems argument from LintPass::check_crate
...
None of the builtin lints use this, and it's now available through the Context.
2014-06-24 11:36:27 -07:00
Keegan McAllister
6fede93475
Make the crate and its exported items available in the lint context
2014-06-24 11:36:27 -07:00
Keegan McAllister
b5542f7f5b
Convert builtin lints to uppercase names for style consistency
2014-06-24 11:36:27 -07:00
Keegan McAllister
c1898b9acb
Stop using Default for initializing builtin lints
...
It wasn't a very appropriate use of the trait. Instead, just enumerate
unit structs and those with a `fn new()` separately.
2014-06-24 11:36:27 -07:00
Keegan McAllister
c7af6060dd
Clean up and document the public lint API
...
Also change some code formatting.
lint::builtin becomes a sibling of lint::context in order to ensure that lints
implemented there use the same public API as lint plugins.
2014-06-24 11:36:27 -07:00
Keegan McAllister
819f76ca82
Store the registered lints in the Session
2014-06-24 11:36:27 -07:00
Keegan McAllister
442fbc473e
Replace enum LintId with an extensible alternative
2014-06-24 10:25:15 -07:00
Keegan McAllister
69b6bc5eee
Convert lints to a trait-based infrastructure
...
The immediate benefits are
* moving the state specific to a single lint out of Context, and
* replacing the soup of function calls in the Visitor impl with
more structured control flow
But this is also a step towards loadable lints.
2014-06-24 10:24:03 -07:00
Keegan McAllister
3144614f0b
Move lint infrastructure and individual lints into separate files
2014-06-24 10:24:03 -07:00