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

Consider not suggesting the mach crate on the deprecation note #2286

Closed
JohnTitor opened this issue Jul 14, 2021 · 5 comments
Closed

Consider not suggesting the mach crate on the deprecation note #2286

JohnTitor opened this issue Jul 14, 2021 · 5 comments

Comments

@JohnTitor
Copy link
Member

JohnTitor commented Jul 14, 2021

#1364 deprecated mach-related items and added a note suggesting the mach crate instead. But that crate hasn't been maintained since 2019 (related issue: fitzgen/mach#63), we should consider not suggesting it and how we treat mach-related items (for now, I've accepted #2283).
EDIT: I'm contacting the repo owner to see if I can help maintain.

@JohnTitor
Copy link
Member Author

The current problem is that it's unclear what version we're referring to. So, are the mach-related items updated often? If so, we could add a cfg and separate declaration into "stable" ones and "unstable" ones (but it makes the code verbose).

@JohnTitor
Copy link
Member Author

JohnTitor commented Jul 23, 2021

I haven't received any response from the repo owner for a week and I'm thinking of this.
So, the initial thought should've been that the values on mach.h were often updated/deprecated and versioning here didn't fit it. If this situation still continues, we have some ways to account for it:

  1. Add a new feature to introduce breaking changes without pain. This is a smaller change but makes code verbose.
  2. Prepare a new (sub)crate to replicate the mach crate. This is a simpler change but needs more work to maintain.

If the mach-related items aren't updated/removed recently, we could simply de-deprecate them.

@JohnTitor
Copy link
Member Author

cc @rust-lang/libc I'd like to hear your thoughts here.

@JohnTitor
Copy link
Member Author

As the repo owner hasn't responded, I've created https://github.com/JohnTitor/mach2 as a fork.
But I guess we now have some more unstable items, which are likely to be changed in the future, other than mach-related items, so I'm not sure if redirecting to that crate is still the best way here. On the other hand, I would agree that testing with multiple XCode versions is quite heavy though.
I'm going to update the existing deprecation notes to suggest mach2 instead for now, but there are some other mach items that aren't deprecated and we should think of them.

bors added a commit that referenced this issue Nov 16, 2021
Suggest the `mach2` crate instead

cc #2286
r? `@ghost`
@JohnTitor
Copy link
Member Author

Since mach2 is now used by some Rustaceans and receives PRs, I'd call it an alternative crate for mach. Closing as resolved.

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

No branches or pull requests

1 participant