https://issues.dlang.org/show_bug.cgi?id=2704

Max Samukha <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from Max Samukha <[email protected]> ---
Would that break tons of reflective code like this?

// any template extracting compile-time info
template hasAttr(alias symbol, alias attr) {
        import std.meta;
        enum _f(alias s) = __traits(isSame, s, attr);
        alias hasAttr = anySatisfy!(_f, __traits(getAttributes, symbol));
}

struct attr {
}

int main() {
        @attr int x;
        static assert(hasAttr!(x, attr)); // wouldn't work anymore
        return 0;
}

--

Reply via email to