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

--- Comment #6 from Mathias Lang <mathias.l...@sociomantic.com> ---
Should it only work on `static if` level ?

E.g. if you have:

```
void fun(T)(T obj)
{
    throw new Exception("No gun");
    obj.gun;
}
```

Should it have the same behaviour ?
If not, that should be fixable at the same time as issue 14835 (and has the
same prerequisites).

However, it's not trivial to implement either, e.g. consider the following
code:

```
void fun(T)(T obj)
{
    static if (!hasMember(T, "gun")) {
      if (bar)
         goto Label;
      throw new Exception("No gun");
    }
    // This would not be compiled in after the change, resulting in an
    // "undefined label 'Label'" error.
    Label: myFunc();
}
```

--

Reply via email to