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

Add unstable_extern_types feature #104

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

madsmtm
Copy link

@madsmtm madsmtm commented Jun 15, 2021

To see what changes we'd have to make in the library to use extern type (RFC-1861) when it's is stabilized.

This requires SSheldon/rust-objc-encode#7.

Unfortunately had to change some usage of ptr::null[_mut] to 0 as *const/mut X, and change the inner type of AtomicPtr, see rust-lang/rust#42847.

To see what changes we'd have to make in the library to use `extern type` (RFC-1861) (when it's is stabilized).

Unfortunately had to change some usage of `ptr::null[_mut]` to `0 as *const/mut X`, see rust-lang/rust#42847.
@SSheldon
Copy link
Owner

SSheldon commented Aug 4, 2021

I'm very excited for extern types, thanks for doing this proof of concept! However I'm not excited about having another feature flag and a nightly only feature. I think we should wait for this feature to stabilize.

@madsmtm
Copy link
Author

madsmtm commented Aug 6, 2021

I think it's a good idea to have unstable features like these, since it gives nightly users (like myself 😉) the option to test it out on their code beforehand, and raise incentive for the feature to be developed on upstream. Besides, it isn't (or can at least be explicitly documented to not be) part of the SemVer contract since they're nightly only anyway - so theoretically, barring the changes to ?Sized bounds, this could be released in 0.2.8 and removed in 0.2.9 again if you wanted to.

Notable other places where the unstable feature thing is done:

@madsmtm madsmtm mentioned this pull request Sep 5, 2021
80 tasks
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

Successfully merging this pull request may close these issues.

2 participants