Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upTracking issue for plugin stabilization (`plugin`, `plugin_registrar` features) #29597
Comments
aturon
added
T-lang
B-unstable
labels
Nov 5, 2015
This comment has been minimized.
This comment has been minimized.
|
Current status: awaiting a complete revamp of the plugin system. cc @nrc |
This comment has been minimized.
This comment has been minimized.
nixpulvis
commented
Nov 5, 2015
|
How do (or might) plugins affect saftey guarantees of the language? |
aturon
changed the title
Tracking issue for `plugin_registrar`
Tracking issue for plugin stabilization (`plugin`, `plugin_registrar` features)
Nov 5, 2015
This comment has been minimized.
This comment has been minimized.
|
Is anyone actively working on this? Curious what the status is since using Serde without the need for code generation with syntex on stable Rust is very high on my Rust wishlist. |
This comment has been minimized.
This comment has been minimized.
|
@nrc is |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Thanks Aaron—I had read a couple of the posts about the macro system but it didn't click that this was intended to replace compiler plugins for the purpose of syntax extensions. It makes sense now, and looks great. I can't wait. :} |
added a commit
to callahad/ladaemon
that referenced
this issue
Jun 24, 2016
added a commit
to callahad/ladaemon
that referenced
this issue
Jun 26, 2016
This comment has been minimized.
This comment has been minimized.
|
Any progress now? |
This comment has been minimized.
This comment has been minimized.
|
Yes! The "Macros 1.1" RFC at rust-lang/rfcs#1681 was accepted. It’s implementation is tracked at #35900. |
added a commit
to scottlamb/moonfire-nvr
that referenced
this issue
Dec 8, 2016
Mark-Simulacrum
added
the
C-tracking-issue
label
Jul 22, 2017
Ms2ger
referenced this issue
Oct 13, 2017
Open
Tracking: Unstable Rust feature gates used by Servo #5286
This comment has been minimized.
This comment has been minimized.
|
The one remaining plugin in Servo is a Could this kind of analysis be built on top of RLS? Could that be a way forward for custom lints without relying on unstable rustc internals? |
This comment has been minimized.
This comment has been minimized.
eisterman
commented
Mar 31, 2018
|
Any progress now? |
This comment has been minimized.
This comment has been minimized.
0rvar
commented
Jul 16, 2018
|
Are there any plans for stabilizing plugins in the foreseeable future? |
This comment has been minimized.
This comment has been minimized.
|
The plan is to remove the plugin API entirely. |
This comment has been minimized.
This comment has been minimized.
vityafx
commented
Aug 3, 2018
|
@oli-obk Could you go into details please? |
This comment has been minimized.
This comment has been minimized.
|
Even if we stabilized the plugin interface, it would be useless, because there is no stable API it offers. Instead things like proc macros 2.0, custom derive, ... are stabilized by offering an interface that does not require the language to guarantee a plugin interface to the compiler. All of these non-plugin-requiring APIs can be implemented with various other schemes, even if they are currently implemented via plugins in the background. Note: this issue is not about allowing writing bin crates which can be extended via plugins, it is about plugins that can extend the compiler. |
This comment has been minimized.
This comment has been minimized.
vityafx
commented
Aug 3, 2018
|
Is not rocket a plugin to a compiler? If so, that means we will bury it alive? |
This comment has been minimized.
This comment has been minimized.
|
Rocket is a plugin to the compiler because proc macros 2.0, and most notably their attribute support is not implemented yet. Of course there is no desire to eliminate any uses of the plugin API without a viable alternative. But there is also no desire to stabilize it while there are much better alternatives on the horizon. Especially if stabilizing has a high cost for the compiler, while the alternatives do not have the same cost associated with them. |
aturon commentedNov 5, 2015
Tracks stabilization for the
pluginandplugin_registrarfeature gates.