Thread overview
[Issue 6574] Erroneous recursive call in template instantiation
Mar 20, 2014
Infiltrator
Mar 20, 2014
Andrej Mitrovic
Mar 20, 2014
Infiltrator
March 20, 2014
https://d.puremagic.com/issues/show_bug.cgi?id=6574


Infiltrator <lt.infiltrator@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lt.infiltrator@gmail.com


--- Comment #1 from Infiltrator <lt.infiltrator@gmail.com> 2014-03-19 20:18:16 PDT ---
As of v2.065, the provided code compiles and runs without errors.  Taking out the 'Foo!();' line causes a compilation warning about a size change but still seems to compile and run fine (though there probably is a bug there).

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 20, 2014
https://d.puremagic.com/issues/show_bug.cgi?id=6574



--- Comment #2 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2014-03-20 01:11:38 PDT ---
(In reply to comment #1)
> As of v2.065, the provided code compiles and runs without errors.  Taking out the 'Foo!();' line causes a compilation warning about a size change but still seems to compile and run fine (though there probably is a bug there).

The following runs forever for me with 2.065:

-----
import std.stdio;

enum Method
{
    A,
    B,
}

void Foo(Method method = Method.A)()
{
    write("dispatch, ");
    Foo!method();
}

void Foo(Method method : Method.A)()
{
    writeln("Foo A");
}

void Foo(Method method : Method.B)()
{
    writeln("Foo B");
}

void main()
{
    Foo();            // dispatch, Foo A
}
-----

I can't see any compilation warnings either.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
March 20, 2014
https://d.puremagic.com/issues/show_bug.cgi?id=6574



--- Comment #3 from Infiltrator <lt.infiltrator@gmail.com> 2014-03-20 05:54:44 PDT ---
That's very odd.  For me, the infloop only happens with my v2.062 gdc; my v2.065 dmd and dpaste's v2.065 both give the warning and output of "dispatch, Foo A".

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