www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 2393] New: IFTI regression on (T:char)(T[]) vs (T:dchar)(T[])

reply d-bugmail puremagic.com writes:
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);
}


-- 
Oct 04 2008
next sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 25 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Aug 31 2010
prev sibling parent d-bugmail puremagic.com writes:
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: -------
Jan 31 2012