Thread overview
[Issue 2393] New: IFTI regression on (T:char)(T[]) vs (T:dchar)(T[])
Oct 04, 2008
d-bugmail
[Issue 2393] IFTI regression(D1 only) on (T:char)(T[]) vs (T:dchar)(T[])
Jan 25, 2010
Don
[Issue 2393] Regression(1.032, D1 only) IFTI on (T:char)(T[]) vs (T:dchar)(T[])
Aug 31, 2010
Don
Feb 01, 2012
Walter Bright
October 04, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2393

           Summary: IFTI regression on (T:char)(T[]) vs (T:dchar)(T[])
           Product: D
           Version: 1.033
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: business3@twistedpairgaming.com


The following code worked fine in 1.029, but is broken in 1.033 and 1.035 (no
other versions tested):

void fooA(T:char) (T chr) { }
void fooA(T:dchar)(T chr) { }

void fooB(T:char) (T[] str) { }
void fooB(T:dchar)(T[] str) { }

void main()
{
        // Ok in all versions
        fooA('c');

        // DMD 1.029: Ok
        // DMD 1.033 and 1.035: template main.fooB(T : char) fooB(T : char)
matches more than one function template declaration, fooB(T : char) and fooB(T
: dchar)
        fooB("str"c);
}


-- 

January 25, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=2393


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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug@yahoo.com.au
            Summary|IFTI regression on          |IFTI regression(D1 only) on
                   |(T:char)(T[]) vs            |(T:char)(T[]) vs
                   |(T:dchar)(T[])              |(T:dchar)(T[])


--- Comment #1 from Don <clugdbug@yahoo.com.au> 2010-01-25 01:28:25 PST ---
It worked on 1.030. For D2, it was fixed in 2.023.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
August 31, 2010
http://d.puremagic.com/issues/show_bug.cgi?id=2393


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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|IFTI regression(D1 only) on |Regression(1.032, D1 only)
                   |(T:char)(T[]) vs            |IFTI on (T:char)(T[]) vs
                   |(T:dchar)(T[])              |(T:dchar)(T[])


--- Comment #2 from Don <clugdbug@yahoo.com.au> 2010-08-31 02:29:56 PDT ---
This worked on 1.031, but fails on 1.032 and later.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 01, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=2393


Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla@digitalmars.com
         Resolution|                            |WONTFIX


--- Comment #3 from Walter Bright <bugzilla@digitalmars.com> 2012-01-31 19:11:10 PST ---
The way this was 'fixed' in D2 was to type string literals as dynamic arrays rather than static ones, along with various other string literal changes. Applying this fix to D1 breaks the test suite. I'm concerned that this would be a disruptive change to D1, rather than an improvement, which is not what we should be doing for D1 users.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------