On Thursday, 5 July 2018 at 11:21:41 UTC, Alex wrote:
On Thursday, 5 July 2018 at 10:32:01 UTC, Timoses wrote:
    int fun(T)(T i)
    {
        static assert(is(typeof(return) == T)); //true
        pragma(msg, is(T == return)); // false
        static if (is(T ReturnType == return))
            pragma(msg, ReturnType); // does not enter
        return i;
    }
    unittest
    {
        fun(3);
    }

What's the purpose of 'is(T == return)' if not the above?

I always thought that "return" is a keyword.

https://dlang.org/spec/lex.html#keywords

And the fact, that you can ask the keyword about its type is just a nice feature... ;)

I think it refers to this section:
https://dlang.org/spec/expression.html#is_expression

I don't remember where I read this usage (think it was in a book), but I noted it down and now I wonder how it can be used.

Reply via email to