On Monday, 21 October 2013 at 00:13:59 UTC, bearophile wrote:
Agustin:

Sorry i clicked the post button :(. The full code is:

I don't see your error with the following code, please give the code that gives the error, so we can fix the compiler bug:


public class Component {
////////////////////////////////////////////////////////////
      /// Component's unique id.
      private hash_t id;
      ....Assertion failure: 'thisval && thisval->op ==
TOKclassreference' on line 4067 in file 'interpret.c' when
compiling this.
////////////////////////////////////////////////////////////
      /// \brief Default constructor.
      ///
      /// \param[in] id   The id of the component
////////////////////////////////////////////////////////////
      public this(hash_t id) {
          this.id = id;
          this.active = true;
          this.validated = true;
      }

      ....
}

public class ComponentDetail(T) : Component {
////////////////////////////////////////////////////////////
      /// Component's ID as static member.
      public static hash_t ID = typeid(T).toHash;

////////////////////////////////////////////////////////////
      /// \brief Default constructor.
////////////////////////////////////////////////////////////
      public this() {
          super(ID);
      }
}

private class InputComponent : ComponentDetail!InputComponent {
}

void main() {
      auto pComponent = new InputComponent();

      writeln(pComponent.getId());
      writeln(InputComponent.ID);
}



Bye,
bearophile

The code is: http://pastebin.com/510YK2Se
Using (LDC 0.12.0-beta 1 Ubuntu): http://pastebin.com/2gAWnYyr
Using (DMD Windows): Assertion failure: 'thisval && thisval->op ==
TOKclassreference' on line 4067 in file 'interpret.c' when
compiling this.

Reply via email to