[Issue 3867] pragma(msg) with a forward referenced enum member via an alias, templates, tuples, and CTFE

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Mar 2 12:08:59 PST 2010


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


Don <clugdbug at yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Complex bug with a forward  |pragma(msg) with a forward
                   |referenced enum member via  |referenced enum member via
                   |an alias, templates,        |an alias, templates,
                   |tuples, and CTFE            |tuples, and CTFE


--- Comment #4 from Don <clugdbug at yahoo.com.au> 2010-03-02 12:08:58 PST ---
Thanks, cutting it down helps ENORMOUSLY.
But it looks to me as though what you're seeing is just the compiler internals.
Constant folding of  "Inside: " ~ axisFilterLoop!(S)() 
can only happen AFTER axisFilterLoop has been instantiated. When you uncomment
the "Outside" pragma, you're forcing the compiler to use instantiate it.
Without it, it happens to use another order, where it tries to axisFilter1
first, then realizes it needs to do axisFilterLoop first. So it fails, *but it
outputs the pragma first*.

It didn't do this in 1.050, but did in 1.051. But it looks as though it only
affects pragma(msg), in which case it's a minor issue.

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