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

Dennis <[email protected]> changed:

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

--- Comment #2 from Dennis <[email protected]> ---
I don't think it should be an error.

> The second `is` expression should error because DIP1023 
> is not implemented so the result is always false.

It's not always false, it's only guaranteed to be false if `A` is an alias
template.

is-expressions are used in generic code and supposed to be lenient. Note that
this compiles as well: 

```
enum b = is(T);    // T is not defined
static assert(!b); // result is false, not an error
static assert(is(int)); // result is always true, not an error
```

Requiring an extra is-expression to check "am I not passing an alias template
to my actual is-expression?" is clumsy.

--

Reply via email to