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

[email protected] changed:

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

--- Comment #2 from [email protected] ---
> But static if(is( ... identifier)) is a kinda special case. That does 
> introduce a new symbol... and it is scoped to the body of the static if.

The underlying issue is that this is not true.

---
struct S{}
static if(is(S T)){ }
static assert(is(S==T)); // passes
---

I agree that it would make sense to scope `T` to the body of the `static if`.
The implementation would be pretty simple, it could just reuse the mechanism I
used to scope the loop variable within the body of `static foreach` (but this
is a breaking change).

--

Reply via email to