#const-fn #wrapping #gate #macro #feature

const-ft

Macro for wrapping const fn in a feature gate

3 releases

Uses old Rust 2015

0.1.2 Aug 20, 2018
0.1.1 Aug 20, 2018
0.1.0 Aug 19, 2018

#1355 in Rust patterns

24 downloads per month
Used in 2 crates (via vga-framebuffer)

Apache-2.0 OR MIT

10KB
137 lines

const-ft

Build Status Latest version Documentation Minimum rustc version License

A macro for easy generation and wrapping of a const function under a const_fn feature gate.

Installation:

 const-ft = { version =  "0.1" }

You can enable the feature by having a feature in the project enable the feature from the crate:

[features]
const = ["const-ft/const_fn"]

Usage:

const_ft! {
      pub fn some_function() -> usize {
         1usize
}

Requirement:

By using the macro, your code changes from

#![cfg_attr(feature = "const_fn", feature(const_fn))]

     #[cfg(feature = "const_fn")]
     pub const fn some_function() -> usize {
         1usize
     }
 
     #[cfg(not(feature = "const_fn"))]
     pub fn some_function() -> usize {
        1usize
     }

to

#![cfg_attr(feature = "const_fn", feature(const_fn))]

 #[macro_use]
 extern crate const_ft;

 const_ft! {
      pub fn some_function() -> usize {
         1usize
      }
 }

No runtime deps

Features