Skip to content
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

Clean up filesystem support for upstreaming #484

Open
4 tasks
xobs opened this issue Jan 25, 2024 · 0 comments
Open
4 tasks

Clean up filesystem support for upstreaming #484

xobs opened this issue Jan 25, 2024 · 0 comments

Comments

@xobs
Copy link
Member

xobs commented Jan 25, 2024

With the recent merge of networking support, the only major component that is outstanding is filesystem support. While there is existing filesystem support in our local fork, it is not ideal, and it would be nice to clean it up.

I propose the following changes in order to get things upstreamed:

  • Change path separators — Initially we chose : which has some interesting historical properties, but the world seems to have largely settled on /. We should update all path handling code to work with this, with the caveat that bases can be prefixed to a string with :BaseName:
    • Special cases — There are many special cases such as :: and :BaseName and BaseName: that will have to be handled.
  • Remove senres — Senres was an attempt at essentially reinventing rkyv. There was an idea to use it everywhere, however it adds a lot of code and is not a good candidate for upstreaming. It's also only used in filesystem code, so it should be removed.
  • Better testing — Filesystem code is largely untested. Unfortunately it won't get tested until more people use it, but when they use it they run the risk of running into bugs. It's hard to quantify this bullet point.

Once this is settled we can create a libstd patch to add filesystem support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant