www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - Wrong addres operator return

import std.stdio;

class a
{
	void f()
	{
		writefln(typeid(typeof(this)));
	}
}

class b:a
{
	void delegate() g()
	{
		return &(a.f);
	}
	void f()
	{
		writefln(typeid(typeof(this)));
	}
}

class c:b
{
	void f()
	{
		writefln(typeid(typeof(this)));
	}
}

int main(char[][] args)
{
	b v=new c;
	v.g()();
	return 0;
}


This program write "main.c" not "main.a"
Oct 06 2007