Use local_inner_macros to remove the need to import 'sel_impl' when importing 'sel'#73
Use local_inner_macros to remove the need to import 'sel_impl' when importing 'sel'#73mehcode wants to merge 2 commits intoSSheldon:masterfrom
Conversation
|
I need to read up more on the macro changes, but... I'm really surprised that the proper solution is to redefine all of the std macros in every crate!? |
|
This is if you want to remain compatible with old versions. You can just Note I'm not 100% here but it seems to be what others are doing. |
|
@SSheldon rust-lang/rust#55268 (comment) Seems the recommendation is to add a proxy macro on top of your macros that only calls internal macros that then can call std macros freely. |
|
(saw the link in the other issue) I think the idea is that this will only be required transitively - since you can update rust minor versions without breakage using 2015 edition, hopefully everyone will update and the |
|
Thank you for your work here and helping me understand the macro changes! :) At this point my plan is just to publish a version 0.3 of this crate which drops support for Rust 2015. I've merged #76 which switched the macros to use the |
|
This is still an issue. When exporting a macro that calls |
|
Thanks for the reminder @aloucks, sorry for any confusion my comment caused. The issue is fixed in master, but I have not yet published a new version. The next version is going to be 0.3, the first breaking change to objc in 3 years, so I'm taking things a little slow to make sure it puts this crate in a good position for another 3 years ;) |
Fixes #69. As far as I can tell the weird
__objc__*macros are needed as the rewrite to$crate::happens for all crates and there is no opt-out.