Summary: itfi fails to detect correct types in the face of
                    differing qualifiers
           Product: D
           Version: D2
          Platform: Other
        OS/Version: All
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD

--- Comment #0 from Brad Roberts <> 2010-08-07 12:54:15 PDT 
module test;

void main()
    int[] foos;

void func1(T)(const T[] foos)
    T afoo;
    func2(foos, afoo);

void func2(T)(const T[] foos, out T afoo)

$ dmd -c test.d
test.d(12): Error: template test.func2(T) does not match any function template
test.d(12): Error: template test.func2(T) cannot deduce template function from
argument types !()(const(int[]),int)
test.d(6): Error: template instance test.func1!(int) error instantiating

>From don, changing func2 to:

void func2(T, U)(const T[] foos, out U afoo)
   static assert(is(T==U));

Results in:
test0.d(212): Error: static assert  (is(const(int) == int)) is false
test0.d(207):        instantiated from here: func2!(const(int),int)
test0.d(201):        instantiated from here: func1!(int)

T should be "int" instead of "const(int)".

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

Reply via email to