Closed
Description
It would be neat to be able to use this on stable (once use_extern_macros
is 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 bynightly
feature (see Guard unstable proc_macro things behindnightly
feature #26)#![feature(proc_macro_diagnostic)]
: this is the big part! I don't think theDiagnostics
API 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 bynightly
feature (see Guard unstable proc_macro things behindnightly
feature #26)
We still use Cargo's (EDIT: it's stabilized on nightly and beta RC1 now) with cargo-features = ["edition"]
edition ="2018"
which entails a couple of features. But all of these should be stabilized for Rust 2018 (EDIT: they are now).
- Implicit
extern crates
(see (Modules) Tracking issue for(use) crate_name::
paths withoutextern crate
rust-lang/rust#53128)#![feature(extern_prelude)]
(see (Modules) Tracking issue for(use) crate_name::
paths withoutextern crate
rust-lang/rust#53128)-> replaced by#![feature(crate_visibility_modifier)]
(see (Modules) Tracking issue forcrate
as a visibility modifier rust-lang/rust#53120) (TODO: this might not make it into Rust 2018, maybe switch topub(crate)
for now?)pub(crate)
#![feature(crate_in_paths)]
(see (Modules) Tracking issue for Picking a Module Path System variant rust-lang/rust#53130)
Activity
Mark-Simulacrum commentedon Jul 20, 2018
I would instead use the
compile_error
macro -- that'll give you slightly nicer error messages and it is already stable.LukasKalbertodt commentedon Jul 20, 2018
@Mark-Simulacrum Awesome idea! I'll certainly try that!
nightly
feature #26LukasKalbertodt commentedon Aug 30, 2018
I think we should release a new version before the official Rust 2018 release. So I removed the v0.3 milestone.
LukasKalbertodt commentedon Sep 21, 2018
With #31 this crate compiles on beta RC1. So we're on track for having this compile on stable Rust 2018. I guess we'll keep this issue open until the real Rust 2018 is released and we can be sure that all is fine.
EDIT: Also compiles with
rustc 1.31.0-beta.1 (2824a67b0 2018-10-29)
EDIT2: Also compiles with
rustc 1.31.0-beta.19 (42053f9f0 2018-11-26)
LukasKalbertodt commentedon Dec 6, 2018
Seems to work with Rust 2018 (1.31), so I'm gonna close this :)
Happy Rust2018!