Skip to content

Compile on stable Rust 2018 #13

Closed
Closed
@LukasKalbertodt

Description

@LukasKalbertodt

It would be neat to be able to use this on stable (once use_extern_macros is stabilized). Currently the following features are activated:

  • #![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. => probably won't be stabilized, so this has been removed from this crate for now.
  • #![feature(proc_macro_span)]: used only for one Span::join() call. I think it's easy to remove join() with something we can use on stable. => guarded by nightly feature (see Guard unstable proc_macro things behind nightly feature #26)
  • #![feature(proc_macro_diagnostic)]: this is the big part! I don't think the Diagnostics 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 by nightly feature (see Guard unstable proc_macro things behind nightly feature #26)

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions