www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Bug: Crash: nested interfaces

reply "JS" <js.mdnq gmail.com> writes:
module main;
import std.stdio, std.cstream;

interface A : A.B
{
	interface B { }
}

int main(string[] argv)
{
     return 0;
}


One can argue about the validity of the code, I tried it to 
created logical heirarchy of interfaces.

e.g., instead of interface Name : NameExtension; interface 
NameExtension; I wanted Name.Extension for NameExtension. This 
would make it easier logically nest interfaces(it would be better 
to not use "." though).

In any case, regardless, it causes dmd 2.062 to crash.
Jul 13 2013
parent reply "Damian" <damianday hotmail.co.uk> writes:
On Saturday, 13 July 2013 at 15:33:31 UTC, JS wrote:
 module main;
 import std.stdio, std.cstream;

 interface A : A.B
 {
 	interface B { }
 }

 int main(string[] argv)
 {
     return 0;
 }


 One can argue about the validity of the code, I tried it to 
 created logical heirarchy of interfaces.

 e.g., instead of interface Name : NameExtension; interface 
 NameExtension; I wanted Name.Extension for NameExtension. This 
 would make it easier logically nest interfaces(it would be 
 better to not use "." though).

 In any case, regardless, it causes dmd 2.062 to crash.

In Git head it no longer crashes instead a compilation error, Error: no property 'B' for type 'main.A'
Jul 13 2013
parent Timon Gehr <timon.gehr gmx.ch> writes:
On 07/13/2013 05:52 PM, Damian wrote:
 ...

 In Git head it no longer crashes instead a compilation error,
 Error: no property 'B' for type 'main.A'

I have reported this issue yesterday. http://d.puremagic.com/issues/show_bug.cgi?id=10616
Jul 13 2013