Thread overview
[Issue 11125] New: UFCS instantiation of template causes template constraint to be skipped
Sep 25, 2013
Andrej Mitrovic
Sep 26, 2013
Kenji Hara
Sep 26, 2013
Kenji Hara
Sep 27, 2013
Kenji Hara
September 25, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11125

           Summary: UFCS instantiation of template causes template
                    constraint to be skipped
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: andrej.mitrovich@gmail.com


--- Comment #0 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-09-25 12:55:29 PDT ---
-----
import std.traits;

template filter(alias predfun)
    if (is(ReturnType!predfun == bool))
{
    static assert(is(ReturnType!predfun == bool));
    auto filter(Range)(Range r) { }
}

void main()
{

    filter!((int a) => a + 1)([1]);  // fails in constraint
    [1].filter!((int a) => a + 1);   // fails internally in static assert!
}
-----

The bug seems to be fixed in 2.064 git-head, but I can't recall if I've seen it filed as a bug. Is this a duplicate? We should make sure this test-case gets added if the bug wasn't fixed on purpose.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 26, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11125


Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |diagnostic, pull


--- Comment #1 from Kenji Hara <k.hara.pg@gmail.com> 2013-09-25 19:50:48 PDT ---
(In reply to comment #0)
> The bug seems to be fixed in 2.064 git-head, but I can't recall if I've seen it filed as a bug. Is this a duplicate? We should make sure this test-case gets added if the bug wasn't fixed on purpose.

As far as I know, duplicated issue had not filed in bugzilla.

But, from bisecting, I found the bug was fixed in the PR. https://github.com/D-Programming-Language/dmd/pull/2337

In there, I had also intended *normalizing* the evaluation order of template instantiations. So I can say that the bugfix was _half_ intended.

To complete the fix, I opened a PR for adding a test case. https://github.com/D-Programming-Language/dmd/pull/2589

Thank you.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 26, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11125



--- Comment #2 from Kenji Hara <k.hara.pg@gmail.com> 2013-09-25 19:52:14 PDT ---
(In reply to comment #1)
> But, from bisecting, I found the bug was fixed in the PR. https://github.com/D-Programming-Language/dmd/pull/2337

Sorry I pasted incorrect URL. Correct is: https://github.com/D-Programming-Language/dmd/pull/1660

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 27, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11125



--- Comment #3 from github-bugzilla@puremagic.com 2013-09-26 22:23:49 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/818448500d7e015816b19f391985e1fb72947acc
fix Issue 11125 - UFCS instantiation of template causes template constraint to
be skipped

Additionally improve lambda formatting in error messages

https://github.com/D-Programming-Language/dmd/commit/5e692dac924ad485c0365a067f8a53790caebc6f Merge pull request #2589 from 9rnsr/fix11125

Issue 11125 - UFCS instantiation of template causes template constraint to be skipped

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
September 27, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11125


Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


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