[Issue 3416] Non-compilable template instantiation in is(typeof()) fails compilation

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Oct 19 07:19:55 PDT 2009


http://d.puremagic.com/issues/show_bug.cgi?id=3416



--- Comment #7 from Don <clugdbug at yahoo.com.au> 2009-10-19 07:19:54 PDT ---
(In reply to comment #6)
> Ok, but there is no other way to determine if some syntactically correct code
> is also correct semantically. And without that, D's metaprogramming system is
> of little use.

I think you're overstating the problem. Certainly it's an annoyance. But in my
experience it is quite easy to work around it.

> Anyway, I'm not sure whether semantically incorrect code should produce a valid
> type, which void is. Should it?

Dunno. To avoid that, it would have to instantiate the body of every template,
recursively.

> And the current compiler seems to treat __traits(compiles, X) and is(typeof(X))
> identically...

THAT is definitely a bug.

> I think this bug should remain open until is(typeof(X)) is fixed or a
> different/better mechanism is introduced. And it is definitely a blocker.

A comment: 30% of the blockers in Bugzilla are from you. None of them have any
votes, not even from you. You might want to change that.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list