Yup, infinite loop.
On Sat, Aug 14, 2010 at 1:39 AM, Justin Johansson <[email protected]> wrote:
> Compiling the following with latest DMD D2 sends the compiler into an
> infinite loop. The culprit line seems to be the alias definition.
> Can someone else please confirm.
> Thanks Justin
>
>
>
>
> module test;
>
>
> class Base
> {
> Base foo();
> }
>
> class Foo: Base
> {
> static class Bar: Foo
> {
> Bar foo() {
> return this;
> }
> }
>
> Bar foo();
> }
>
> alias Foo.Bar FooBar;
>
>
> void main()
> {
> }
>
>
>
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'eVr'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'eWr'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'eXr'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'eYr'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'eZr'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e0r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e1r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e2r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e3r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e4r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e5r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e6r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e7r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e8r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e9r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'e_r'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'eaar'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'ebar'
> test.d(10): Error: class test.Foo is forward referenced when looking for
> 'ecar'
> ....
>