[Issue 7425] New: IFTI does not work with inout methods

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Feb 2 09:55:32 PST 2012


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

           Summary: IFTI does not work with inout methods
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: kennytm at gmail.com


--- Comment #0 from kennytm at gmail.com 2012-02-02 09:55:30 PST ---
Test case:

------------------------------
struct S7425
{
    inout(int) g(T)(T x) inout
    {
        return x;
    }
    void test()
    {
        int f = g(2);  // line 9
    }
}
------------------------------

Compile with 'dmd -c test7425.d':

test7425.d(9): Error: template test7425.S7425.g(T) does not match any function
template declaration
test7425.d(9): Error: template test7425.S7425.g(T) cannot deduce template
function from argument types !()(int)

IFTI doesn't work when the method is 'inout'. It must be called as 'g!int(2)'.
It works if this parameter is not 'inout', even if other parameters are
'inout'.

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