Now that we have proc macros, I wonder if it makes sense to remove this extension point: it seems like it doesn't unlock any additional powers.
However, it's only a convenience wrapper over
register_syntax_extension, and that does have some additional knobs. But perhaps we remove the more general thing as well, as those knobs seem very rustc specific.
Context: https://github.com/rust-lang/rust/pull/64041 fails due to the change in this interface, and I am waiting for the the stage2 compiler to build to test my fix for the test :)
Probably after fixing https://github.com/rust-lang/rust/issues/64132.
(Right now it's also used as an internal helper.)
@Vadim Petrochenkov #64132 was fixed. Do we have an issue to track removal of
I think checking that
servo isn't using them (I think probably the answer is no -- they're mostly using plugins for lints I believe)
Once that's done I think we should just remove them (presuming we don't have uses ourselves, which I think is true)
We'll need at least to change compiler pluging example in the book: it's a roman-numerals macro at the moment
I would personally r+ a PR that changes that to say "Plugins will be removed entirely at some point in the future" and remove the example.
I think we should emit a warning or something when the plugin interface is used
@centril Coding that up seems like it's not worth the effort
It's already really painful to do so
@simulacrum idk, folks show up every now and then on internals and talk about their plugin
I would be fine replacing the feature gate with servo_plugin or so since they're the only use case we're waiting on to rip them out (and someone should really convince them to move over to their own rustc -- I've even been thinking about suggesting that we pull in their lints to rustc proper as a
servo::foo lint, and unstable)