-
Notifications
You must be signed in to change notification settings - Fork 3
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
Prototype using /
available for testing out!
#10
Comments
This is amazing, thank you everyone who helped make this happen!! |
Incredible work! Thank you for putting this together. |
Will the following situation create a conflict? |
Started to try it, but the modified Cargo failed to build. Maybe it's time to mark this namespacing-rfc (with Cargo and crates.io forks) as officially abandoned? |
Why would it be abandoned? The RFC is open and active (rust-lang/rfcs#3243), I think currently the team needs to discuss it and come back with a verdict. |
any news on this? |
TL;DR go to https://cratespaces.integer32.com/ and follow the instructions to try out crates-as-namespaces with
/
as the separator!If you don't know what this is, check out the text of this draft RFC.
What was built
Thanks to @stephanbuys, @JWorthe, and @tshepang of Caeg Industries who built this prototype!
It consists of:
/
as a crate name character to allow the creation of sub-crates in the same namespace. Owners of the top-level crate have permissions to publish the sub-crates and automatically get permissions to any sub-crate./
as a valid crate name character and converts it to_
for compilation purposesSo you should be able to:
foo
and then publish subcratesfoo/bar
andfoo/baz
Notably, no changes to rustc are needed for this to work!
I'm managing the running crates.io forked instance -- please ping me if it needs to be cleared out or if it goes down or something.
What wasn't built
We deliberately did not implement support for Cargo features to try and resolve the ambiguous syntax issue; they won't work with this prototype 🤷♀️
The forked instance deliberately doesn't include the current crates.io database right now; we're ignoring migration paths for this experiment.
How to help
Please follow the instructions at https://cratespaces.integer32.com/ to try out this behavior and report if it does or does not work as you would expect, given your understanding of the RFC text.
Especially open new issues on this repo for any problems you encounter that we haven't considered yet! Please DO NOT open issues on crates.io's repo as we have not decided whether this is the functionality we want yet and it is definitely not supported for real!
The text was updated successfully, but these errors were encountered: