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

--- Comment #0 from 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

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to