Yup, infinite loop.<br><br><div class="gmail_quote">On Sat, Aug 14, 2010 at 1:39 AM, Justin Johansson <span dir="ltr">&lt;<a href="mailto:no@spam.com">no@spam.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Compiling the following with latest DMD D2 sends the compiler into an<br>
infinite loop.  The culprit line seems to be the alias definition.<br>
Can someone else please confirm.<br>
Thanks Justin<br>
<br>
<br>
<br>
<br>
module test;<br>
<br>
<br>
class Base<br>
{<br>
   Base foo();<br>
}<br>
<br>
class Foo: Base<br>
{<br>
   static class Bar: Foo<br>
   {<br>
      Bar foo() {<br>
         return this;<br>
      }<br>
   }<br>
<br>
   Bar foo();<br>
}<br>
<br>
alias Foo.Bar FooBar;<br>
<br>
<br>
void main()<br>
{<br>
}<br>
<br>
<br>
<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;eVr&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;eWr&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;eXr&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;eYr&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;eZr&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e0r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e1r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e2r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e3r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e4r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e5r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e6r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e7r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e8r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e9r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;e_r&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;eaar&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;ebar&#39;<br>
test.d(10): Error: class test.Foo is forward referenced when looking for &#39;ecar&#39;<br>
....<br>
</blockquote></div><br>