-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make libsyntax available on crates.io #45859
Comments
If API got compiler agnostic and somewhat stable, could libsyntax be used in procedural macros as Syn alternative? I imagine, that it would make macro's compatibility with user code forever on par with rustc (at least in version chosen as dependency), no more Syn chasing syntax changes? |
This is a far more ambitious goal and would take a lot more effort. I'm not entirely sure if it is even possible either - the goals are very different (stable API vs always evolving API and 'just a parser' vs an entire compiler frontend). |
We have |
This is basically done now, but I think @alexcrichton had some smaller things he thought could be addressed. |
Yes I've set this up to be automatically published via this script which is just running locally on my machine. There's a few issues I think we'll want to change though:
After that the auto-publish script purely only has to edit the |
I believe both of the issue above have been resolved (unicode_internals is the feature gate, and the environment variable is no longer needed) so I'm going to close this as we can likely eliminate the hacks in the autopublisher at any point pretty much (I've gone ahead and filed alexcrichton/rustc-auto-publish#10). |
This has previously been attempted (see #41732 for example) with the goal of making libsyntax a stable crate. That turned out to be difficult (although it might be easier now since some work has been done in this area). It would be useful to be able to use libsyntax via crates.io, and if it is nightly-only, I think this should not be too difficult.
Ideally, a bot would publish once per week or even every day.
The motivation here is so that rustfmt can use the crates.io version of libsyntax and then it would not be broken (which in turn breaks the RLS) every time there is a breaking change to libsyntax (which is fairly often, it turns out).
cc @alexcrichton @Mark-Simulacrum
The text was updated successfully, but these errors were encountered: