It would be neat to be able to use this on stable (once use_extern_macros is stabilized). Currently the following features are activated:
We still use Cargo's cargo-features = ["edition"] (EDIT: it's stabilized on nightly and beta RC1 now) with edition ="2018" which entails a couple of features. But all of these should be stabilized for Rust 2018 (EDIT: they are now).
It would be neat to be able to use this on stable (once
use_extern_macrosis stabilized). Currently the following features are activated:=> probably won't be stabilized, so this has been removed from this crate for now.#![feature(in_band_lifetimes)]: tracking issue, expected to be stabilized for Rust 2018. If not, we can easily remove the feature by changing one line of code.#![feature(proc_macro_span)]: used only for oneSpan::join()call. I think it's easy to removejoin()with something we can use on stable. => guarded bynightlyfeature (see Guard unstable proc_macro things behindnightlyfeature #26)#![feature(proc_macro_diagnostic)]: this is the big part! I don't think theDiagnosticsAPI will be stabilized in near future. So in order to compile on stable, we need to replace all nice diagnostics with simple panics. This shouldn't be too hard. => guarded bynightlyfeature (see Guard unstable proc_macro things behindnightlyfeature #26)We still use Cargo's(EDIT: it's stabilized on nightly and beta RC1 now) withcargo-features = ["edition"]edition ="2018"which entails a couple of features. But all of these should be stabilized for Rust 2018 (EDIT: they are now).extern crates(see (Modules) Tracking issue for(use) crate_name::paths withoutextern craterust-lang/rust#53128)# Tracking issue for(use) crate_name::paths withoutextern craterust-lang/rust#53128)-> replaced by# Tracking issue forcrateas a visibility modifier rust-lang/rust#53120) (TODO: this might not make it into Rust 2018, maybe switch topub(crate)for now?)pub(crate)# Tracking issue for Picking a Module Path System variant rust-lang/rust#53130)