[Issue 4960] New: dmd 2.049 rejects code containing templates with a uint as template parameter

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Sep 30 10:15:39 PDT 2010


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

           Summary: dmd 2.049 rejects code containing templates with a
                    uint as template parameter
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: CaptainSifff at web.de


--- Comment #0 from CaptainSifff at web.de 2010-09-30 10:15:22 PDT ---
Created an attachment (id=778)
the failing piece of code

Hi there the following code is rejected by dmd 2.049
With the help of some helpful people in the D IRC channel I inserted the
pragmas into the code to highlight that dmd seems to somehow mix these two
identical types up.

If compiled the output is:
../../dmd2/linux/bin/dmd -O ChargeChargeCorrelation_Paste.d
C29ChargeChargeCorrelation_Paste18__T9MeanfieldVxk1Z1U
C29ChargeChargeCorrelation_Paste17__T9MeanfieldVk1Z1U
ChargeChargeCorrelation_Paste.d(23): Error: cannot implicitly convert
expression (timeevolver) of type
ChargeChargeCorrelation_Paste.main.Meanfield!(dimension).U to
ChargeChargeCorrelation_Paste.Meanfield!(dim).U

The first two lines coming from the pragmas.
If the alias is put into the global namespace the example compiles.

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