It wasn't a very appropriate use of the trait. Instead, just enumerate unit structs and those with a `fn new()` separately.
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.