3 #![feature(plugin_registrar)]
4 #![feature(rustc_private)]
6 extern crate rustc_driver;
9 use rustc_driver::plugin::Registry;
10 use syntax::ext::base::SyntaxExtension;
11 use syntax::feature_gate::AttributeType;
12 use syntax::symbol::Symbol;
15 pub fn plugin_registrar(reg: &mut Registry) {
16 reg.register_attribute(Symbol::intern("foo"), AttributeType::Normal);
17 reg.register_attribute(Symbol::intern("bar"), AttributeType::CrateLevel);
18 reg.register_attribute(Symbol::intern("baz"), AttributeType::Whitelisted);
19 reg.register_syntax_extension(
20 Symbol::intern("mac"), SyntaxExtension::dummy_bang(reg.sess.edition())