https://issues.dlang.org/show_bug.cgi?id=12496

--- Comment #3 from Mike <[email protected]> ---
A better example:

module test;

import std.stdio;

final abstract class T1 
{
  final abstract class C(uint value)
  {
    static uint getValue() 
    {
      return value;
    }
  }

  alias Child = C!2;
}

final abstract class T2
{
  final abstract class Child
  {
    static uint getValue() 
    {
      return 2;
    }
  }
}

void main()
{
  writeln(__traits(parent, T1.Child).stringof);   // this should be T1
  writeln(__traits(parent, T2.Child).stringof);   // this should be, and is, T2
}

--

Reply via email to