[Issue 4595] [tdpl] Accessing non-static member of a null reference compiles

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Sep 19 03:52:42 PDT 2013


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



--- Comment #15 from Andrej Mitrovic <andrej.mitrovich at gmail.com> 2013-09-19 03:52:35 PDT ---
(In reply to comment #14)
> - `is(typeof(exp))` tests that the exp has valid type or not. For type
> calculation, the code flow analysis and its validation result is just
> unnecessary.
> 
> - `__traits(compiles, exp)` tests the exact validness of `exp` at there. In
> other words, `__traits(compiles)` converts the error occurrence on the `exp`
> semantic analysis to the compile-time boolean value. In there, code flow
> analysis is enabled, and the errors will be counted normally.

Well that explains why sometimes is(typeof()) works where __traits(compiles)
doesn't.

But as far as I know none of this is properly documented, and it's probably why
people file bugs when a difference in behavior is found.

-- 
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