Implementation of a split crate scheme.#257
Conversation
|
Thanks for starting work on this! For stuff like Github helpfully gives me access to your |
I just meant that if you wanted to keep them somewhat private, they could be namespaced under e.g. a "mod procfs-internal". But if you don't mind expanding the API by making them public, that makes it easier. I think most might actually be able to be kept private if the relevant things are moved over into |
|
Ah, I see. For now, let's just make them public in |
|
@eminence Take a look at what I've got so far. More stuff could be moved to This includes allowing the (new) Types which need Methods which need |
|
(Just dropping a quick note to say that I haven't forgotten about this PR) |
|
No problem, I know it's a lot to take in (and still isn't complete in moving stuff to |
|
Also for such a large changeset I recommend simply looking at the files. The diff view is way more distracting than helpful (I wish they at least supported side-by-side diffs). |
|
I just pushed 2 new commits to your branch: one updates github CI, and the other removes some problematic doc comments (which were trying to link to |
|
Yes, I should have mentioned that I wasn't particularly thorough with updating doc comments (especially because I think there should probably be some more involved rewriting for a few things like module documentation to make the organization clear). |
|
It looks like the nightly failure is from the |
|
Yeah, see rust-lang/rust#109614 should be fixed soon |
|
Yes, it looks like the nightly failure is due to rust-lang/rust#109424, which happens to hit rustix. |
|
Aside from CI blinking lights, how does the crate organization look? Is this a direction you want to take the project? I only have this as a draft at this point because it would feel more complete to move the few missing things over correctly. |
|
Yes, it definitely is. Since this is a big PR that's hard to review, my strategy/next steps for reviewing is this:
Hopefully you've already been able to validate that the new |
|
Yeah, the |
some traits. The `procfs` crate and tests now build (and pass).
|
I migrated my procdump project to using this PR, and it went pretty smoothly. I had to make only a few changes:
I also see that some functions like Since this PR is really quite large, my current inclination is to merge this, and then do additional iterations in additional merge requests. |
|
It sounds like you hit most/all of the purposeful breaking changes! Those changes were mainly to improve consistency in the API and naming (e.g. I think it's fine to keep some of those standalone functions. I actually thought I had left a TODO somewhere mentioning that, but I don't see it. I considered making individual extension traits in |
|
I ran a tool ( |
|
I just finished moving everything else except the |
|
Ok, let's get this merged, so other PRs can be rebased. Many thanks @afranchuk for working on this |
This splits the crates as a demonstration of what that might look like.
cc #255