#const-fn #const #constant #expression #i32 #min #function

const-if

This crate adds if-else expression into your constant functions

4 releases

0.1.3 Jun 19, 2019
0.1.2 May 1, 2019
0.1.1 Apr 28, 2019
0.1.0 Apr 28, 2019

#14 in #const-fn

MIT license

6KB
114 lines

const-if

This crate adds if-elif-else expression into your constant functions

Why

Since if expression not implemented in current implementation of const-fn I decided to create this macro

Example

    const fn min(x: i32, y: i32) -> i32 {
        const_if!(x < y => x;y)
    }
    const fn int_to_str(i: i32) -> &'static str {
        const_if!(
            i == 0 => "Zero";
            elif i == 1 => "One";
            elif i == 2 => "Two";
            elif i == 3 => "Three";
            elif i == 4 => "Four";
            elif i == 5 => "Five";
            elif i == 6 => "Six";
            elif i == 7 => "Seven";
            elif i == 8 => "Eight";
            elif i == 9 => "Nine";
            elif i == 10 => "Ten";
            else "Unknown"
        )
    }

No runtime deps