On Thursday, 10 March 2016 at 16:51:32 UTC, Andrea Fontana wrote:
On Thursday, 10 March 2016 at 16:20:42 UTC, Taylor Hillegeist wrote:
I feel like this should do what i want it too. but it doesn't.

struct Color_t {
        static if(1==1){
                import std.bitmanip:bitfields;
                immutable string item = bitfields!(             
                                uint, "R",    8,
                                uint, "G",   8,
                                uint, "B",    8,
                                uint, "A", 8);
        }
        mixin(item);
}

I wonder if compiler is smart enaugh to undestand that dependency is not needed at runtime in this case:

http://dpaste.dzfl.pl/fd3bc2a839a3

well the latest gdc isnt smart enough.

immutable(string) BF(){
        if(!__ctfe)
                assert(0);
        import std.bitmanip:bitfields;
        return bitfields!(              
                        uint, "R", 8,
                        uint, "G", 8,
                        uint, "B", 8,
                        uint, "A", 8);
}

struct Color_t {
        mixin(BF());
}

is a fair try as well. but neither work.

Reply via email to